ffmpeg を使用して回転メタデータを .ts ファイルに追加する機能はないようです。再エンコードのみが機能します。
入力ファイルの回転値は 90 です
。端末コマンド:
./ffmpeg -i 入力ファイル.mp4
メタデータ:
入力 #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input_file.mp4':
メタデータ:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2013-08-27 21:25:13
Duration: 00: 00:21.33、開始: 0.000000、ビットレート: 16820 kb/s
ストリーム #0:0(eng): ビデオ: h264 (High) (avc1 / 0x31637661)、yuv420p、1920x1080、17011 kb/s、30 fps、30 tbr、 90k tbn、180k tbc
メタデータ:
回転: 90
creation_time: 2013-08-27 21:25:13
handler_name: VideoHandle
ストリーム #0:1(eng): オーディオ: aac (mp4a / 0x6134706D)、48000 Hz、ステレオ、fltp、 121 kbps
メタデータ:
creation_time: 2013-08-27 21:25:13
handler_name: サウンドハンドル
次の試行では、コピーする回転値を取得できませんでした:
./ffmpeg -y -i 入力ファイル.mp4 -vcodec コピー -acodec コピー -bsf h264_mp4toannexb 出力ファイル.ts
./ffmpeg -y -i 入力ファイル.mp4 -vcodec コピー -acodec コピー -bsf h264_mp4toannexb -メタデータ ローテーション=90 出力ファイル.ts
/ /----- 最初のビデオ ストリームとしてメタデータを手動で指定しても機能しません: ------//
./ffmpeg -y -i input_file.mp4 -vcodec copy -acodec copy -bsf h264_mp4toannexb -metadata :s:v:0 回転=90 output_file.ts
次のようなメタデータを手動で挿入できますが、
./ffmpeg -y -i input_file.mp4 -vcodec copy -acodec copy -bsf h264_mp4toannexb -metadata TITLE='Test Title' output_file.ts
これは機能しますが、再エンコードが必要です。これは、上記のビデオおよびオーディオ コーデックのコピーに比べて非常に非効率的です。
(1 == 時計回りに 90 度回転)
./ffmpeg -y -i input_file.mp4 -vf "transpose=1" output_file.ts