Ketika saya menggunakan ini, kualitasnya tidak terlihat buruk.
ffmpeg -same_quant -i video.mp4 video.avi
Dalam ffmpeg
dokumentasi tertulis: "Perhatikan bahwa ini BUKAN KUALITAS SAMA. Jangan gunakan opsi ini kecuali Anda tahu Anda membutuhkannya."
Apakah saya mendapatkan -same_quant
kualitas terbaik atau apakah ada opsi yang memberikan kualitas yang sama dengan input dan lebih direkomendasikan?
linux
conversion
ffmpeg
sid_com
sumber
sumber
-codec copy
). Itu adalah cara terbaik untuk menghindari perubahan kualitas, karena Anda tidak memasukkan ulang stream, hanya mengemas ulang mereka dalam wadah yang berbeda.Unknown decoder 'copy'
.-codec copy
harus mengejar-i video.mp4
- dapatkah Anda mencobaffmpeg -i video.mp4 -codec copy video.avi
? (-same_quant
bekerja di sini juga, tetapi tidak akan melakukan apa-apa, karena ini hanya menyalin aliran)-codec copy
tempat yang tepat adalah bekerja.Jawaban:
(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:
( 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.)sumber
avconv
sekarang direkomendasikan di tempatffmpeg
dan pada kenyataannya adalah apa yang saya gunakan.Di bawah FreeBSD 8. 2, saya mencoba menyalin -codec tapi saya mendapat pesan yang tidak dikenal juga diterjemahkan. Setelah coba-coba saya menemukan yang berfungsi adalah di bawah FreeBSD:
sumber