El freni, video dönüştürme için x264 kodlayıcıyı kullanır. Tüm x264 seçeneklerine ve bunların FFmpeg muadillerine genel bir bakış sunan bir site var . Ancak, bunlar biraz kullanımdan kaldırılmıştır ve bu seçeneklerden bazıları artık çalışmıyor veya yeniden adlandırılmış olabilir. Ayrıntı seçeneklerinin çoğu için x264 profillerini kullanmalısınız - ancak oraya ulaşacağız.
Temel El Freni seçeneklerinin çoğu (örn. Kare hızı) x264'e özgü değildir ve FFmpeg çevrimiçi belgelerine dağılmıştır .
Başlamadan önce lütfen yeni bir FFmpeg sürümü kullandığınızdan emin olun. Onların indirme sitesi tüm önemli işletim sistemleri için inşa statik vardır.
Hadi gidelim:
--input "d:\input.mpg" --output "d:\output.mp4"
FFmpeg sözdizimi ffmpeg -i input.mpg … d:\output.mp4
.
--rate 29.97
Video kare hızını ile belirtin -r 29.97
. (Handbrake --cfr
sadece sabit bir kare hızı belirler. Burada gerekli değildir).
--arate 44.1
Ses örnekleme hızını -ar 44100
(Hz olarak) ile ayarlayın .
--format mp4
FFmpeg MP4 istediğinizi bildiğinden gerekli değildir.
--width 1920 --height 1080 --custom-anamorphic --display-width 1920 --keep-display-aspect --modulus 8 --crop 0:0:0:0
Bu, boyutu 1920 × 1080 olarak ayarlamaktan başka bir şey yapmaz. FFmpeg'de bunu yapın -s:v 1920x1080
veya filtreleri kullanmak istiyorsanız -filter:v "scale=1920:1080"
,.
--encoder x264 --vb 5200
Enkoderi -c:v libx264
ve bit hızını sabit olarak ayarlayın -b:v 5200K
. Kalite ayarları söz konusu olduğunda henüz orada olmadığımızı unutmayın.
--aencoder faac --ab 128 --mixdown stereo
Yukarıdakine benzer, ile -c:a libfaac -b:a 128K -ac 2
. FAAC'ın artık FFmpeg'de desteklenmediğine dikkat edin; bunun yerine, bununla birlikte yerleşik FFmpeg kodlayıcıyı -c:a aac -b:a 128K
kullanın.
-x bitrate=5200:vbv-bufsize=5200:vbv-maxrate=5200
Bu, kodlama modunu sabit bir bit hızı veya sabit kalite yerine bir akış senaryosunu hedefleyen VBV olarak ayarlar . Sabit kaliteye de x264 için varsayılan CRF denir - buna El Freni'nde “Hız Faktörü” denir. CRF genellikle size en iyi kalite kodlarını verirken, VBV modu size çevrimiçi akış için veya sınırlı özelliklere sahip bazı cihazlar için daha uygun bir dosya sağlar.
VBV'yi ayarlamak için ffmpeg'deki -maxrate 5200K
ve -bufsize 5200K
seçeneklerini kullanın .
-crf 23
CRF'yi ayarlamak için ffmpeg'de kullanın .
level=42
Kullanın -level 42
. Bu H.264 Seviyesidir .
bframes=2:min-keyint=60:keyint=60:ref=4
İle B-Frame sayısını ayarlayın -bf 2
. Minimum ana kare aralığı ile -keyint_min 60
ve maksimum ana kare aralığı ile ayarlanır -g 60
. Referans resim sayısı ile ayarlanır -refs 4
.
me=umh:merange=64:subme=7:8x8dct:cabac=1
Bunlar, ffmpeg'de ek olarak ayarlayabileceğiniz seçeneklerdir -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1
- doğrudan ffmpeg seçenekleriyle eşlenmeyen diğer x264 kodlayıcı ayarları gibi.
Tembelseniz, ayrıntılarla ilgilenmiyorsanız veya işler işe yaramıyorsa, "TL; DR" sürümü -preset:v medium
şöyledir : Kullanın (veya ortam ön ayarı varsayılan olarak olduğu gibi bırakın). X264 ön ayarları, sıkıştırma verimliliği için kodlama hızını takas eden bir dizi seçenek seçer. Bunlar teamül olarak adlandırılan konum ultrafast
, superfast
, veryfast
, faster
, fast
, medium
için slow
, slower
ve veryslow
. Kendinizi rahat hissettiğiniz şeyi seçin.
Özetlemek gerekirse, uzun versiyon:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -level 42 -bf 2 -keyint_min 60 -g 60 -refs 4 -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1 -c:a aac -b:a 128K -ar 44100 d:\output.mp4
Ya da kullanacağım kısa kod (VBV kodlaması ve birkaç ayrıntı seçeneği kaldırıldığında):
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -c:a aac -b:a 128K -ar 44100 d:\output.mp4
Çok amaçlı bir dönüşüm için sabit kalite kodlamasına geçmek için bunu kullanın ve -crf
parametreyi 18'den 28'e değiştirin; burada daha düşük kalite daha iyi kalite ve 23 varsayılan değerdir:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -crf 23 -c:a aac -b:a 128K -ar 44100 d:\output.mp4