FFmpeg Dokümantasyon

PardusWiki, özgür ansiklopedi

Git ve: kullan, ara

Orijinal sayfa: http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html

Konu başlıkları

[değiştir] Tanım

FFmpeg çok hızlı bir video ve ses çevricisidir. Ayrıca canlı ses/görüntü kaynağından yakalama yapabilir Komut satırı arayüzü sezgi yolu ile anlaşılabilecek şekilde tasarlandı. FFmpeg olası parametreleri otomatik olarak hissedebilir. Genellikle hedef bitrate'i belirtmenize gerek kalmaz. FFmpeg herhangi bir bitrate'den diğerine çevirebilir, ve yüksek kaliteli çok evreli filtresi ile hızla yeniden videoyu boyutlandırır.

[değiştir] Hızlı Başlangıç

This generates the Motion vectors which are then used 

[değiştir] Video ve Ses Yakalamak

FFmpeg video4linux uyumlu video kaynağı ve Açık Ses Sistemi ses kaynağı kullanabilir:

ffmpeg /tmp/out.mpg

xawtv gibi bir tv görüntüleyici ile(http://bytesex.org/xawtv/ Gerd Knorr tarafından), FFmpeg açılmadan önce doğru video kaynağı ve kanalı açılmış olması gerektiğini not etmeyi unutmayın. Standart bir ses mikseri ile ses seviyesini ayarlamalısınız.

[değiştir] X11 yakalamak

FFmpeg X11 görüntüsünü yakalayabilir.

ffmpeg -f x11grab -vd x11:0.0 /tmp/out.mpg

0.0 X11 sunucunun gösterilen ekran numarasıdır, GÖRÜNÜM ortamı değişkeni ile aynıdır.

ffmpeg -f x11grab -vd x11:0.0+10,20 /tmp/out.mpg

0.0 X11 sunucunun gösterilen ekran numarasıdır, GÖRÜNÜM ortamı değişkeni ile aynıdır. Yakalama için 10 x-dengesidir ve 20 ise y- dengesidir.

[değiştir] Ses ve Video Biçimi Dönüştürülmesi

  • FFmpeg girdi olarak desteklenen her hangi bir dosya biçimini kullanabilir:

Örnek:

  • YUV dosyalarını girdi olarak kullanabilirsiniz:
ffmpeg -i /tmp/test%d.Y /tmp/out.mpg

Bu şu dosyaları kullanacaktır:

/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, ve bunun gibi...

Y dosyaları U ve V dosyalarının 2 katı çzünürlük kullanır. Bunlar başlıkları olmayan ham dosyalardır. Bütün yeterli video kod çözücüler tarafından yaratılabilirler. Eğer FFmpeg tahmin edemezse, siz resim boyutunu `-s' seçeneği ile belirleyin.

  • Bir ham YUV420P dosyasından giriş yapabilirsiniz:
ffmpeg -i /tmp/test.yuv /tmp/out.avi

test.yuv dosyası ham YUV yüzeysel ham verisini içerir. Her kare Y düzlemi ve onu takip eden U ve V düzlemlerinin yarı yatay ve dikey çözünürlüklerinden meydana gelir.

  • Bir ham YUV420P dosyasını çıktı alabilirsiniz:
ffmpeg -i mydivx.avi hugefile.yuv
  • Birkaç girdi ve çıktı dosyası ayarlaya bilirsiniz:
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg

Ses dosyası a.wav ve ham YUV video dosyası a.yuv 'u a.mpg MPEG dosyasına çevirir.

  • Ayrıca ses ve video dönüşümünü aynı anda yapabilirsiniz:
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2

a.wav 'ı MPEG sese 22050Hz örnek oranında dönüştürebilirsiniz.

  • duraksız görüntü girişinden duraksız görüntü çıkışına bir yol belirlerek Birkaç biçimi aynı anda kodlaya bilirsiniz:
ffmpeg -i /tmp/a.wav -ab 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0

a.wav 'ı a.mp2 64 kbit'e ve ve b.mp2 128 kbit'e dönüştürür. '-map file:index' her duraksız görüntü çıktısı için hangi duraksız görüntü girişinin kullanılacağını belirler.

  • Çözülmüş VOBler dönüştürebilirsiniz:
ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec mp3 -ab 128 snatch.avi

Bu bir tipik DVD ripleme örneğidir; giriş bir VOB dosyasıdır, çıkış MP3 ses ve MPEG-4 videolu AVI dosyasıdır. Şunu not etmeyi unutmayın MPEG-4 duraksız görüntüsünün DivX5 uyumlu olması için bu komutta B-karelerini kullanıyoruz, ve GOP boyutu 300 yani anlamı 29,97 fps video giriş için her 10 saniyede bir iç karedir. Ek olarak ses dudraksız akışı MP3 olarak kodlandı mp3lame i ayarladan açmalısınız. haritandırma DVD kodlarken istediğiniz ses dilini almak için önemilidir.

NOT: Desteklenen giriş biçimlerini ögrenmek için şunu kullanın

ffmpeg -formats.

[değiştir] Başlangıç Yardımı

[değiştir] Yazım kuralları

Genel yazım tarzı şöyledir:

ffmpeg [[girilen dosya seçenekleri][`-i' girilen dosya adı]]... {[çıkan dosya seçenekleri] çıktı dosyası adı}...

Eğer giriş dosyası verilmemişse, ses/video yakalama tamamlanmıştır. Genel bir kural olarak, kurallar bir sonraki belirlenen dosyaya uygulanır. Bu yüzden sıra önemlidir, komut satırında aynı seçeneğe bir çok defa sahip olabilirsin. Her oluşu bir sonraki giriş ve çıkış dosyasına uygulanır.

  • Video bitrate'ini 64kbit/s yapmak için :
ffmpeg -i input.avi -b 64k output.avi
  • Giridi ve çıktı dosyasının kare hızı 24 fps'ye çıkarılmasına zorlanması için :
ffmpeg -r 24 -i input.avi output.avi
  • Çıktı dosyasının kare oranının 24 fps'ye çıkarılmasına zorlanması için:
ffmpeg -i input.avi -r 24 output.avi
  • girdi dosyasının kare hızını 1 fps ve çıktı dosyasını 24 fps zorlamak için:
ffmpeg -r 1 -i input.avi -r 24 output.avi

Biçin seçeneği ham girdi dosyaları için gerekli olabilir. Ön tanımlı, FFmpeg mümkün olduğunca az kayıplı olarak çevirmeye çalışır: çıktılar için girdide belirtilenle aynı ses ve video parametrelerini kullanır.

[değiştir] Ana Seçenekler

-L  

Lisansı göster.

-h  

Yardım göster.

-version  

Sürümü göster.

-formats 

Mümkün biçimleri, kodekleri, protokolleri, ... göster

-f fmt 

Biçimi zorla.

-i filename  

Girdi dosyadı

-y  

Çıktı dolarının üzerine yaz.

-t duration 

Saniye olarak kayıt süresini ayarla. hh:mm:ss[.xxx] yazım kuralıayrıca desteklenmektedir.

-fs limit_size 

dosya boyutuna sınır koy. `-ss position' verilen saniyedeki pozisyona getir. hh:mm:ss[.xxx] yazım kuralı ayrıca desteklenmektedir.

-itsoffset offset 

Saniye olarak girdi zamanını dengele. [-]hh:mm:ss[.xxx] kuralı ayrıca desteklenmektedir. Bu seçenek bütün girdi dosyalarının takip etmesine neden olur. Girdi dosyalarının zaman etiketine, dengeleme zamanı etiketi ekle. Pozitif bir dengeleme belirlenirse ilgili duraksız akışlar verilen saniye kadar gecikir.

-title string 

Başlığı ayarla

-timestamp time 

Zaman etiketi ayarla.

-author string' 

Yazar ayarla.

-copyright string 

telif hakkını ayarla.

-comment string  

Yorum yerleştir.

-album string  

album ayarla.

-track number  

track numarası ayarla.

-year number  

yılı ayarla.

-v verbose 

giriş miktarı ayarla.

-target type  

Hedef dosyası biçimini belirle ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ... ). Bütün biçim seçenekleri (bitrate, codecs, buffer sizes) otomatik olarak ayarlanır. Siz sadece şunu yazın: ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg Ek olarak standarta uymayan seçeneklerde ekleye bilirsiniz aşağıdaki gibi : ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg

-dframes number  

Kayıt veri karelerinin sayısını ayarla.

-scodec codec 

Alt yazı kodekini zorla ('copy' akışı kopyalamak için).

-newsubtitle 

şuanki duraksız akışa yeni alt yazı akışı ekle.

-slang code  

Şu anki alt yazı akışına ISO 639 dil kodu (3 harfli) ayarlayın

[değiştir] Video Seçeneleri

-b bitrate
   

video bitrate bit/s olarak(ön tanımlı = 200 kb/s).

-vframes number

Kaydedilecek kare sayısını ayarlar.

-r fps 

Kare oranı ayarla (Hz değeri, bölüm veya kısaltma), (ön tanımlı = 25).

-s size
   

Kare boyutunu ayarlar.Biçimi wxh dir (ffserver ön tanımlı = 160x128, ffmpeg öntanımlı = kaynakla aynı). Şu kısatmalar kabul edilir:

sqcif 
  128x96 
qcif
  176x144 
cif
  352x288 
4cif
  704x576 
-aspect aspect

Karenin genişlik yükseklik oranını ayarlar.(4:3, 16:9 or 1.3333, 1.7777).

-croptop size
   

Üstten kesen bandın boyutunu (piksel olarak ayarlar)

-cropbottom size 

Alttan kesen bandın boyutunu (piksel olarak ayarlar)

-cropleft size 

soldan kesen bandın boyutu (piksel olarak)

-cropright size 
   

sağdan kesen bandın boyutu (piksel olarak)

-padtop size
   Üst blok boyutu ayarı (piksel olarak)
-padbottom size 
   

Taban bloğu boyutu ayarı (piksel olarak).

-padleft size 

sol blok boyutu ayarı (piksel olarak).

-padright size'
 

sağ blok boyutu ayarı (piksel olarak).

-padcolor (hex renkleri) 
   

Yerleştirilen bandların renğini ayarlar. Bant rengi 6 basamaklı exadecimal sayısı olarak belirlenir; ilk iki basamak kırmızı, orta iki basamak yeşil ve son iki basamak mavidir.(ön tanımlı = 000000 (siyah)).

-vn
   

video kayıtı kapat.

-bt tolerance'

video bitrate toleransını ayarla (bit/s olarak). 
-maxrate bitrate
   

En fazla bitrate toleransını ayarla (bit/s olarak).

-minrate bitrate 
   

En az bitrate toleransı oranı (bit/s olarak)

-bufsize size 
   

Tampon boyutu oranının ayarlanması (bit olarak).

-vcodec codec

Video kodekini zorla. özel bir değer verin ve raw(ham) kodek verisi böyle kopyalanması emri verin.

-sameq 
   

Kaynakla aynı kaliteyi kullan (VBR).

-pass n 
   

üzerinden geçme sayısını belirleyin (1 veya 2). 2 defa geçerek kodlamayı seçmek kullanışlıdır. videonun istatistiği birinci geçişte kaydedilir ve 2. geçişte istenilen bitratede kayıt edilir.

-passlogfile file 
   

iki geçişli dosya adını ver dosyaya

-newvideo 
   

Şuanki duraksız görüntü çıktısına yeni duraksız video görüntüsü ekle

[değiştir] Gelişmiş Video Seçenekleri

-pix_fmt format 

piksel biçimini ayarla

-g gop_size     

Resimlerin gurup olarak boyutlarını ayarla

-intra    

sadece iç kareler kullan

-vdt n  

eşiği kaldır.

-qscale q 

Sabit video nicemleyici ölçeği kullan(VBR).

-qmin q 

Minimum video nicemleyici ölçeği kullan(VBR).

-qmax q 

maximum video nicemleyici ölçeği kullan(VBR).

-qdiff q 

video nicemleyici ölçekleri arasındaki en büyük fark(VBR).

-qblur blur 

video nicemleyici ölçeği bulanıklaştırma(VBR).

-qcomp compression

video nicemleyici ölçeği sıkıştırılması(VBR).

-lmin lambda' 

minimum video lagrange faktörü (VBR)

-lmax lambda'

En fazla video lagrange faktörü (VBR)

-mblmin lambda 

minimum macroblock nicamleyici ölçeği (VBR)

-mblmax lambda 

maximum macroblock nicemleyici ölçeği (VBR) Bu dört seçenek (lmin, lmax, mblmin, mblmax) 'lambda' birimi kullanır , ama siz 'q' brimine dönüştürmek için basitçe QP2LAMBDA sabitini kullanabilirsiniz:

   ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
-rc_init_cplx complexity 

Tek geçişli kodlamada başlangıçtaki güçlük

-b_qfactor factor 

P- ve B- kareleri arasındaki qp faktörü

-i_qfactor factor 

P- ve I- kareleri arasındaki qp faktörü

-b_qoffset offset'

P- ve B- kareleri arasındaki qp dengeleyici

-i_qoffset offset 

P- ve I- kareleri arasındaki qp dengeleyici

-rc_eq equation 

Oran kontrol denklemi (bölüm 3.10 FFmpeg formül tahmin edici) (öntanımlı = tex^qComp).

-rc_override override 

Belirli aralıklara önem verme oranı kontrolü

-me method

Hareket tahmin metodunun ayarlanması. Mümkün olan metodlar (en düşükten en kaliteliye):

zero 

Sadece (0, 0) vektörünü dene

phods
log 
x1 
epzs 
(ön tanımlı metod) 
full 

yorucu arama (yavaş ve exhaustive search (slow and epzs'den kullanımını lüzumsuz bırakacak kadar iyidir.)

-dct_algo algo 

DCT algoritmasını algo olarak ayarla. Mümkün olan değerler:

   0 
      FF_DCT_AUTO (ön tanımlı) 
   1 
      FF_DCT_FASTINT 
   2 
      FF_DCT_INT 
   3 
       FF_DCT_MMX 
   4 
       FF_DCT_MLIB 
   5 
       FF_DCT_ALTIVEC 
-idct_algo algo 

IDCT algoritmasını algo olarak ayarla. Mümkün olan değerler:

    0 
       FF_IDCT_AUTO (ön tanımlı) 
    1 
       FF_IDCT_INT 
    2 
       FF_IDCT_SIMPLE 
    3 
       FF_IDCT_SIMPLEMMX 
    4 
       FF_IDCT_LIBMPEG2MMX 
    5 
       FF_IDCT_PS2 
    6 
       FF_IDCT_MLIB 
    7 
       FF_IDCT_ARM 
    8 
       FF_IDCT_ALTIVEC 
    9 
       FF_IDCT_SH4 
    10 
       FF_IDCT_SIMPLEARM 
-er n 

Hatalara dayanma gücünü n ye ayarla.

    1 
       FF_ER_CAREFUL (ön tanımlı) 
    2 
       FF_ER_COMPLIANT 
    3 
       FF_ER_AGGRESSIVE 
    4 
       FF_ER_VERY_AGGRESSIVE 
-ec bit_mask 

Hata gizlemeyi bit_mask olarak ayarla. bit_mask şu degerlerin bit maskesidir:

    1 
       FF_EC_GUESS_MVS (ön tanımlı = açık) 
    2 
       FF_EC_DEBLOCK (ön tanımlı = açık) 
-bf frames 

Kareleri B-kareler olarak kullan ( MPEG-1, MPEG-2 ve MPEG-4 için desteklenir).

-mbd mode 
   macroblock kararı
    0 
       FF_MB_DECISION_SIMPLE:  mb_cmp kullan (FFmpeg'de henüz değiştiremiyoruz). 
    1 
       FF_MB_DECISION_BITS: En az bit gerektireni seç  
    2 
       FF_MB_DECISION_RD: bozulma oranı
-4mv 

makroblok tarafından 4 hareket vektörü kullan(sadece MPEG-4).

-part 

Veri parçlanması kullan(sadece MPEG-4).

-bug param 

Otomatik olarak belirlenemeyen kodlama hatalartı üzerinde çalış.

 -strict strictness 

Standartların ne kadar sıkı kontrol edilecegi.

-aic 

gelişmiş iç kodlamayı mümkün kıl(h263+).

-umv 

sınırsız sayıda hareket vektörünü mümkün kıl (h263+)

-deinterlace 

resimleri Deinterlace yap.

-ilme 

kod çözücüde interlacing desteğini zorla (MPEG-2 ve MPEG-4de sadece). Bu seçeneği eğer girdi dosyanız interlaced ise ve interlaced biçimini en az kayıpla korumak istiyorsanız kullanın. Alternatif olarak deinterlace ile girdi vidoe akışını -deinterlace yapın, ama deinterlacing kayıplara neden olur.

-psnr 

Sıkıştırılmış karelerin PSNR'lerini hesapla.

-vstats 

video kodlama istatistiklerinin `vstats_HHMMSS.log' dosyasına dökümünü yap.

-vhook module 

Video işleme modulü yerleştir. Modül modul adını ve onun parametrelerini boşluklarla ayrılmış olarak içerir.

-top n 

top=1/bottom=0/auto=-1 ilk alan

-dc precision 

Intra_dc_precision.

-vtag fourcc/tag 

videoyu tag/fourcc zorla.

-qphist 

QP histogramını göster.

-vbsf bitstream filter 

Mümkün olan bitakışı filtreleri "dump_extra", "remove_extra", "noise".

[değiştir] Ses Seçenekleri

-aframes number 

Kayıt edilecek ses karelerinin sayısını ayarla.

-ar freq 

ses örnekleme frekansını ayarla (ön tanımlı = 44100 Hz).

-ab bitrate 

ses bitrate'ini kbit/s olarak ayarla (ön tanımlı = 64).

-ac channels'

Ses kanalı sayısnı ayarla (ön tanımlı = 1).

-an 

Ses kayıtını engelle.

-acodec codec 

Ses kodekini kodek'e zorla. Özel değer kopyala özelliğini kullanarak ham kodek verilerinin olduğu gibi kopyalanmasını sağlayın.

-newaudio 

Çıktı dosyasına yeni ses dosyası ekleyin. Eğer parametreleri belirlemek istiyorsanız, -newaudio (-acodec, -ab, etc..)den önce yapın. Çıktı sayısı girdi dosya sayısına eşitse haritalama otomatik olarak yapılır, değilse ilk eşleşen alınır. -map ile Haritalamanın üstüne yazabirsiniz. Örneğin:

   ffmpeg -i file.mpg -vcodec copy -acodec ac3 -ab 384 test.mpg -acodec mp2 -ab 192 -newaudio
-alang code 

şimdiki ses akışının ISO 639 dil kodunu ayarla.

[değiştir] Gelişmiş Ses seçnekleri

-atag fourcc/tag

Sesi tag/fourcc'ye zorla.

-absf bitstream filter

Mümkün olan Bitstream filitreleri "dump_extra", "remove_extra", "noise", "mp3comp", "mp3decomp".

[değiştir] Alt Yazı Seçenekleri

-scodec codec 

Alt yazı kodekini zorla (akışı kopyalamak için 'copy').

-newsubtitle 

Şuanki çıkıtı akışına yeni bir alt yazı akışı ekle.

-slang code 

şimdiki ses akışının ISO 639 dil kodunu ayarla.

[değiştir] Ses/Video yakalama seçenekleri

-vc channel 

video yakalama kanalını ayarla (sadece DV1394).

-tvstd standard 

Televizyon standartını ayarla (NTSC, PAL (SECAM).

-isync 

girişte senkronizasyonu oku.

[değiştir] Gelişmiş Seçenekler

-map input stream id[:girdi akışı id'si] 

Akış haritalanmasını girdi dosyasından çıktı dosyasına yap. Girdi akışlarını çıktıda istediğiniz sıra ile sıralayın . sync'ye karşı [girdi akışı id'si] girdi akışını ayarlar.

-map_meta_data outfile:infile 

giriş dosyasından çıkış dosyasın meta veri bilgilerini ayarlar.

-debug 

Özel debug bilgisini yazdır.

-benchmark 

benchmarking için süreleri ekle.

-dump 

Her girdi paketini dump et.

-hex 

Paketleri dump ederken, ayrıca pay loadıda dump et.

-bitexact 

Sadece tam bit algoritmelarını kullan (kodek testi için).

-ps size 

Paket boyutu bit olarak.

-re 

Yerel kare hızında girdiyi oku. genelde yakalama sihazını taklit etmek için kullanılır.

-loop_input 

Girdi dosyasını tekrar et. şimdilik sadece görüntü akışları ile çalışır. Otomatik ffserver testi için kullanılır bu seçenek.

-loop_output number_of_times 

Canlandırılmış gif gibi desteklenen biçinlerde sürekli çıktıyı tekrar et (0 sozsuza dek çıktıyı tekrar eder.)

-threads count 

Başlık sayar.

-vsync parameter 

Video sync metodu. zaman etiketleri ile eşleşmesi için video uzatır/sıkıştırılır. bu kareleri çoğaltarak yada azaltarak yapılır. -map ile hangi akışın zaman etiketlerinin alınacagını belirleyebilirsin. video veya sesi değiştirmeden veya kalan akışları değiştirilmemişle senkronize edebilirsiniz.

-async samples_per_second 

Ses senkronizasyon metodu. aman etiketleri ile eşleşmesi için ses akışı uzatır/sıkıştırılır, parametre değiştirilen dosyada saniyedeki en fazla örnek sayısıdır. -async 1 özel bir durumdur ses akışını başlatılmasını düzeltir sonrasını deiştirmez.

[değiştir] Terim Tanımları

Metinde geçen terimlerin tanımları

Bitrate: sıkça video ve ses kalitesi hakkında kullanılır - bir saniyelik ses veya videonun ne kadar fiziksel boşluk kapladığını bit(byte değil) olarak tanımlar. örneğin 3 dakikalık 128kbit/sec CBR bitrate MP3 ses dosyası 2.81 megabyte fiziksel boşluk kaplar (1,024x128/1,024/1,024x180/8)

B kare: (bi-directional frame kısaltması) Çift yönlü kare, MPEG standartı tarafından kullanılan bir sıkıştırma tipidir . Not: bir b kare içeriğini sadece bir önceki kareden değişen veriden veya bir sonraki kareden farkı veri olarak alınır. B kare oluşturmak I veya P kare oluşturmaktan daha fazla bilgisayar gücü gerektirir. B kare kullanımı 200:1 sıkıştırma oranına ulaşılmasını sağlar.

P kare: (predictive frame kısaltması) Tahmin edilebilir kare, MPEG standartı tarafından kullanılan bir sıkıştırma tipidir. P kareler I-kareleri izler ve sadece önceki I-karenin(renk ve içerik değişimleri gibi) değişen verilerini içerir. bu nedenler P-kareler veri içeriğini çoğunu doldurmak için I-karelere bağımlıdırlar.

I kare: (intraframe kısaltması) İç kare, PEG standartı tarafından kullanılan bir sıkıştırma tipidir. anahtar kare (keyframe) olarakda adlandırılır, tipik olarak sıkıştırılmış bir videoda I-kareler P-kareler ve B-kareler arasına serpiştirilir. Çok I-kare bulunan videolar daha kalitelidir ancak I-kareler çok bit içeririr ve çok yer kaplar.

ALGO: ALGO bir cebirsel programla dilidir. (1959–1961)de Bendix G-15 bilgisayarı için geliştirilmiştir.

Macroblock: Bir resim grubudur genelde 4lüdür(başatan başa 16 x 16 piksel), MPEG kodlaması esnasında analiz edilir ve kareler arasında resimde hareket eden cisimlerin tahmini yapar. Bu çözümlenen resimlerin içine makrobloklar yerleştirerek hareket vektörleri oluşturur.