Pertanyaan ini sudah ada jawabannya di sini:
Saat ini saya mengonversi file flash .flv ke file .webm dan .mp4 untuk digunakan dengan pemutar video HTML5.
_
Saya menggunakan perintah ffmpeg ini untuk WEBM: ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis filename.webm
yang berfungsi dengan baik dan ukuran file tetap relatif sama (penting).
_
Untuk MP4, saya menggunakan yang berikut ini: ffmpeg -i filename.flv -sameq -ar 22050 filename.mp4
Konversi ke .mp4 baik dan mencegah kehilangan kualitas tetapi ukuran file hampir tiga kali lipat.
Formula ffmpeg apa yang dapat digunakan untuk mengkonversi ke MP4 tanpa kehilangan kualitas terlalu banyak dan mencegah ukuran file yang jauh lebih tinggi?
mpeg4
. Menurut output dariffmpeg --help muxer=mp4
pada mesin saya, ffmpeg menggunakan h264 sebagai codec video standar mp4.Perintah ini hanya mengubah wadah tanpa memasukkan kembali
sumber
for %%a in ("*.flv") do ffmpeg -i "%%a" -codec copy "%%~na.mp4"
-codec copy
ke file .mp4 hanya berfungsi dalam kasus yang sangat jarang di mana audio dan video sudah dikodekan dengan H.264 dan AAC. Lihat superuser.com/a/1009539/390946 dan addpipe.com/blog/flv-to-mp4 .avconv
danffmpeg
pada dasarnya hal yang sama. [pada SANGAT baru-baru ini ada BEBERAPA divergensi, tetapi tidak terlalu banyak untuk ditulis di rumah jika Anda mengkompilasi sendiriffmpeg
[yang disediakan di repo Ubuntu misalnya TUA dan menderita ukuran video itu bukan kesepakatan bla bla bla [pada dasarnya mencoba untuk memberi tahu Anda video memiliki proporsi yang salah], tetapi jika Anda repot-repot membacaffmpeg
panduan kompilasi dan mengkompilasinya dari git, ia tidak memiliki masalah dengan versi lama yang tersedia di sebagian besar OS. peringatan penyusutan yang dimaksudavconv
memberi tahu Anda bahwa mereka telah membuat util yang lebih baru untuk mencoba dan menggantiffmpeg
, TETAPI itu SANGAT digunakan secara luas, bahkan jika mereka mencoba menghentikannya, kita semua akan membuat softlink dariavconv
keffmpeg
Bagaimanapun juga mereka tidak akan berhenti bekerja dan menjatuhkannya.]]Ini bukan hal yang buruk untuk digunakan
avconv
, saya hanya melihat satu jawaban yang menyebutkan peringatan penyusutan yang pada dasarnya merupakan pesan kosong harus lebih dari alternatif ffpmeg Anda dapat mencoba avconv yang lebih benar dengan kasus di sini.benar-benar SAMA sebagai
pada dasarnya di pertama Anda menggunakan pilihan tangan pendek dan yang kedua adalah variasi yang lebih ditulis.
JUGA
-map 0
mengacu pada trek audio jadi jika menggunakan sesuatu sepertimp4a
yang dapat menangani trek multi-audio baik-baik saja Anda dapat meninggalkan ini untuk menyalin semua aliran audio ke file yang dihasilkan. Ini hanya diperlukan jika menggunakan codec yang tidak mendukung banyak trek audio dalam file yang sama maka Anda ingin memetakan audio yang dibutuhkan dan tidak semua. Tentu saja jika mencoba meminimalkan ruang yang digunakan, Anda dapat menentukan hanya satu untuk mencoba dan mengetuk sedikit ukuran file [audio seperti mungkin 1/3 ukuran trek video [dan itu murah hati]].-c:v = codec(video)
jadi:-c:v libx264
sama dengan menggunakan:-vcodec libx264
FYI; sama dengan contoh ini:-c:v copy = -vcodec copy
dan lebih jauh lagi untuk FLV, berhati-hatilah, file flv sama dengan avi karena itu adalah wadah yang dapat berisi sejumlah codec untuk video atau audio. Pertama-tama Anda ingin menggunakan utilitas inspeksi media pilihan untuk melihat apa yang digunakan dalam file itu sendiri sebelum Anda memilih untuk hanya menyalin video dan / atau aliran audio atau jika Anda ingin mentransmisikannya dari apa pun itu ke sesuatu yang baru. Jadi perintah yang bekerja paling baik untuk satu FLV mungkin tidak sama untuk FLV lain [tentu saja BIASANYA jika mendapatkan beberapa FLV dari sumber yang sama mereka akan dikodekan dengan cara yang sama tetapi itu tidak pernah menjadi jaminan].
Tidak mencoba untuk mengambil hanya berlari di ini dalam pencarian web dan ingin mencoba untuk membantu memperjelas hal-hal untuk orang-orang.
Sekali lagi karena jawaban ini menyatakan untuk jawaban di bawah ini, YA yang menjalankan ffmpeg akan selalu memposting pesan itu pada dasarnya kosong karena 2 utilitas ini masih merupakan utilitas yang sama dengan perbedaan yang sangat kecil. Anda harus dalam hampir semua kasus mendapatkan hasil yang sama persis menggunakan salah satu perintah. Ini belum tentu menghasilkan trans-kode ulang lengkap, mengapa? A, jika tidak diperlukan menghemat banyak waktu, dan B jika Anda mentranskode ulang file itu sudah dikompresi ke dalam codec video Anda pada dasarnya menjalankan rutin kompresi terhadap sesuatu yang sudah dikompresi dan akan selalu menghasilkan dalam kualitas kurang dari sumbernya. Kebanyakan codec yang lebih baru agak kompatibel lintas [tidak semua] seperti misalnya flv secara teknis bisa menjadi MP4 dalam pembungkus FLV karena FLVs seperti AVI hanyalah wadah dari codec lain. Begitu, itu tergantung pada apa yang dimiliki flv sumber untuk video dan codec ausio dibandingkan dengan apa yang Anda ubah, apakah perlu ditranskode sama sekali. Jika dalam FLV mereka menggunakan video H264 MP4 dan MP4a untuk audio Anda tidak perlu trans-transkrip hal yang hanya perlu Anda salin dan sesuaikan header file sehingga dibaca sebagai MP4 yang benar dan bukan video MP4. di dalam file FLV.
sumber
Menurut panduan ini , perintah yang tepat untuk mengonversi FLV ke MP4 tanpa pengodean ulang AV adalah sebagai berikut:
Ini berfungsi dengan baik untuk saya dalam semua kasus dengan video AVC dan audio AAC atau MP3.
sumber
Saat menggunakan ffmpeg saya mendapat peringatan penghentian untuk menggunakan avconv. Menggunakan avconv saya mendapat hasil yang bagus:
Baca
man avconv
untuk informasi lebih lanjut.sumber
ffmpeg
itu sendiri tidak ditinggalkan . Alasannya terlihat bagus adalah karena Anda menentukan encoder x264 yang memiliki pengaturan standar yang bagus untuk kualitas.Saya sarankan Anda membuat skrip shell untuk yang dipanggil
video_flv_to_mp4
dengan konten berikut:Kemudian jalankan seperti ini:
Ini akan memberi Anda file video.flv.mp4.
sumber
-sameq
bukan pilihan yang valid untuk ffmpeg lagi. Itu juga tidak berarti "kualitas yang sama". Lihat juga posting ini .