Örnekli ffmpeg kullanımı

PardusWiki, özgür ansiklopedi

Git ve: kullan, ara

Video formatı arasında dönüşüm yapabilmeye örnek olarak; YouTube'dan indirilen video dosyalarını anlatılacaktır; FLV dosyaları.

Bilgisayarınızda yer alan rastgele bir flv dosyasının "/home/Chriseba" dizini altında olduğunu varsayarak, konsoldan bu dizine geçiş yapıyoruz. Söz konusu flv dosyasının adının "bill_hayes-1.flv" olduğunu varsayarsak, o zaman konsoldan şu komutu vermemiz gerekir.

$ ffmpeg -i bill_hayes-1.flv bill_hayes-1.avi

Bu komutu verdikten sonra, aşağıdaki gibi bir çıktı alırsınız ve işlem başlar;

$ ffmpeg -i bill_hayes-1.flv bill_hayes-1.avi

FFmpeg version SVN-r7868, Copyright (c) 2000-2006 Fabrice Bellard, et al.

Compiler did not align stack variables. Libavcodec has been miscompiled

and may be very slow or crash. This is not a bug in libavcodec,

but in the compiler. Do not report crashes to FFmpeg developers.

Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1)


-> 25.00 (25/1)

Input #0, flv, from bill_hayes-1.flv:

Duration: 00:07:46.4, start: 0.000000, bitrate: 80 kb/s

Stream #0.0: Video: flv, yuv420p, 320x240, 25.00 fps(r)

Stream #0.1: Audio: mp3, 22050 Hz, mono, 80 kb/s

Output #0, avi, to bill_hayes-1.avi:

Stream #0.0: Video: mpeg4, yuv420p, 320x240, q=2-31, 200 kb/s, 25.00 fps(c)

Stream #0.1: Audio: mp2, 22050 Hz, mono, 64 kb/s

Stream mapping:

Stream #0.0 -> #0.0

Stream #0.1 -> #0.1

Press [q] to stop encoding

frame=11661 q=18.2 Lsize= 15775kB time=466.4 bitrate= 277.1kbits/s

video:11519kB audio:3644kB global headers:0kB muxing overhead 4.033155%


Çıktıya bakarak göz atacak olursak; Input(kaynak dosya) ve Output(hedef dosya) arasında bazı farklılıklar olduğunu görürüz. Örneğin kaynak dosyada ses kalitesi 80kb/s iken bu değer hedef dosyada 64kb/s oluyor; o zaman bazı değerlerin aynı kalması için bu değerleri belirleyecek komutlar yazılması gerekiyor.

Bu dosyayı çevirmeye başlamadan önce

$ ffmpeg -i bill_hayes-1.flv

komutu ile kaynak dosyanın değerleri görülebilir ve buna göre komutlar verilebilir.

$ ffmpeg -i bill_hayes-1.flv -f avi -vcodec mpeg4 -b 800k -acodec mp3 -ab 128 bill_hayes-1.avi

Buradaki komutları teker teker açıklayacak olursak; -vcodec ile hangi vodeo codec'ini kullanılacağını, -b ile video bitrate değeri, -ac ile ses codec'i ve -ab ile ses bitrate değeri belirlenebilir.

Ya da bir DVD'yi VCD kalitesine indirmek için (formatı *.avi veya *.dat olabilir) aşağıdaki gibi daha basit bir komut kullanılabilir:

$ ffmpeg -i VTS_01_1.VOB -target vcd VTS_01_1.avi

Burada -type komutunun ardından vcd, svcd, dvd ve bir çok tanım verilebilir.

Eğer çevireceğiniz dosyanın adında boşluk varsa (örneğin: benim odam.wmv), o dosya adını tırnak işareti kullanarak girmelisiniz:

$ ffmpeg -i "benim odam.wmv" "benim odam.avi"

[değiştir] İlgili Sayfalar