メディア ソース拡張 API を使用してH.264コンテンツをHTML5にライブ ストリーミングしようとしています。
次の方法は非常にうまく機能します。
ffmpeg -i rtsp://10.50.1.29/media/video1 -vcodec copy -f mp4 -reset_timestamps 1 -movflags frag_keyframe+empty_moov -loglevel quiet out.mp4
その後:
mp4box -dash 1000 -frag 1000 -frag-rap out.mp4
MP4Boxの出力 ( )を取得し、out_dashinit.mp4
それを Web ソケット経由でチャンクごとに JavaScript クライアントに送信し、メディア ソース API にフィードします。
ただし、これはライブ コンテンツには適していません。
私が今やろうとしているのは、リアルタイムで最小限の待ち時間でそれを行うために単一のパイプラインを作成することです。FFmpeg を使用すると、stdout
代わりに出力をリダイレクトしout.mp4
てコンテンツを取得することができます。MP4Box をパイプラインに組み込むことが可能かどうかはわかりませんでした。
- MP4Box は、ファイル以外のソースから入力データを取得できますか?
- MP4Box は、そのようなコンテンツを (ファイルまたはその他のソースから) リアルタイムで取得しながら徐々に取得できますか? つまり、ストリームが 1 秒間停止すると、少し待ってから自動的に再開します。
- 同じ質問ですが、出力について: ファイルではないもの ( など
stdout
) に出力できますか? また、出力データの準備ができたらいつでもそれを取得して Web クライアントに転送できるように、徐々に出力できますか?基本的に、終わりのない破線の MP4 を生成します。