Saya ingin menggunakan ffmpeg untuk menyalin semua data meta yang tidak terkait dengan aspek inti video (frame rate, resolusi) dari satu video ke video lainnya. Apakah ada cara sederhana untuk melakukan ini dengan satu perintah?
17
Gunakan -map_metadata
.
Dalam contoh ini metadata global dan aliran akan disalin dari in0.mkv
. Streaming video dan audio akan disalin dari 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
Ini akan menghasilkan sesuatu seperti:
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
Secara default metadata global disalin dari file input pertama, jadi -map_metadata 0
mungkin bisa dihilangkan.
-movflags use_metadata_tags
atau video output tidak akan mengandung metadata.Jika yang Anda butuhkan adalah dasar-dasarnya (tanggal pembuatan, dll.), Lalu sentuh -r FILE1 FILE2 Akan berfungsi sebagai metadata penanggulangan pesona dari FILE1 hingga FILE2
sumber