web-dev-qa-db-ja.com

mp4とmpegtsの違いは何ですか?

最近、ファイル形式をmp4に変換してストリーミングするタスクがありました。トランスコーディングツールとしてffmpegを使用しました。 MP4ファイルはhttpプロトコルを介してストリーミングされません[php cgi wrapperを使用しました]が、その後、出力フォーマットが変更され、ストリーミングが発生して正常に動作するように変換されます。ネットでのクイック検索 http://wiki.videolan.org/MPEG は、mp4を使用してmp4ファイルをストリーミングすることを推奨しています。これらの2つの形式、それらの利点と違いについて、もっと洞察が必要です。

ありがとう、ピーター

17
vinit sharma

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

MPEG-TSは、映画や曲の長さ、および求められるポイントに関する情報を提供しないため、ファイルのストリーミングには適していません。

HTTP経由のストリーミングにMPEG-TSを使用できる新しいプロトコルがいくつかあります。これにより、追加のメタデータがファイルに追加され、前に説明した欠点が修正されます。これらは、HTTPライブストリーミングとDASH(HTTPを介したダイナミックアダプティブストリーミング)です。

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

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

ここでは、疑似ストリーミングに関する詳細情報を確認できます。

41
Yavor Atov

MP4ファイルを並べ替えて、次のFFMPEGコマンドを使用してmoovセクションを先頭に配置できます。

ffmpeg -i your.mp4 -vcodec copy -acodec copy -movflags + faststart reordered.mp4

9
Hudson Tavares

.mp4はファイルの拡張子で、トランスポートストリームにはmpeg tsが使用されます。基本的に2つのタイプのts sptsとmpts sptsには単一のプログラムのみが含まれますが、mptsには複数のプログラムが含まれます。 tsリーダーとvlcメディアプレーヤーを使用してmpeg tsを再生します。詳細については、以下を参照してください MPEG TS OR TRANSPORT STREAM MPTS SPTS

トランスポートストリームファイルの拡張子は.tsです。

0
Ujjwal Swami