ビデオファイルがあります。 MediaInfoユーティリティで開き、Rotation 90属性(CodecID、ビットレートなどの他の属性と共に)を持つビデオストリームをこのファイルで確認できます。
これで、Rotation 90属性を持たない別のビデオファイルができました。Rotation属性はまったくありません。
Ffmpeg.exeを使用して、Rotation 90属性が追加された、その他の変更のない出力ファイルを生成できますか?実際には変換はしたくありません。回転属性を設定したいだけです。
-metadata
オプションを試してみたが、役に立たなかった。
これは最近のFFmpegで動作します:
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4
ストリームコピー ビットストリームになるため、エンコードは実行されません。最初のビデオストリーム(v:0
)のメタデータのみがここで変更され、プレーヤーは回転された方法でビデオを表示します。 (すべてのプレーヤーがこれをサポートするわけではありません。)
その他の注意事項:
ビデオを「物理的に」回転したい場合は、 transpose
フィルターを使用 する必要があります。フィルタリングには再エンコードが必要になるため、-c copy
を削除する必要があります。
-c copy
を省略し、再多重化だけでなくエンコードする場合、既存の回転メタデータがある場合、ffmpeg
は自動的にビデオを回転します。この動作は-noautorotate
で無効にできます。