Saya memiliki file yang disandikan H.265 yang begitu padat sumber daya sehingga tidak dapat diputar dengan baik dan perangkat lunak konversi saya (mencoder) tidak (saat ini) mendukung format H.265. Dapatkah saya mengonversinya menjadi H.264 dalam file batch baris perintah untuk dengan cepat mengkonversi file untuk kompresi ulang menggunakan Devede / OGMrip? Setelah mencari situs ini saya belum menemukannya sehingga saya akan memposting apa yang saya rasa merupakan pertanyaan dan jawaban yang berguna untuk pertanyaan itu.
sumber
sleep 3
itu tidak perlu (tapi mungkin berguna untuk mengakhiri loop), danINPUT=$1
tidak ada artinya karena Anda menjalankan ini secara langsung dalam shell interaktif.-c:a copy
bukan pengodean ulang. Selain itu,0:0
mungkin tidak selalu merujuk ke video, dan0:1
mungkin tidak selalu merujuk ke audio. Anda dapat menggunakan penspesifikasi aliran untuk menghindari masalah potensial:-map 0:v -map 0:a
jika Anda ingin semua video dan audio stream dari input 0, atau-map 0:v:0 -map 0:a:0
jika Anda hanya ingin video dan audio stream pertama dari input 0. Jika Anda hanya ingin stream audio bahasa Inggris:-map 0:m:language:eng
(dengan asumsi diberi label).ffmpeg -i $INPUT -vcodec h264 -acodec copy $OUTPUT
. Sesuatu yang saya gunakan setiap hari dan benar-benar dapat menghafal yang bertentangan dengan rentetan bendera tidak berarti yang mana setiap jawaban ffmpeg begitu terkenal.Konversi batch H.265 ke H.264
Contoh-contoh ini ditulis untuk saat ini
ffmpeg
. Simpan sendiri beberapa masalah dan unduh versi terbaru. Kemudian masukkanffmpeg
biner~/bin
atau/usr/local/bin
(Anda mungkin harus logout lalu login agar diperhatikan).Output Matroska
Contoh ini akan menampilkan ke direktori bernama
h264vids
.Contoh ini mengasumsikan input Anda
.mp4
. Jika tidak, ubah.mp4
instance pada contoh menjadi tipe file input Anda, atau gunakan saja serakah*
itu sendiri.Menyesuaikan
-crf
kualitas dan-preset
kecepatan / efisiensi penyandian. Atau hapus saja opsi-opsi ini dan gunakan default yang cukup baik dan cukup untuk sebagian besar (contohnya adalah menggunakan nilai default untuk opsi ini). Lihat FFmpeg Wiki: H.264 untuk info lebih lanjut tentang opsi ini.Output MP4
Yang ini sedikit lebih rumit. Ini akan melakukan pengkodean bersyarat tergantung apakah input audio AAC atau tidak. Jika input audio AAC maka audio akan disalin streaming (muxed kembali) apa adanya dan re-encoding yang tidak perlu dihindari. Jika audio input bukan AAC maka akan disandikan ulang ke AAC.
Berikut ini skrip sederhana yang menunjukkan cara melakukan ini menggunakan
ffprobe
danffmpeg
. Salin dan simpan ke direktori yang berisi video Anda untuk dikonversi, berikan izin untuk menjalankannyachmod +x yourscriptname
, lalu jalankan dengan./yourscriptname
.Contoh ini akan menampilkan ke direktori bernama
h264vids
.Contoh ini mengasumsikan input Anda
.mkv
. Jika tidak, ubah.mkv
instance pada contoh menjadi tipe file input Anda, atau gunakan saja serakah*
itu sendiri.Lihat catatan di atas tentang
-crf
dan-preset
.Anda dapat menjeda pengodean dengan ctrl+ zdan melanjutkan dengan
fg
.sumber
Mempertimbangkan jawaban sebelumnya, saya datang dengan yang berikut:
Ini mengasumsikan, bahwa file selalu memiliki nama yang berakhir dengan
265.mkv
. Akhiran ini akan diganti dengan264.mkv
.Jika penamaan file Anda berbeda, Anda perlu menyesuaikan perintah yang sesuai.
sumber