22

最近、ファイル形式を mp4 に変換してストリーミングする作業がありました。トランスコードツールとして ffmpeg を使用しました。MP4 ファイルは http プロトコル経由でストリーミングされません [ph​​p cgi ラッパーを使用しました] が、出力形式が mpegts に変更され、ストリーミングが発生し、正常に動作します。ネットhttp://wiki.videolan.org/MPEGでのクイック検索は 関連しており、mp4 ファイルのストリーミングに mpegts を使用するようアドバイスしています。これら 2 つの形式、それぞれの利点と違いについて、さらに洞察が必要です。

ありがとう、ピーター

4

3 に答える 3

50

MPEG-TS は、DVB、UDP マルチキャスト、および HTTP を介したイベントのライブ ストリーミング用に設計されています。ストリームを小さなチャンクに分割されたエレメンタリ ストリームに分割します。システム情報は定期的に送信されるため、レシーバーはいつでもストリームの再生を開始できます。

MPEG-TS はストリーミング ファイルには適していません。ムービーや曲の長さに関する情報や、シークできるポイントに関する情報が提供されないためです。

HTTP 経由のストリーミングに MPEG-TS を使用できる新しいプロトコルがいくつかあります。これは、追加のメタデータをファイルに入れ、前に話した欠点を修正します。これらは、HTTP ライブ ストリーミングと DASH (Dynamic Adaptive Streaming over HTTP) です。

一方、MP4 では、moov アトムと呼ばれるストリームの一部にその情報が含まれています。ポイントは、moov をメディア コンテンツの前に配置し、最初にサーバーからダウンロードする必要があることです。これにより、ビデオ プレーヤーは再生時間を認識し、ファイル全体をダウンロードせずに任意のポイントをシークできます (これは HTTP 疑似ストリーミングと呼ばれます)。

悲しいことに、ffmpeg は moov をファイルの最後に配置します。Xmoov-PHP などのソフトウェアで修正できます。

疑似ストリーミングの詳細については、こちらを参照してください。

于 2012-08-03T09:23:47.593 に答える