Mac(m4v/h.264/AAC)で正常に再生される映画を持っていますが、Apple TV3では再生されないことが最近わかりました。このムービーファイルのプロパティを調べたところ、High @ 4.1というプロファイルがありますが、Apple TV3は[email protected]までしかサポートしていません。このビデオを互換性がない唯一のプロパティは最大ビデオビットレートであると思います。他のすべてのプロパティは[email protected]でサポートされているように見えます。
Ffmpegを使用してこのビデオを[email protected]にダウングレードするにはどうすればよいですか?
または、このビデオを4.0ではなく4.1にする実際のプロパティ(最大ビットレート)を変更する必要がありますか?ビットレートを変更しただけでは、ファイルは[email protected]と互換性がありますが、High @ 4.1としてタグ付けされているため、Appleで再生できないのではないかと心配です。 TV3。
libx264
でエンコードする場合、H.264プロファイルとレベルを次のように設定できます。
-profile:v
– high
、main
、またはbaseline
のいずれか(およびその他、ただしここでは関係ありません)-level:v
– H.264規格のAnnex Aで定義されているとおり(4.0
など)。例えば:
ffmpeg -i input.mp4 -c:v libx264 -profile:v high -level:v 4.0 -c:a copy output.mp4
影響を受けないため、ここではオーディオストリームをコピーしました。
出力のメタデータには、正しいプロファイルとレベルが設定されています。エンコード中にこれを確認できます。ここで、x264
は次のように言っています。
[libx264 @ 0x7fb26103a000] profile High, level 4.0
MediaInfo は、コンテナとコーデックの詳細の分析にも役立ちます。
もちろん、損失のある変換を再度適用する場合、ビデオを再エンコードするとある程度品質が低下します。 -crf
オプションを設定して、定数品質パラメーターに影響を与えてみてください。ここでのデフォルト値は23ですが、18から28までの値は正常と見なされます。低いほど品質が良いことを意味します。入力のビットレートが最大65,000 kBit/sである場合、変換後もかなり良好に表示される可能性があります。
コメント を参照して、次のコマンドを試してください:
ffmpeg -i input.mp4 -map 1 -c:v libx264 -profile:v high -level:v 4.0 -c:a copy \
# copies all global metadata from input.mp4 to output.mp4
-map_metadata 0 \
# copies video stream metadata from input.mp4 to output.mp4
-map_metadata:s:v 0:s:v \
# copies audio stream metadata from input.mp4 to output.mp4
-map_metadata:s:a 0:s:a \
output.mp4
乾杯
私は別の方法で(つまり、異なる入力形式で)読み取りましたが、x265からx264に再エンコードするときに "-movflags use_metadata_flag"を使用しましたが、うまくいきました!