2

iPhone4s に記録された .mp4 ビデオがあります。このビデオ ファイルには、'Rotate - 180' メタデータが含まれています。

ffmpeg を使用して .mp4 ファイルを .ts に変換するとき。「Rotate」メタ タグを紛失しました。

私が使用したffmpegコマンドを以下に示します。

ffmpeg -i input_file.mp4 -vcodec コピー -acodec コピー -vbsf h264_mp4toannexb output_file.ts

「Rotate」メタデータを .ts ファイルに設定する方法を知っている人はいますか?

また

入力 .mp4 ファイルのすべてのメタデータを出力 .ts ファイルにコピーする他の方法

ありがとうございました

4

1 に答える 1

3

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

于 2013-09-23T13:31:56.863 に答える