ölçek filtresini kullanmak bunu yapacaktır, ancak biraz daha var.
ffmpeg -i input.mov -vf scale=720x406 output.mov
gerekli piksel boyutlarına sahip bir film oluşturur, ancak çıktıya bakarsanız, meta verilere, kare olmayan pikseller kullanarak orijinalle aynı en boy oranında oynatılmasını sağlayacak şekilde bilgi eklediğini görürsünüz. Filmi anamorfik olarak yeni bir en boy oranına uzatmak istiyorsanız, "Örnek En Boy Oranı" için SAR adı verilen piksel en boy oranını manuel olarak ayarlamanız gerekir, böylece kare pikseller için:
ffmpeg -i input.mov -vf scale=720x406,setsar=1:1 output.mov
Alternatif olarak, ekran en boy oranını istediğiniz gibi ayarlayabilirsiniz, böylece:
ffmpeg -i input.mov -vf scale=720x406,setdar=16:9 output.mov
-Vf komutu ve x = y, z = ile takip ettiğim ifadeler bir filtre zinciri oluşturuyor . Filtreler oldukça karmaşık olabilir, ancak en basit kullanımda formu alırlar ve effect=parameter,nexteffect=anotherparameter
yazdığınız sırada işlenirler.
Kodek için ek komutlar koymak isteyebilirsiniz, örneğin -c:v libx264
x264 mp4 kodlayıcıyı kullanmak -crf 20
ve sabit oran faktörünü 20'ye (genellikle boyut ve kalite arasında oldukça iyi bir uzlaşma) ayarlamak gibi bir şey . Yani, oldukça eksiksiz bir komut şöyle görünecektir:
ffmpeg -i input.mov -vf scale=720x406,setdar=16:9 -c:v libx264 -preset slow -profile:v main -crf 20 output.mov
Ana profil cihaz uyumluluğu için iyidir slow
, libx264 kodlayıcı için önceden ayarlanmış hız ve kalite dengesi oldukça iyidir, bu nedenle bu iyi bir genel web kodlama işgücüdür. Kullanarak fast
veya veryfast
daha yavaş kullanarak daha hızlı yapabilirsiniz veryslow
ve çok daha fazla işlem süresi (dolayısıyla ad) pahasına placebo
olduğundan biraz daha iyi hale getireceksiniz veryslow
.
BTW -c kopyasını kullanmayın onlara bir şey yapmadan araçlar sadece video ve ses akışları kopyalamanız, hiç herhangi bir etkisi olmayacaktır ölçek, codec, bit hızı vb açısından yapmak hiçbir şey yüzden.