Saat ini saya menggunakan file batch yang (antara lain) menjalankan baris perintah handbrakecli berikut untuk mengonversi video:
HandBrakeCLI.exe -v0 --input "D:\input.mkv" --preset="Universal" --ipod-atom -t 1 --angle 1 --gain 0 --output="D:\output.mp4"
Ini telah membantu saya dengan baik selama bertahun-tahun, menghasilkan file video yang lebih kecil dari aslinya (bagus ketika Anda hanya memiliki perangkat 16Gb), terlihat cukup baik dan berfungsi pada hampir semua iPod, iPad dan iPhone yang saya pakai.
Namun seiring waktu handbrakecli berjuang untuk mengkonversi video semakin banyak ke titik yang saya perlu mencari alternatif. Ini tidak terbantu oleh fakta bahwa log sama sekali tidak memberikan informasi mengapa crash. Video ini, misalnya, mogok di 71% melalui konversi dan ini adalah 4 baris terakhir:
AC3 Passthru requested and input codec is not compatible for track 2, using AC3 encoder
x264 [info]: using SAR=9593/9600
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile Constrained Baseline, level 3.0
Tidak terlalu membantu.
Saya melihat menggunakan ffmpeg sebagai alternatif, tetapi semua contoh yang saya lihat di internet melakukan satu atau lebih hal berikut ini:
- Jangan bekerja (opsi baris perintah tidak dikenali) - umum!
- Menghasilkan file yang lebih besar dari aslinya - sangat umum!
- Distorsi gambar, terutama ketika ukuran video yang tidak terduga dikonversi (mis. PAL non-layar lebar)
- Hapus audio
- Menghasilkan video yang tidak dapat diputar oleh iPhone, iPod atau iPad
Apakah ada baris perintah ffmepg serba guna yang layak yang akan membuat video berjalan dengan bahagia di semua perangkat Apple plus mencapai pengurangan ukuran file?
Poin bonus jika itu akan menyusut (tetapi tidak merusak) video apa pun di atas 720p juga.
Jawaban:
Inilah pendapat saya. Saya akan mengambil iPhone 4 atau yang lebih baru (termasuk semua iPad) sebagai target: H.264 Profil utama, level 3.1
Nilai-nilai yang Anda bebas ubah:
-crf 23
: Pengaturan kualitas konstan. Nilai lebih tinggi = kualitas kurang, file lebih kecil. Lebih rendah = kualitas lebih baik, file lebih besar. Nilai sane adalah [18 - 24]-preset medium
: Jika ini terlalu lambat untuk Anda, gunakan preset yang lebih cepat. Jika Anda memiliki kesabaran untuk itu, gunakan yang lebih lambat. Lihat di sini untuk informasi lebih lanjut.-acodec copy
: Mencoba menyalin trek audio ke wadah MP4. Jika tidak dapat disalin, Anda harus memasukkannya kembali ke AAC / MP3 / AC3 ... mis-acodec libmp3lame
Jika video Anda lebih besar dari 720p, tambahkan berikut ini setelah input:
-vf "scale=-2:720:flags=lanczos"
Ini akan mengecilkan video Anda menjadi 720p dan menjaga rasio aspek. Algoritma penskalaan yang digunakan adalah lanczos karena jauh lebih baik daripada standarnya.
sumber
-vf "scale=-2:720:flags=lanczos"
. Menambahkan-movflags +faststart
disarankan jika file akan dilihat melalui unduhan progresif seperti di browser (dan jika tidak opsi tentu tidak ada salahnya).x264-params
. Tanpa membangunnya sendiri, adakah cara untuk mengatasi masalah ini?-x264-params
berfungsi dengan baik. Apakah Anda yakin tidak melewatkan sesuatu? Opsi utamanya adalah keamanan untuk menghindari memiliki lebih dari 4 kerangka referensi yang mungkin tidak ditangani oleh decoder yang lebih lama.-acodec libmp3lame
tidak bekerja untuk saya. Untuk mengaktifkan audio pada iPad Mini saya, saya membuat ulangffmpeg
dengannonfree
varian dan menggunakanlibfdk_aac
kode.Ini dasar tetapi langsung bekerja untuk saya di iPad 3
sumber