Perhatikan bahwa untuk ini, Anda harus selalu menggunakan versi ffmpeg terbaru , dan lebih baik kompilasi sendiri . Ini memberi Anda akses ke libx265 dan libfdk-aac terbaru untuk pengkodean audio.
Selain itu, penghematan kecepatan data akan sangat drastis jika Anda beralih dari DVD ~ 10 MBit / dtk sekitar 1-2 MBit / dtk untuk video H.264 dan 0,5-1 MBit / dtk untuk video H.265. Mengubah kualitas pada langkah-langkah di bawah ini dapat mempengaruhi bitrate, tetapi tetap saja pengurangan data harus signifikan.
H.264
Untuk kontrol kualitas / kecepatan, Anda ingin menggunakan mode CRF di libx264 daripada bitrate konstan. Menggunakan CRF memastikan bahwa kualitas rata-rata dipertahankan, terlepas dari resolusi video asli atau kerumitannya. Bitrate konstan hanya benar-benar berguna jika Anda dibatasi oleh media transmisi (misalnya, kecepatan hard drive, throughput Internet).
Memilih nilai CRF adalah bagian yang sulit. Ini mengharuskan Anda untuk melihat output. Default untuk libx264 (23) menawarkan tradeoff yang cukup baik antara ukuran dan kualitas. Tetapi mengingat sumber asli Anda sudah dikompresi (dan tidak dengan kualitas yang sangat baik dibandingkan dengan Blu-ray), Anda mungkin ingin mengubah CRF menjadi sedikit lebih rendah, seperti 20. Ini akan meningkatkan bitrate yang dibutuhkan sekitar sepertiga .
Pilih preset sesuai dengan berapa lama Anda ingin menunggu. slow
sepertinya nilai yang baik di sini.
ffmpeg -i input \
-c:v libx264 -crf 20 -pix_fmt yuv420p \
-x264-params keyint=240:min-keyint=20 \
-preset:v slow -profile:v baseline -level 3.0 \
-c:a libfdk_aac -vbr 4 \
output.mp4
Encoder AAC ffmpeg bawaan dapat digunakan jika libfdk-aac tidak tersedia. Gunakan -c:a aac -strict experimental -b:a 128k
sebagai ganti -c:a libfdk_aac -vbr 4
.
H.265
Penelitian menunjukkan bahwa menggunakan HEVC akan menghasilkan penghematan bitrate hingga 74% dibandingkan dengan H.264. Ini didasarkan pada data tampilan subjektif dari urutan Ultra-HD. Tentu saja, itu tergantung pada kompleksitas temporal dari konten sumber, dan jumlah data yang disimpan tidak akan setinggi untuk urutan kode yang sulit. Bagaimana pun Anda dapat dengan aman mengatakan bahwa pengurangan data 50% benar-benar mungkin.
CRF default untuk libx265 adalah 28. Menggunakan konten sumber yang sama, itu menghasilkan sekitar setengah bitrate dibandingkan dengan libx264 di CRF 23. Ini terlepas dari bitrate aktual, yaitu, jika versi H.264 membutuhkan 1,5 MBit / s, maka H.265 akan menggunakan sekitar 750 kBit / s, tetapi 750 kBit / s vs 350 kBit / s untuk urutan lainnya. Saya menjalankannya pada beberapa urutan pada resolusi DVD-PAL dan tidak dapat membedakan perbedaan dari segi kualitas.
ffmpeg -i input \
-c:v libx265 -pix_fmt yuv420p \
-x265-params crf=28:keyint=240:min-keyint=20 \
-preset:v slow \
-c:a libfdk_aac -vbr 4 \
output.mp4
Untuk informasi lebih lanjut, berikut adalah sumber yang relevan:
keyint
dalam x264 / x265 adalah interval antara IDR-frame, yaitu interval antara keyframe di mana decoder dapat di-refresh. Di antaranya, bisa ada frame-I non-keyframe, misalnya saat adegan terpotong. Ini setara dengan-g
parameter jika saya tidak salah.-c:a aac -strict experimental
seperti yang ditunjukkan dalam jawaban saya. Dan saya setuju, saya tidak akan mencoba membuatnya di Windows.libopus > libvorbis >= libfdk_aac > aac > libmp3lame >= libfaac >= eac3/ac3 > libtwolame > vorbis > mp2 > wmav2/wmav1
untuk AAC: (Karena sedikit membingungkan, dengan 3 enkoder tersedia):libfdk_aac > aac > libfaac
Tanda> = berarti lebih besar atau sama kualitas."