Mini Netflix(Java + Spring)によるミニストリーミングプラットフォーム
概要
このリポジトリは「Mini Netflix」と名付けられた、Java + Spring Boot で構築された小規模なストリーミングプラットフォームです。ユーザーはブラウザから動画をmultipart/form-dataでアップロードし、サーバーはファイルシステム(デフォルトは uploads フォルダ)に動画を保存、メタデータをH2(インメモリ)に記録します。カタログはJSONで提供され、シンプルなUIからHTML5の
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 7
- ファイル数: 3
- メインの言語: Java
主な特徴
- ブラウザからの動画アップロード(multipart/form-data)をサポート
- ファイルをローカルに保存し、メタデータはH2に保持
- カタログのJSON出力とシンプルなUIでの再生(
- Rangeリクエスト対応によるストリーミングとダウンロード用エンドポイント
技術的なポイント
このプロジェクトは学習用としてとても典型的なアーキテクチャを採用しています。バックエンドはSpring Bootで構築され、コントローラーがアップロード、一覧取得、ストリーミング(Range対応)、ダウンロードをハンドルする実装が想定されます。動画アップロードはMultipartFileを受け取り、サーバーのuploadsフォルダへ保存。保存後に動画のメタデータ(ファイル名・パス・サイズ・MIMEなど)をH2データベースにエンティティとして保存します。H2は組み込み・メモリモードで動作するため、開発やデモ用途での起動が速く、永続化よりも手軽さを優先しています。
動画配信側ではRangeリクエスト(HTTPヘッダのRange)を解析し、部分的なバイトレンジでレスポンスを返す実装がポイントです。これによりHTML5の
開発環境はJDK17+、Mavenで管理され、VS CodeのJava拡張を推奨。シンプルなUIは静的リソース(HTML/JS/CSS)で実装されており、APIから取得したJSONを元にカタログを描画、選択した動画を
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- mini-netflix: dir
(mini-netflix 配下には典型的に Spring Boot のソース、resources、静的ファイルが含まれることが想定されます。コントローラ、サービス、エンティティ、リポジトリ、application.properties などが配置される構成です。)
使い方(抜粋)
- 前提:Java 17+, Maven 3.6+
- 実行:mvn clean spring-boot:run またはパッケージして java -jar
- 動作後、ブラウザでUIへアクセスし、動画をアップロード・一覧表示・再生・ダウンロードが可能
まとめ
シンプルで理解しやすく、ストリーミングの基本が学べる良いサンプルプロジェクト。
リポジトリ情報:
- 名前: Plataforma-de-Streaming-mini-Netflix-Java-Spring
- 説明: Mini Netflix é uma plataforma de streaming minimalista em Java + Spring, permitindo upload, catalogação e reprodução de vídeos via navegador. Armazena metadados em H2 e arquivos localmente, oferecendo visualização, download e player integrado em uma interface simples e funcional.
- スター数: 1
- 言語: Java
- URL: https://github.com/Bypaulohx/Plataforma-de-Streaming-mini-Netflix-Java-Spring
- オーナー: Bypaulohx
- アバター: https://avatars.githubusercontent.com/u/170593863?v=4