Youtubeからストリーミングするときのffmpeg "-pix_fmt yuv420p"オプション

Youtubeからストリーミングするときのffmpeg

公式チュートリアルhttps://trac.ffmpeg.org/wiki/StreamingGuideこの-pix_fmt yuv420pオプションを使用してください。

私もこれを使ってチュートリアルからコピーし、FFmpegからYoutubeにストリーミングするのが私に役立ちました。しかし、その目的が何であるか、特にYouTubeに必要なオプションなのか、それとも良いオプションがあるのか​​は不明です。

このトピックに関するYouTubeの記事では、このコンテンツを扱っていないようですが、次のコンテンツがどこにあるのかわかりません。https://support.google.com/youtube/answer/1722171?hl=ja

これに関する正確な文書を知っている人はいますか?

ベストアンサー1

YUV420は、クロマサブサンプリングを使用して画像を表現するために必要なデータ量を減らす色空間です。クロマサブサンプリングは、輝度(明るさ)情報よりも色差(色相)情報の解像度を下げて画像をエンコードする方法です。これは、人間の視覚システムが明るさの差よりも色の差に敏感でないという事実を利用する。したがって、YUV420は、クロマサブサンプリングを使用しない形式よりも画像を表現するのに必要なデータが少ないため、省スペース形式と見なすことができます。

ストリーミング中の使用に関する質問に関する-pix_fmt yuv420p一般的な回答とYouTube関連の回答を見つけました。

私の質問にリンクされているFFmpegストリーミングガイド(https://trac.ffmpeg.org/wiki/StreamingGuide)次の方法でH.264コーデックを使用してください-vcodec libx264。 YouTubeの公式おすすめでもおすすめのコーデックでもあります。https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cvideo-codec-h)。

YouTubeに対する具体的な回答は、ドキュメントのこの文にあります。:

「クロマサブサンプリング:4:2:0」。

-pix_fmt yuv420pこれはオプションと正確に一致します。

一般的な回答は、H.264 の FFmpeg ドキュメントにあります。https://trac.ffmpeg.org/wiki/Encode/H.264。ページの下部には次の内容があります。

QuickTimeと他のほとんどのプレーヤーで出力が機能するようにするには-vf format=yuv420p(またはエイリアス)を使用する必要があります。-pix_fmt yuv420pこのプレーヤーは、H.264ビデオのYUVフラットカラースペースと4:2:0クロマサブサンプリングのみをサポートします。それ以外の場合、ソースによっては、ffmpeg出力がこれらのプレーヤーと互換性のないピクセル形式である可能性があります。

おすすめ記事