VLC media playerを使ったストリーミング配信と受信、ffmpegによる動画保存


はじめに

  • ここでは、以下の3点についてまとめています。

    • VLC media playerを使った動画のRTSP形式でのストリーミング配信
    • VLC media playerを使ったストリーミング配信の受信
    • ffmpegによる動画の保存方法

VLC media player にてRTSP形式のストリーミング配信+受信

ストリーミング配信

1.「メディア」→「ストリーム」をクリック

2.再生したい動画ファイルを追加し、「ストリーム再生」をクリック

3.「次へ」をクリック

4.新しい出力先から「RTSP」を選択し、「追加」をクリック

5.特に指定のない場合は「次へ」をクリック

6.「次へ」をクリック

※「トランスコーディングを有効にする」のチェックはどちらでも可)

7.「ストリーム」をクリックするとストリーミング配信される

ストリーミング受信

1.「メディア」→「ネットワークストリームを開く」をクリック

2.ネットワークURLを入力し、「再生」をクリック

  • 今回はRTSPでのストリーミング配信のため、「rtsp://~」とする。
  • ローカルでの配信のため、IPアドレスは「127.0.0.1」もしくは「localhost」とする。
  • ポート番号は、配信時に設定したものとする。

3.ストリーミング配信を受信

ffmpegを実行してストリーミング配信を保存

例として以下のコマンドを実行すると、対象フォルダに60秒刻みでmp4ファイルが保存される。

ffmpeg -i "rtsp://127.0.0.1:8554/" -f segment -segment_time "60" -segment_format_options movflags=+faststart -reset_timestamps "1" -strftime "1" d:\temp\sample_%Y-%m-%d_%H-%M-%S.mp4

※コマンド解説

  • -i "rtsp://127.0.0.1:8554/" :入力ファイル(URLも可)
  • -f segment:出力フォーマットをsegment
  • -segment_time "60" :セグメントを60秒
  • -segment_format_options movflags=+faststart :読み込みから再生開始を早める
  • -reset_timestamps "1":タイムスタンプを初期化
  • -strftime "1" :各セグメント名にstrftime の書式(%Y%m%d%H%M%S)を用いる
  • d:\temp\sample_%Y-%m-%d_%H-%M-%S.mp4:ファイルの保存先