ffmpeg ile video edit etmek

Ağustos 16th, 2011 § Yorum yok

Bir videoyu mpeg4e dönüştürmek

ffmpeg -i 4126_20071228004214.mp4 -f avi -vcodec mpeg4 -b 637k -acodec mp3 -ab 32k ../sonuc/32k_4126_20071228004214.mp4

libx264 ile multithread kullanarak (ffmpeg static build ile: http://dl.dropboxusercontent.com/u/24633983/ffmpeg/index.html ; http://dl.dropbox.com/u/24633983/ffmpeg/builds/ffmpeg-linux64-20130508.tar.bz2)

../ffmpeg -i "shuttle-flip.mp4" -codec:v libx264 -quality good -cpu-used 0 -b:v 4000k -profile:v baseline -level 30 -y -maxrate 4000k -y -bufsize 2000k -vf scale=-1:1080 -threads 2 -codec:a libvo_aacenc -b:a 128k "fullhd.mp4"

webm için

../ffmpeg -i "shuttle-flip.mp4" -codec:v libvpx -quality good -cpu-used 0 -b:v 2000k -qmin 10 -qmax 42 -maxrate 2000k -y -bufsize 2000k -vf scale=-1:720 -threads 2 -codec:a libvorbis -b:a 128k "webm.webm"

Not:-preset değerinin slow olması sıkıştırmanın oldukça iyi yapılacağı anlamına gelmektedir.
Yapılan denemede, slow ile oluşan dosya 570M iken ultrafast ile oluşan dosyanın 1.1G olduğu gözlemlenmiştir. Fakat slowda encoding süresi 59m58.255s iken ultrafastde encoding 9m6.937s zamanda tamamlanmıştır. -preset degeri ultrafast,veryfast,faster,fast,medium, slow,slower,veryslow,placebo olabilir.

Not: Daha detaylı bilhi için “x264 –help” kullanılabilir.

Not: -crf değeri ne kadar kayıp verilebileceğini belirler.
Verilen değer küçüldükçe kayıp azalır. Makul değerler 18-28 arasıdır. 0 değeri kayıpsızdır.

ffmpeg -i input -acodec copy -vcodec libx264 -preset slow -crf 22 output.mp4

Animasyon için tune edilmiş bir örnek:


ffmpeg -i input -acodec copy -vcodec libx264 -preset medium -tune animation 
    -profile baseline -level 3.0 -crf 20 output.mp4

Değişik level kullanımları mümkündür.
Örneğin:

    iPhone, iPod 5.5G
        --level 30 --profile baseline --vbv-bufsize 10000 --vbv-maxrate 10000


    iPod
        --level 1.3 --no-cabac --vbv-bufsize 768 --vbv-maxrate 768


    PSP
        --level 2.1 --vbv-bufsize 4000 --vbv-maxrate 4000


    Zune
        --level 30 --no-cabac --vbv-bufsize 10000 --vbv-maxrate 10000


    AppleTV
        --level 3.1 --no-cabac --vbv-bufsize 14000 --vbv-maxrate 14000


    PS3-Xbox360
        --level 4.1 --vbv-bufsize 62500 --vbv-maxrate 62500

Dosyanın bitrate verilerek belirli bir boyutta sonuçlanmasını sağlamak için 2 fazlı dönüşüm yapılabilir. Örneğin
Not:bitratei sabitlemek yerine crf kullanmak tavsiye edilir. Zira farklı bitratelerde aynı kalitede görüntü elde edilebilir. Kaynak

ffmpeg -i input -pass 1 -vcodec libx264 -preset fast -b 512k -f mp4 -an -y /dev/null \
    && ffmpeg -i input -pass 2 -vcodec libx264 -preset fast -b 512k -acodec libfaac \
    -ab 128k -ac 2 output.mp4

Kayıpsız H264 oluşturmak için:

ffmpeg -i input -vcodec libx264 -preset ultrafast -crf 0 -acodec copy output.mkv

Not: Kayıpsız video oluştururken -preset değeriyle yapılan denemelerde
-preset ultrafast iken
oluşan dosya 8.5G (9108193825) ve gerekli zaman 23m54.441s
-preset medium iken
oluşan dosya 6.6G (7070383360) ve gerekli zaman 99m18.887s
-preset placebo iken
oluşan dosya 6.6G (7036744106) ve gerekli zaman 433m10.011s

ffmpeg hakkına iyi bir kaynak

FFMpeg in static buildi. Herhangi bir bağımlılığı yoktur.
Static build referansı ve yeni versiyonları…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ne yapıyorum ben!?

ffmpeg ile video edit etmek başlıklı yazıyı okuyorsun.

Üst Veri