39

ビデオファイルがあります。MediaInfo ユーティリティで開くと、属性 Rotation 90 (CodecID、ビットレートなどの他の属性とともに) を持つこのファイルのビデオ ストリームが表示されます。

今、その属性 Rotation 90 を持たない別のビデオ ファイルがあります。Rotation 属性がまったくありません。

ffmpeg.exe を使用して、Rotation 90 属性が追加され、その他の変更がない出力ファイルを生成することはできますか? 回転属性を設定したいだけです。

私は-metadata役に立たないオプションを試しました。

4

1 に答える 1

86

これは最近の FFmpeg で動作します:

ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4

これにより、ビットストリームがストリーム コピーされるため、エンコードは実行されません。ここでは、最初のビデオ ストリーム ( v:0) のメタデータのみが変更され、プレーヤーはビデオを回転して表示します。(すべてのプレイヤーがこれをサポートするわけではありません。)

その他の注意事項:

  • ビデオを「物理的に」回転させたい場合は、フィルターを使用するtranspose必要があります。フィルタリングには再エンコードが必要になるため、 を削除する必要があります-c copy

  • を省略-c copyし、再多重化だけでなくエンコードするffmpeg場合は、既存の回転メタデータがあればビデオを自動的に回転させます。でこの動作を無効にすることができます-noautorotate

于 2013-03-11T10:44:01.303 に答える