ffmpegを使用してメタデータをあるファイルから別のファイルにコピーする


17

ffmpegを使用して、ビデオのコアアスペクト(フレームレート、解像度)に関連付けられていないすべてのメタデータを1つのビデオから別のビデオにコピーしたい。単一のコマンドでこれを行う簡単な方法はありますか?

回答:


19

を使用し-map_metadataます。

この例では、グローバルメタデータとストリームメタデータがからコピーされin0.mkvます。ビデオおよびオーディオストリームは、in1.mkv次からコピーされます。

ffmpeg -i in0.mkv -i in1.mkv -map 1 -c copy \
# copies all global metadata from in0.mkv to out.mkv  
-map_metadata 0 \
# copies video stream metadata from in0.mkv to out.mkv
-map_metadata:s:v 0:s:v \
# copies audio stream metadata from in0.mkv to out.mkv
-map_metadata:s:a 0:s:a \
out.mkv

これにより、次のような結果になります。

Output #0, matroska, to 'out.mkv':
  Metadata:
    title           : Global Title
    AUTHOR          : Global Author
    Stream #0:0: Video: h264
    Metadata:
      title           : Stream 0 Title
    Stream #0:1: Audio: vorbis
    Metadata:
      title           : Stream 1 Title

デフォルトでは、グローバルメタデータは最初の入力ファイルからコピーされるため、-map_metadata 0おそらく省略できます。


1
ソースビデオが.movファイルの場合、フラグも追加する必要-movflags use_metadata_tagsがあります。そうしないと、出力ビデオにメタデータが含まれなくなります。
マスターガレン

-3

必要なのが基本(作成日など)だけである場合は、-r FILE1 FILE2をタッチします。FILE1からFILE2へのチャームコピーメタデータとして機能します。


質問を読んだ場合、目的はファイルのメタデータではなく、ビデオのメタデータです。
fixer1234
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.