1つのビデオファイル形式とコーデックのサポートを追加する必要がある場合、どちらを選択しますか?

StackOverflow https://stackoverflow.com/questions/305773

質問

アプリケーションでビデオファイルの読み取りと書き込みのサポートを追加したいと考えています。大部分のユーザーを満足させるファイル形式とコーデックの組み合わせを1つだけ選択する必要がある場合は、次のいずれかを選択します。

1)MPEG-4 / H.264(.mp4) 2)AVI / DiVX(.avi) 3)Ogg / Theora(.ogg) 4)Windows Media Video(.wmv)

MPEG-4 / H.264がLinux、Mac OS X、Flashプレーヤー、iPod、Playstation 3、XBox360でサポートされており、Microsoft SilverlightとWindows Media Playerでサポートが提供されていることを考えると、 12。

何か不足していますか?選択できるものはありますか?

役に立ちましたか?

解決

これは、アプリケーションが何をしているかによって異なります。ビデオキャプチャカードから記録されたビデオを処理する場合は、おそらくmpeg2が埋め込まれた.mpgファイルを読み取ることができる必要があります。多数のビデオが.aviまたは.wmvコンテナを使用しています。 Microsoftは.wmvを推進していますが、無料ツールの中で.aviのサポートがはるかに優れています。 Windowsで.mp4コンテナをサポートするツールは多くありません(Macはおそらく異なるでしょう)。 H.264、mpeg2、およびmpeg4は私のお気に入りのコーデックです。 H.264は品質/ビットレートが優れていますが、正確かつ高速なシークを困難にし、CPUを集中的に使用します。 mpeg4は、品質/ビットレートの点ではh.264とほぼ同等ですが、CPUにそれほど負荷がかかりません。 mpeg2は同じ品質を実現するためにさらに多くのビットを必要としますが、ほとんどどこでもサポートされており、それらのファイルをデコードおよびシークするのは本当に簡単です。

LGPLコードを使用しても構わない場合は、 ffmpeg のlibavcodecを参照することをお勧めします。およびlibavformat。すべてのプラットフォームで言及したことをすべて実行できます(Ogg& Theoraについてはわかりませんが、使用していません)。

他のヒント

最初の選択肢は私の選択だと思います。ほとんどのアプリケーションはこの形式を読み取ることができ、柔軟性が低いと思います。

私が正しい場合、AVI / DIVXファイルには実際に異なるタイプのメディアを含めることができます。wmvについても同じことが言えます。これにより、すべてのエンコーディングをサポートする必要があるため、これらの形式を使用することが難しくなります。

まず、あなたのビデオにも音がありますか?はいの場合は、mp3を使用します。

今、ビデオコーデックとビデオコンテナを検討します。さまざまな理由でオプション3と4を検討すべきではないと思います。 Theoraは本当に人気がなく(まだtheoraのビデオに出会ったことはありません)、WMVはMicrosoftのテクノロジーであるため、選択肢は少し限られています。

今、最初の2つについて:AviコンテナでDivX(Mpeg4パート2)ビデオを使用します。ほとんどのコンピューターと多くのDVDがそのようなビデオを再生できるため、非常に人気があります。また、優れたオープンソースのDIVXコーデックであるXVIDもあります。最後に、DIVXはエンコードとデコードの両方でH.264よりもはるかに少ないリソースを必要とします。エンコードパラメーターによっては、リアルタイムH.264エンコードがサポートされていない場合があるため、最後のものが重要です。

多くのプラットフォームでのAVI / DIVXのサポートの欠如は、オープンソースツールを使用して任意の形式にトランスコードすることが非常に簡単であるため、問題ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top