Bagaimana saya bisa menghapus semua metadata dari semua format melalui FFmpeg?
Saya hanya dapat mengatur metadata khusus untuk setiap format per man ffmpeg . Adakah opsi atau metode untuk menghapus semua metadata dan menghapus media dari semua metadata yang tersedia di ffmpeg?
-metadata key=value
Set a metadata key/value pair.
For example, for setting the title in the output file:
ffmpeg -i in.avi -metadata title="my title" out.flv
mov
ataump4
file, tanggal pembuatan adalah bidang bilangan bulat di header film dan header lagu (dinyatakan sebagai detik sejak 1904). Meskipun Anda bisa mengaturnya ke 0 atau nilai tetap lainnya, tidak ada cara untuk menghapusnya dan masih memiliki filemov
atau validmp4
.-metadata creation_time=2012-12-17T21:30:00
(UTC).-metadata title="Some Value"
. Atau, untuk sebuah file, seperti ini untuk file MP4:ffmpeg -i "$file" -map_metadata -1 -c copy -metadata title="$file" "${file%%*.mp4}-new.mp4
Solusi saya untuk menghapus metadata, bab, untuk mengubah waktu dan judul pembuatan. Dengan cara ini setiap metacontent harus berbeda dari file asli:
sumber
CATATAN: Saya telah memperbarui
ffmpeg
(sebelumnya saya memiliki versi usang dariavconv
repositori Ubuntu).Sekarang @ slhck
-map_metadata -1
berfungsi dengan baik.Saya merekomendasikan solusi @ slhck karena kurang mengetik dan terbaru. Saya meninggalkan ini di sini untuk siapa saja yang menggunakan versi lama.
Cara termudah untuk melakukan ini adalah mengatur
-map_metadata
untuk menggunakan salah satu aliran input, daripada menggunakan metadata global. 99% dari waktu ini seharusnya bekerja. CATATAN: Saya menggunakan avconv, karena itu ada di repositori Ubuntu 12.04; ini mungkin akan kompatibel dengan ffmpeg, karena sintaks mereka selalu sesuai dengan pengalaman saya.Ini akan mengambil metadata dari aliran data pertama (biasanya aliran video) dan menggunakannya untuk mengganti metadata global dari file kontainer. Ini berfungsi karena sebagian besar waktu, aliran data tidak memiliki metadata bermakna yang dituliskan kepada mereka; Namun, kadang-kadang mereka melakukannya, dan Anda ingin sepenuhnya menyingkirkan metadata itu. Sayangnya, satu-satunya cara saya bisa memikirkan untuk melakukan ini menggunakan pipa dan dua proses avconv.
Ini mengambil keuntungan dari fakta bahwa file WAV tidak dapat mengandung metadata (karena format dibuat sebelum tag metadata ada).
Kedua metode ini mengapit semua metadata pada file yang baru saja saya uji - semua yang
exiftool
dilaporkan adalah informasi codec, dan avprobe melaporkan tidak ada metadata kepada saya. Menggunakan pipa untuk ini sangat jelek, dan metode pertama akan bekerja di 99% kasus, sehingga harus lebih disukai.sumber