(diadaptasi dari komentar di atas)
Bergantung pada codec yang digunakan (beberapa codec tidak kompatibel dengan beberapa kontainer), Anda selalu dapat dengan mudah menyalin stream ( -codec copy
). Itu adalah cara terbaik untuk menghindari perubahan kualitas, karena Anda tidak memasukkan ulang stream, hanya mengemas ulang mereka dalam wadah yang berbeda.
Saat berurusan dengan file audio / video, penting untuk diingat bahwa wadah sebagian besar independen dari codec yang digunakan. Adalah umum untuk melihat orang-orang yang merujuk ke file sebagai "video AVI" atau "video MP4", tetapi itu adalah wadah dan memberi tahu kami sedikit tentang apakah pemain akan dapat memutar stream, selain dari keterbatasan teknis (misalnya, AVI mungkin memiliki masalah dengan h264 dan Ogg Vorbis ), Anda dapat menggunakan codec apa pun.
-same_quant
tampaknya menjadi cara untuk memberitahu ffmpeg untuk mencoba mencapai kualitas yang sama, tetapi segera setelah Anda memasukkan kembali video (setidaknya dengan codec lossy), Anda tidak memiliki cara untuk mendapatkan kualitas yang sama. Jika Anda peduli dengan kualitas, aturan praktis yang baik adalah untuk menghindari pengkodean ulang stream jika memungkinkan.
Jadi, untuk menyalin stream dengan ffmpeg, Anda harus:
ffmpeg -i video.mp4 -codec copy video.avi
( Seperti @ Peter.O sebutkan , urutan opsi itu penting, jadi ke situlah -codec copy
harus pergi. Anda masih bisa menyimpannya -same_quant
, tetapi itu tidak akan berpengaruh apa pun karena Anda tidak memasukkan ulang stream.)
-codec copy
). Itu adalah cara terbaik untuk menghindari perubahan kualitas, karena Anda tidak memasukkan ulang stream, hanya mengemas ulang mereka dalam wadah yang berbeda.