1

サーバー上に mp4 ファイルを作成するために ffmpeg を使用しています。また、qt fast start を使用して、moov アトムを前面に移動してストリーミングできるようにしようとしています。運がないので、インターネット全体を検索しました。ビデオ/オーディオを mp4 バッファ タイプのファイルに入れて、ffmpeg がまだビデオとオーディオ データをストリームにダンプしている間に再生できるようにすることはできますか? ポイントは、カメラからストリーミングしようとしていて、Androidが恐ろしいことです... iOSとAndroidの両方がmp4をサポートしていることを知っているので、rtsp Mp4を作成できる方法を見つけようとしていました。

話の要点: mp4 コンテナーにカメラ フィードを継続的にフィードし、クライアントが視聴できるファイル os を再生できるようにしたい。

助けていただければ幸いです。

4

1 に答える 1

1

ライブ ストリームを公開し、ストリームが終了したら、プログレッシブ ダウンロードを公開できます。

FFmpeg では、ライブ ストリーミングを行い、そのストリームの複製を 2 回エンコードせずに同時にファイルに保存するには、Tee 疑似ミキサーを使用できます。このようなもの:

ffmpeg \
  -i <input-stream> \
  -f tee "[movflags=+faststart]output.mp4|http://<ffserver>/<feed_name>"

更新:断片化された mp4を直接ストリーミングしようとする場合があります。

更新 2:

  • 断片化された mp4 を作成します。

    ffmpeg -i input -frag_duration 1000 stream.mp4
    
  • 通常、Web サーバーを使用してファイルを提供する場合、ファイル サイズを知りたがります。そのため、サイズを知らずにファイルを提供するには、Chunked Transfer Encodingを実行するように Web サーバーを構成する必要があります。

于 2014-02-26T23:18:26.147 に答える