Skip to content

Latest commit

 

History

History
73 lines (49 loc) · 2.79 KB

File metadata and controls

73 lines (49 loc) · 2.79 KB

HLSストリーミング用スクリプトの使い方と動作説明

スクリプトの用途

このスクリプトは、MP4形式の動画ファイルから、複数の解像度・ビットレートを持つHLS(HTTP Live Streaming)形式の動画ストリームを生成し、簡易なHTTPサーバーを起動して配信を行います。


利用前の準備

スクリプトを実行するために以下のツールが必要です。

  • bash(シェル)
  • ffmpeg(動画エンコード用)
  • python3(簡易HTTPサーバー用)

インストール例(Ubuntu/Debian):

sudo apt update
sudo apt install ffmpeg python3

実行方法

基本的な使い方(デフォルトポート:8080)

./python-hlsserver.bash

任意のポート番号を指定する場合(例:8000番ポート)

./python-hlsserver.bash 8000

各種設定項目の説明

項目 内容 デフォルト値
INPUT_FILE 入力となる動画ファイル名 test.mp4
OUTPUT_DIR HLS形式ファイルを保存する出力ディレクトリ 入力ファイル名+_hls
PORT 配信に使用するHTTPサーバーのポート番号 8080
HLS_PREFIX マスタープレイリストに記載される各ストリームのURL http://10.0.0.1:${PORT}

スクリプトの動作詳細(ステップ別)

1. 入力ファイルの指定と出力フォルダの作成

  • 入力動画ファイル名から拡張子を除いた名前を使用して、出力フォルダを作成します。
  • 既にフォルダが存在している場合は、動画変換処理をスキップして既存のフォルダを使用します。

2. HLS用の動画ファイル生成(複数解像度)

  • 以下の4種類の解像度とビットレートの動画ストリームを生成します。

    • 1280x720(3000 kbps)
    • 854x480(1500 kbps)
    • 640x360(800 kbps)
    • 426x240(400 kbps)
  • 動画をffmpegで変換し、それぞれの解像度に対応したHLS用.m3u8ファイルと.tsセグメントファイルを生成します。

3. マスタープレイリスト(master.m3u8)の作成

  • 各解像度で生成したストリームをまとめるマスタープレイリストを生成します。
  • クライアント側ではこのプレイリストを参照して、適切な解像度を選択できます。

4. HTTPサーバーの起動

  • Pythonの簡易HTTPサーバーを指定されたポート番号で起動し、HLSファイルを配信します。