FFmpeg temel komutları. Konsol video düzenleyicisi olarak FFmpeg Neden bu kadar çok komut var?

Geçen yazımda nasıl kurulacağını anlatmıştım.

Bu yazıda FFMpeg ile çalışmayı çok daha kolaylaştıracak temel komutlara bakacağım. Kılavuzlarda çok büyük miktarda bilgi bulunur, kural olarak bilinirler, bu nedenle bazı bilgiler gönderinin kapsamı dışındaysa "man ffmpeg" size yardımcı olacaktır.

Anlamak için daha basit yapılar, örneğin bu:

Ffmpeg -ss 5 -i a.mp4 -en boy oranı 4:3 -f image2 -r 1 -vframes 300 a%2d.jpg

Aşağıda en sık kullanılan seçenekleri listeleyeceğim.

ffmpeg seçenekleri

Bazı yararlı seçeneklere bakalım (parantez içindeki örnekler). Seçeneklerden herhangi biri belirtilmezse, FFmpeg bunları varsayılan değerlerden değiştirir:

-Ben— kaynak (giriş) dosyasının adını belirtir.
-İş Parçacığı— işlemci çekirdeği sayısını belirleyen sayısal bir değer. Bu da doğal olarak kodlama ve dosya işlemlerinin hızını etkiler. 0 sayısı, mevcut çekirdek sayısının otomatik olarak algılanmasını ayarlar ( -konular 2).
-T— kodlanmış videonun süresini tam saniye cinsinden veya ss:dd:ss biçiminde ayarlar.
-ss— video dosyasında kodlamanın başlayacağı konumu belirtir. Tam saniye veya ss:dd:ss şeklinde biçimlendirin.
-fs— bayt, kilobayt (k), megabayt (M) cinsinden sayısal değer. Önek kaydı önemlidir. Son dosyanın boyutunu sınırlar. Bir video dosyasının küçük bir parçasıyla denemeler yapmak için kullanışlıdır, böylece dosyanın tamamını kodlamanıza gerek kalmaz ( -fs 5M).
-y- bu seçenek, onay istemeden mevcut dosyaların üzerine yazar.
Video seçenekleri:
-vcodec— video kodlama için kullanılacak video codec bileşeni ( -vcodec mpeg4).
-vpre— video codec'i için bir ön ayar seçin. FFmpeg, kurulum yoluna bağlı olarak önce ~/.ffmpeg'de, ardından /usr/share/ffmpeg veya /usr/local/share/ffmpeg'de önceden ayarlanmış dosyaları arar. Aynı yolları kullanarak hangi ön ayar dosyalarının mevcut olduğunu kendiniz görebilirsiniz.
-F— zorla, son dosyanın formatını zorla belirtiriz ( -f avi).
-B— video akışı bit hızı. Varsayılan: 200kb/s ( -b 1500).
-bt— bit hızı toleransı. Varsayılan: 4000k. İki geçişli kodlama için, ilk geçişin belirtilen ortalama bit hızından ne kadar sapabileceğini gösterir. Değer minimum/maksimum bit hızıyla ilişkili değildir. Bu parametrenin çok fazla düşürülmesi kaliteyi olumsuz etkiler.
-R— saniyedeki kare sayısı. Varsayılan: 25 ( -r 15).
-S— çerçeve boyutu, yani çıktı video dosyasının çözünürlüğü. Varsayılan, kaynak dosyanın boyutuna göre belirlenir. Örneğin harf kısaltmalarıyla verilebilir svga 800x600 boyutu anlamına gelir. Mevcut tüm kısaltmaları şurada görebilirsiniz: adam ffmpeg. (-s 640×480 veya -s vga).
-bakış açısı— sayısal değerler, çıktı dosyasının en boy oranını belirler ( -boy oranı 4:3 veya -boy oranı 1.3333).
-kırpma
-kırpma tabanı
-krosol
-ürün hakkı— çerçeveleri üstten, alttan, soldan, sağdan kırpma. Değerler piksel cinsinden belirtilir. Örneğin siyah çizgileri gidermek için kullanılabilir ( -kırpma 15). Ffmpeg'in bazı sürümlerinde bu seçenekler kaldırılabilir ve bunun yerine seçenek kullanılabilir. -vf kırpma=genişlik:yükseklik:x:y. Bununla ilgili daha fazla bilgiyi aşağıdaki ilgili bölümde okuyun.
-geçmek— kodlama sırasındaki geçiş sayısı, 1 veya 2 ( -geçiş 2).
-G— anahtar karenin takip ettiği kare grubunun boyutu. Örneğin -g 300 29,97 fps kaynak video dosyası hızıyla her 10 saniyede bir anahtar kare ayarlar. Saniyede 30 kare * 10 saniye için = seçenek değeri 300 (bir DVD dosyasını kopyalamak için yaklaşık değer). Bit hızı ve saniyedeki kare sayısı ne kadar düşük olursa bu değer de o kadar düşük olmalıdır.
-deinterlace- “tarak” ın çıkarılması.
Ses seçenekleri:
-ar— ses örnekleme frekansını ayarlar. Varsayılan: 44100Hz ( -ar 22050).
-ab— ses parçası bit hızı. Varsayılan: 64kb ( -ab 256k).
-AC— ses kanalı kanallarının sayısı. Varsayılan olarak gelen akışlar için bu değer 1'dir, giden akışlar için ise kaynak dosyanın kanal sayısına eşittir. Başka bir deyişle, ses yakalıyorsanız varsayılan kanal sayısı 1'dir ve örneğin bir video dosyasından ses alıyorsanız varsayılan kanal sayısı kaynağa eşit olacaktır ( -ac 2).
-BİR— ses parçası olmadan video kodlama.
-acodec— ses kodlaması için kullanılacak ses codec bileşeni ( -acodec flac).
-apre— ses codec bileşeni için bir dizi ön ayar.

En sık kullanılan tasarımlar:
1. Bir video dosyası hakkında bilgi alma

Ffmpeg -i video.avi

2. Bir dizi resmi videoya dönüştürün

Ffmpeg -f resim2 -i resim%d.jpg video.mpg

Bu komut, geçerli dizindeki tüm görüntüleri (image1.jpg, image2.jpg, vb. adlı) video.mpg video dosyasına dönüştürecektir.


Ffmpeg -r 12 -y -i "image_%010d.png" çıktısı.mpg


burada videonun kare hızı (12) ayarlanır, "image_%010d.png" formatı, resimlerin image_0000000001.png, image_0000000002.png vb. biçiminde, yani printf formatında aranacağı anlamına gelir)

3. Videoları resimlere kesin

Ffmpeg -i video.mpg resim%d.jpg

Bu komut image1.jpg, image2.jpg vb. dosyaları oluşturacaktır, PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI formatları da desteklenmektedir.
4. Videoyu iPod/iPhone formatına dönüştürün

Ffmpeg -i source_video.avi girişi -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

Açıklamalar:

  • Kaynak: source_video.avi
  • Ses kodeği: aac
  • Ses bit hızı: 128kb/s
  • Video codec'i: mpeg4
  • Video bit hızı: 1200kb/s
  • Video boyutu: 320 x 180 piksel
  • Alınan video: final_video.mp4

5. Videoları PSP formatına dönüştürün

Ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

Linux işletim sisteminde sıklıkla videoyla çalışıyorsanız, muhtemelen ffmpeg yardımcı programını ve kitaplık setini duymuşsunuzdur. Bu, videoyla hemen hemen her şeyi yapmanıza olanak tanıyan güçlü bir platformlar arası kitaplıktır. Videoları birleştirebilir, kodlayabilir, değiştirebilir, kırpabilirsiniz, ancak tüm bunları terminal aracılığıyla yapabilirsiniz.

İlk bakışta bu çok zor görünebilir. Bir dereceye kadar bu doğrudur. Ancak mümkün olan en geniş özelleştirme seçeneklerine ve çok büyük esnekliğe sahipsiniz. Grafik araçları sıklıkla başarısız olur ve belirli bir formatı desteklemeyebilir. Ffmpeg kütüphanesi mevcut tüm formatları destekler ve neredeyse her zaman çalışır.

Diğer programlar sıkıştığında sizi kurtarabilir. Bu yazımızda videolu günlük çalışmalarınızda işinize yarayacak faydalı ffmpeg komutlarına bakacağız.

ffmpeg, farklı sorunları çözmek için çeşitli araçlar içeren en iyi multimedya çerçevelerinden biridir. Örneğin, ffplay taşınabilir bir medya oynatıcısıdır, ffmpeg yardımcı programı dosyaları işlemek ve tersine çevirmek için kullanılabilir, ffserver veri akışı için kullanılabilir ve ffprobe bir multimedya akışını analiz edebilir.

Yardımcı programlara ek olarak, ffmpeg seti aşağıdaki kütüphaneleri içerir: libavutil libavcodec libavformat libavdevice libavfilter libavresample libswscale libswresample libpostproc. Mimarisi nedeniyle bu araç seti çok güvenlidir ve onunla video veya ses ile ilgili hemen hemen her şeyi yapabilirsiniz. Bu yazıda esas olarak ffmpeg yardımcı programına bakacağız. Sözdizimine bakalım:

[kaynak seçenekleri]-i [kaynak] [temel seçenekler][codec'ler] [halef]

  • Kaynak Seçenekleri- dosya okuma parametrelerini, ayarlarını vb. belirtin;
  • Kaynak-i seçeneği, dosyanın okunacağı kaynağı belirtir; birkaç kaynak olabilir ve bu yalnızca bir dosya değil aynı zamanda bir cihaz da olabilir;
  • Temel seçenekler- tüm yardımcı programın çalışma parametrelerini ayarlayın;
  • Codec'ler- video ve ses kaydetmek için kullanılacak codec bileşeni;
  • Varis- verilerin yazılacağı dosya veya cihaz.

Şimdi seçenekleri ayrıntılı olarak ele almayacağız; bunları daha sonra komutların kendisinde ele alacağız.

Yararlı ffmpeg komutları

Daha önce de söylediğim gibi, ffmpeg yardımcı programı çoğu ses ve video formatını destekler. Hangi formatların desteklendiğini kontrol etmek için aşağıdakileri çalıştırabilirsiniz:

Bu aracı kullanmaya yeni başlıyorsanız, size çok yardımcı olabilecek bazı komutları burada bulabilirsiniz. Daha sonra ffmpeg'in nasıl kullanılacağını öğreneceksiniz.

1. Video bilgilerini alın

Bir video hakkında erişilebilir bilgi almak için kaynak dosyayı belirtmeniz yeterlidir. Bu komutu çalıştırın:

ffmpeg -i video.mp4 -hide_banner

-hide_banner seçeneği programa kendisi, oluşturma seçenekleri vb. hakkındaki bilgileri göstermemesini söyler. Komutu bu seçenek olmadan çalıştırabilirsiniz, ardından ffmpeg hakkında da dahil olmak üzere tüm bilgileri alacaksınız:

ffmpeg -i video.mp4

2. Videoyu karelere bölün

Bir videoyu görüntülere bölmek için aşağıdaki komut işe yarar:

ffmpeg -i video.mp4 resim%d.jpg

Yardımcı program image1.jpg, image2.jpg, image3.jpg vb. adlarda görüntüler oluşturacaktır. Tamamlandığında, video klasöründe çok sayıda resim bulacaksınız.

3. Görüntülerden video derleyin

Ortaya çıkan fotoğraf setini çekebilir ve her şeyi tekrar videoya yerleştirebilirsiniz. Bunu yapmak için şunu çalıştırın:

ffmpeg -f resim2 -i resim%d.jpg resimlertovideo.mpg

-f seçeneği giriş dosyası formatını belirtir; jpeg, png, jpg ve diğer görselleri kullanabilirsiniz. Desteklenen ffmpeg formatlarını nasıl görüntüleyeceğinizi zaten biliyorsunuz.

4. Videodan ses çıkarın

Videoyu mp3'e dönüştürmek için şu komutu çalıştırın:

ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 ses.mp3

Yeni seçeneklerin açıklaması aşağıda verilmiştir:

  • -vn- videoyu işlemeyin, tüm video bilgileri silinecektir;
  • -ar- hertz cinsinden ölçülen örnekleme frekansı, ne kadar yüksek olursa ses kalitesi de o kadar iyi olur;
  • -ab- ses bit hızını ayarlar;
  • -AC- kanal sayısını ayarlar;
  • -F- alınan dosyanın biçimini gösterir.

5. flv'yi mpg'ye dönüştürün

flv'yi mpg run'a dönüştürmek için:

ffmpeg -i video.flv video.mpg

6. Videoyu gif'e dönüştürün

Aynı şekilde, bir videoyu animasyonlu bir GIF görüntüsüne dönüştürebilirsiniz:

ffmpeg -i video.flv animasyonlu.gif

Ffmpeg codec bileşenlerini ve formatını belirtmiyoruz çünkü programın kendisi bunları uzantıya göre belirleyebilir.

7. mpg'yi flv'ye dönüştürün

Mpg videoyu flv'ye dönüştürmek için şunu yapın:

ffmpeg -i video.mpg -ab 26k -f flv video1.flv

Burada bit hızını ve formatı zaten ayarladık.

8. avi'yi mpeg'e dönüştürün

Bunu yapmak için şu komutu çalıştırın:

ffmpeg -i video.avi -hedef pal-dvd -ps 2000000000 -aspect 16:9 video.mpeg

Kullanılan seçenekler:

  • -hedef arkadaş-dvd- giden dosya formatı;
  • -ps 2000000000- alınan dosyanın maksimum boyutu;
  • -boy oranı 16:9- ekran en boy oranı.

9. Videoyu CD veya DVD formatına dönüştürün

Ffmpeg videoyu DVD formatına dönüştürmek için -target seçeneğini kullanarak formatınızı belirtmeniz gerekir. Aşağıdaki formatlar mevcuttur: vcd, svcd, dvd, dv, pal-vcd veya ntsc-svcd. Bir VCD oluşturmak için şunları yapın:

ffmpeg -i video.mpg -hedef vcd vcd_video.mpg

10. Ses ve videoyu birleştirin

Aşağıdaki komutu kullanarak video ve ses dosyasını tek bir parçada birleştirebilirsiniz:

ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg

11. Video hızını artırın/azaltın

Video oynatma hızını artırmak için -vf seçeneğini kullanarak filtreler kullanacağız. Setpts filtresi hızdan sorumludur. Örneğin:

ffmpeg -i video.mpg -vf "setpts=4*PTS" yüksek hız.mpg

Hızı şu şekilde azaltabilirsiniz:

ffmpeg -i video.mpg -vf "setpts=0,5*PTS"lowspeed.mpg -hide_banner

12. Videodan bir dikdörtgen kesin

Filtreler ayrıca bir videonun karesinin belirli bir bölümünü kesmek için de kullanılır. Bu sefer kırpma filtresi:

ffmpeg -i giriş.mp4 -vf "kırp=çıkış_w:çıkış_h:x:y" çıkış.mp4

  • dışarı_w- istenen dikdörtgenin genişliği;
  • dışarı_h- istenen dikdörtgenin yüksekliği;
  • x,y- dikdörtgenin koordinatlarını videonun başından itibaren ayarlayın.

Örneğin 80x60 boyutunda bir dikdörtgeni 100x200 konumundan keselim:

ffmpeg -i in.mp4 -vf "kırp=80:60:200:100" video.mp4

Bu seçeneklere ek olarak, ffmpeg kodlamasını paralel olarak gerçekleştirmek için ffmpeg codec'lerini ve formatlarını burada ayarlayabilirsiniz.

13. Videoyu kırpın

Burada filtreler bize yardımcı olmaz ancak hangi noktada başlamamız ve nerede bitirmemiz gerektiğini belirtmek için seçenekleri kullanabiliriz, örneğin:

ffmpeg -i video.mp4 -ss 00:01:00 -t 00:01:00 -c video_clip.mp4'ü kopyala

Bir dakikadan başlayıp başka bir dakika yazıyoruz:

  • -ss videonun kaydın başlayacağı zamanı ayarlar;
  • -T kaydın ss'ye göre tamamlanması gereken zamanı belirtir;
  • -İle ses ve video için codec bileşenlerini ayarlar; bizim durumumuzda, hiçbir şeyi yeniden kodlamadan dosyaları kopyalamanız yeterlidir.

14. İki videoyu birleştirin

İki videoyu birleştirmek için şu komutu kullanın:

ffmpeg -i concat:"video1.mpg|video2.mpg" -c video.mpg'yi kopyala

15. Videoyu oynat

Kalitesini değerlendirmek için bir videoyu hızlı bir şekilde oynatabilirsiniz, bunun için bir komut vardır:

ffvideo oynat.mp4

Program hem videoyu hem de sesi açar.

16. Ses için fotoğraf banner'ı

Aşağıdaki komutu kullanarak ses kaydınıza bir fotoğraf banner'ı ekleyebilirsiniz:

ffmpeg -loop 1 -i image.jpg -i Bryan\ Adams\ -\ Heaven.mp3 -c:v libx264 -c:a aac -katı deneysel -b:a 192k -en kısa çıktı.mp4

Seçeneklere bakalım:

  • -döngü- her zaman aynı resmi tekrarlamanız gerektiğini belirtir;
  • -Ben- gelen dosyaları, resim ve ses dosyasını belirtin;
  • -с:v- video codec bileşenini -vc'ye eşdeğer olarak ayarlar;
  • -CA- -ac'ye eşdeğer ses codec bileşenini belirtir;
  • -b:a- ses bit hızını -ab'ye eşdeğer olarak ayarlar;
  • - katı deneysel- ffmpeg için aac codec bileşeni deneyseldir, dolayısıyla onu kullanmak için bu seçeneğe ihtiyaç vardır.

17. Videolara altyazı ekleyin

Örneğin subtutle.srt adında ayrı bir altyazı dosyanız varsa, bunu videoya eklemek için şuna benzer bir komut kullanabilirsiniz:

ffmpeg -i video.mp4 -i altyazılar.srt -map 0 -map 1 -c kopya -c:v libx264 -crf 23 -preset çok hızlı video çıkışı.mkv

sonuçlar

Bunların hepsi bugün ele alınan yararlı ffmpeg komutlarıdır. Ancak yardımcı programın resmi belgelerini görüntüleyerek daha fazla komut ve daha fazla özellik bulabilirsiniz. Çok ilginç ve kullanışlı başka ffmpeg komutları biliyorsanız, yorumları yazın!

Tatlı olarak, video codec bileşenlerinin ve kodlayıcıların ne olduğuna ilişkin bir videonun yanı sıra ana video formatlarının bir açıklaması:

Bu yazıda, acemi Linux kullanıcıları (ve Windows için de) için FFmpeg'in ne olduğunu "parmaklarda" açıklamaya çalışacağız. FFmpeg, multimedya ve web geliştiricileri arasında popüler bir program ve kütüphane setidir. FFmpeg'e dayanarak, videoyu bir formattan diğerine dönüştürmek için birçok program yapılmıştır. Bu programın popülaritesi son derece yüksektir. Neden bu kadar popüler? En sık ne için kullanılır? Nasıl kurulur ve nasıl çalıştırılır?

Yani, Ubuntu'yu yeni öğrenmeye başlayan deneyimsiz bir Linux kullanıcısının dikkatini çekebilecek FFmpeg'in temel özellikleri:

  • FFMpeg ücretsizdir.
  • Tüm Linux dağıtımlarında mevcuttur.
  • Herhangi bir filmi izleyebilirsiniz.
  • Her türlü video formatıyla çalışır.
  • Videoyu bir formattan diğerine dönüştürmenizi sağlar.
  • Birden fazla işlemcide paralel kodlamayı destekler.
  • NVidia kartlarında hızlandırılmış kodlama.
  • FFmpeg'i programlarınızda kullanabilir ve daha sonra satabilirsiniz.

FFmpeg Linux, Windows ve Mac Os'ta mevcuttur. Ve her yerde aynı şekilde çalışıyor. Dolayısıyla, Windows'ta FFmpeg ile çalışmayı öğrendiyseniz, onu Linux'ta da aynı şekilde çalıştırmanız gerekir ve bunun tersi de geçerlidir.

FFmpeg kesinlikle kendi kendine yeten. Film izlemek için internette arama yapmanıza, codec bileşenlerini indirip yüklemenize gerek yoktur. Sadece bir dosya (ffplay.exe) yeterlidir, tüm codec bileşenleri bu dosyanın içinde bulunmaktadır.

FFmpeg- özgür yazılımı (GPL 2.0 ve LGPL 2.1 lisansları) ve kodunu hem ticari hem de ücretsiz olarak dağıtılan projelerinizde kullanabilirsiniz.

Daha önce de belirtildiği gibi FFmpeg bir program koleksiyonudur. “Program seti” ne anlama geliyor? Tüm programları indirmem gerekiyor mu yoksa ayrı ayrı indirebilir miyim? İçinde ne var? Şimdi bu soruları cevaplamaya çalışacağız.

Ama önce terimi tanımlayalım FF mpeg'in kısaltması F ast F orward Mpeg. FFmpeg'den bir dizi program olarak bahsettiğimizde ilk iki “F” harfinin büyük olması gerekir (FF).

Yani FFmpeg aşağıdaki araçlardan oluşur: ffmpeg, ffplay, ffserver, ffprobe(not: her şey küçük harfle yazılmıştır). Windows için bunlar sıradan exe dosyalarıdır. Üstelik boyutları çok etkileyici. Mesele şu ki, tüm video ve ses codec bileşenleri zaten bunların içindedir. Bir film izlemeniz gerekiyorsa, internetten ffplay.exe dosyasını indirmeniz yeterlidir, başka hiçbir şeye gerek yoktur. Yükleyici yok, codec yok, Yönetici hakları gerekli değil. İndirip sıkıştırdıktan sonra filmi izlemeye başlayabilirsiniz.

Windows'ta FFmpeg, her dosyanın boyutu 38-39Mb'dir, tüm codec bileşenleri yürütülebilir dosyanın "içinde" derlenir ve bağlanır.

ffmpeg

Bu programla videoları bir formattan diğerine dönüştürebilirsiniz. Birkaç videoyu tek bir videoda birleştirin. Videoyu ayrı karelere (görüntülere) ayırın ve ardından bunları tekrar birbirine yapıştırın. Hızlandırın/yavaşlatın, yakınlaştırın, altyazı ekleyin ve birden fazla ses parçası ekleyin. Ve 100.500 daha faydalı eylem.

Bu komut için mevcut seçeneklerin listesi 203 sayfayı kapsar:

Etkileyici, değil mi?

ffoyna


Film izlemek için kullanılır. FFmpeg'i film izleyerek tanımaya başlarsanız, ihtiyacınız olan şey ffplay'dir. İlk aşamada, yeni başlayanlar için FFmpeg paketinin tamamı yalnızca bu programın kullanılmasına indirgeniyor.

ffsunucu


Birdenbire YouTube'a benzer şekilde kendi video barındırma hizmetinizi oluşturmak istiyorsanız ffserver'ı kullanın.

ffprobe


İndirdiğiniz filmle ilgili her şeyi (formatı, süresi, ses parçası sayısı ve çok daha fazlası) size anlatacak sihirli bir program. Film hakkında o kadar çok bilgi gösterecek ki hepsini okumak yarım gününüzü alacak.

Dört programa ek olarak, FFmpeg paketi aynı zamanda serbestçe dağıtılan bir dizi kitaplık da içerir (yukarıdaki programların derlendiği):

  • libavutil- bir dizi yardımcı fonksiyon;
  • libavcodec'i— ses/video codec'leri;
  • libav biçimi— konteynerlerle çalışmak için kütüphane;
  • libav cihazı— medya içeriği sağlayan cihazlarla çalışmak;
  • libav filtresi— çeşitli filtreler;
  • libswscale— kütüphaneyi ölçeklendirme, renk uzaylarıyla çalışma;
  • libswresample— ses işleme kütüphanesi.

Prensip olarak, FFmpeg projesinin tamamı bu kütüphaneler sayesinde başlatıldı ve programlar zaten bir bonustu :)

Bu kitaplıkları kullanarak multimedya içeriğiyle çalışmak için kendi uygulamalarınızı oluşturabilir ve hatta bunları satabilirsiniz. Kendi video oynatıcınızı veya video dönüştürücünüzü yazmak zor değildir. Web, FFmpeg kitaplıklarının nasıl kullanılacağına ilişkin eğitimler ve talimatlarla doludur.

Hikaye

FFmpeg'in tarihi de içeriği kadar zengindir. 2000 yılında başlayan bu uygulama, 2011 yılında güçlü bir şok yaşadı; bazı geliştiriciler medya içeriğiyle çalışmak için kendi kütüphanelerini oluşturmaya karar verdiler ve buna Libav adını verdiler. Esasen tüm gücün tek kişinin elinde olduğu ve tüm kararların yalnızca onun tarafından alındığı FFmpeg projesinin organizasyonundan memnun kalmayarak projeden ayrılma isteklerini açıkladılar.

Artık Libav kendi yoluna gidiyor ve kimseyi dinlemiyor. Kod FFmpeg kadar sık ​​​​güncellenmez. Her güncelleme dikkatlice kontrol edilir.

FFmpeg borç içinde kalmadı ve düzenli olarak iki günde bir Libav ekibi tarafından yapılan kod değişikliklerini kendi deliğine alıyor :-)

Şu anda, kaynak kod deposunun ekran görüntüsünden de anlaşılacağı üzere FFmpeg aktif olarak gelişmeye devam ediyor:

Kurulum

FFmpeg o kadar popüler ki birçok Linux dağıtımında varsayılan olarak yer alıyor. Herhangi bir nedenle hemen yüklemediyseniz bunu daha sonra paket yöneticisini kullanarak yapabilirsiniz. Yeni başlayanlar için FFmpeg'i yüklemek herhangi bir sorun teşkil etmemelidir. Linux dağıtımınıza bağlı olarak bir dizi standart komutu çalıştırmanız gerekecektir.

Sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install ffmpeg

Yum -y ffmpeg ffmpeg-devel'i yükleyin

openSuSe

Fermuar kurulumu ffmpeg

Windows için FFmpeg'in en son sürümleri şu adresten indirilebilir:

https://ffmpeg.zeranoe.com/builds/

İki tür FFmpeg

FFmpeg'in bilgisayarınıza gelmesinin iki biçimi vardır:

1) statik yapı— bu durumda, tüm codec bileşenleri, filtreler ve yardımcı programlar ffmpeg.exe'nin (ffprobe.exe, ffplay.exe) "içinde" derlenir ve bir filmi izlemeye başlamak için bu dosyalardan yalnızca birini (ffplay.exe) indirmeniz gerekir. Bu durumda, yürütülebilir modülün boyutu büyük ölçüde şişirilir (39Mb'ye kadar). Ama çok uygun.

2) paylaşılan yapı- burada codec'ler, filtreler ve diğer yardımcı programlar, FFmpeg'in gerektiğinde bulduğu ve yüklediği bağımsız ayrı dosyalardır. Bu durumda çalıştırılabilir modülün boyutu yalnızca 190Kb'dir.

Eğer FFmpeg'i Linux'a kurarsanız, paylaşımlı yapının kurulma ihtimali %99,9'dur.

Şahsen ben statik yapıyı tercih ediyorum (diğer kütüphaneleri düşünmeye gerek yok). Linux altında statik yapı elde etmek için FFmpeg'i kaynak kodundan kendiniz oluşturmanız gerekir. Yeni Linux kullanıcıları için bu zor olabilir.

Film nasıl izlenir?

Her şey açık ama film nasıl izlenir? Yukarıda belirtildiği gibi, ffplay (ffplay.exe - Windows için) bir konsol programıdır, yani grafiksel bir arayüze sahip değildir. Videoyu izlemek için komut satırında çalıştırmanız gerekir:

Ffmpeg.exe film.avi

bundan sonra film hemen oynatılmaya başlar:

Acemi bir kullanıcı için, bir filmi başlatmanın bu yöntemi alışılmadık görünebilir. Ancak ffplay'in tüm gücü budur. Resmi en zorlu film severler için özelleştirmenize yardımcı olacak ffmpeg ile aynı çok sayıda seçeneğe sahiptir.

Windows komut satırıyla çalışırken emin değilseniz aşağıdaki yöntemi kullanabilirsiniz. Filmi farenizle alın ve ffplay.exe'ye sürükleyin, film hemen oynatılmaya başlayacaktır.

Oynatma kontrolü (komutların kısa listesi):

q,ESC- çıkış,
F— tam ekran (farenin sol tuşuyla çift tıklayın),
P- Duraklat
M— ses açma/kapama,
9, 0 - ses seviyesini artırma/azaltma,
T- altyazıları değiştirme,
C- döngü programı
S— film boyunca kare kare hareket,
sol/sağ ok— 10 saniye geri/ileri hareket ettirin,
aşağı/yukarı ok— 1 dakika ileri/geri git,
sayfa aşağı/sayfa yukarı— 10 dakika ileri/geri git.

Ffplay oynatıcısının grafik arayüzü oldukça münzevi görünüyor veya daha doğrusu hiç mevcut değil. Grafik arayüzlü medya oynatıcılarda olağan kaydırıcılar, düğmeler, menüler yoktur. Ffplay ile çalışırken, “The Matrix” filmindeki gibi sadece filmin kendisini ve terminal penceresinde bazı garip sayıların ve kelimelerin yanıp söndüğünü görüyorsunuz. Aslında filmi klavyeden kontrol etmek basit ve anlaşılır; birkaç izlemeden sonra parmaklarınız hangi tuşlara basacağını hatırlayacaktır.

Ffplay'in çeşitli seçeneklerle başlatılmasına ilişkin birkaç örnek:

Resim boyutunu genişliğin 4 katı kadar küçültün

Ffplay -vf ölçeği=iw/4:-1 video.avi

Videoyu gürültüden arındırın

Ffplay -vf hqdn3d=4:3:6:4.5 video.avi

2 kat hızlanma

Ffplay -vf setpts=0,5*PTS video.avi

Nasıl yeniden kodlanır?

Mpg'yi avi'ye dönüştür

Ffmpeg -i video.mpg video.avi

Videodan ses çıkarın ve MP3 olarak kaydedin

Ffmpeg -i video.mp4 -vn -ab 128 ses.mp3

Ses ve videoyu birleştirin

Ffmpeg -i audio.wav -i video.avi final_video.mpg

Video parçasını çıkart (ses olmadan)

Ffmpeg -i video.mp4 -an video_bez_zvuka.mp4

Videoyu yeniden boyutlandır

Ffmpeg -i video.mp4 -s 640x480 -c:a kopya video640480.mp4

Videonun ilk 45 saniyesini atın ve 40 saniye süren bir bölüm bırakın

WAV'ı MP3'e dönüştürün

Ffmpeg -i ses.wav -b:a 192k ses.mp3

Videoyu çerçevelere (görüntülere) ayırın

Ffmpeg -i video.webm başparmak%04d.jpg

Bir dizi görüntüden video yapın

Ffmpeg -i çerçeve-%03d.png video.avi

Çözüm

Bu makale okuyucuya en güçlü FFmpeg programları setini tanıtmayı amaçlamaktadır. FFmpeg paketinin kısa bir açıklaması verilmiştir. Video izlemek ve ses ve video materyallerini işlemek (dönüştürmek) için kullanımına ilişkin örnekler verilmiştir.

FFmpeg paketinin yeteneklerinin yalnızca küçük bir kısmı listelenmiştir. İlk bakış için bu kadar yeterli sanırım. Perde arkasında çok geçişli kodlama, filtreler ve filtre zincirleri, Avisynth ile kombinasyon ve FFmpeg'in üçüncü taraf kodlayıcılarla birleştirilmesi gibi FFmpeg özellikleri kaldı.

Bu makalenin amacı, acemi Linux kullanıcıları için FFmpeg'in medya içeriğiyle çalışırken vazgeçilmez bir araç olması gerektiğini göstermekti. GUI eksikliğinden korkmanıza gerek yok. Konsoldan ses ve videoyla çalışmak da çok etkili olabilir.

Not: FFmpeg'i sık sık kullanmam gerektiğinden tüm popüler kullanım tekniklerini tek bir kitapta toplamaya karar verdim.

FFmpeg, video ve ses dosyalarını düzenleme ve dönüştürmeyle ilgili neredeyse tüm temel işlemleri gerçekleştirmenize olanak tanıyan bir dizi kitaplık ve komut satırı yardımcı programıdır. Aşağıda, video düzenlerken yararlı olabilecek FFmpeg ile çalışmaya yönelik ana komutların bir kopyası bulunmaktadır. Özellikle video ve ses dosyalarının kalite kaybı olmadan, tahribatsız olarak düzenlenmesine dikkat ediyoruz. Lisans: GNU LGPL ve GNU GPL. Web sitesi: http://ffmpeg.org

Yeni başlayanlar için FFmpeg

Akıllı telefonlar, kameralar ve diğer dijital cihazları kullanarak dijital formatlarda video çekmek yaygınlaştı. Doğal olarak, örneğin YouTube'da yayınlamak için yakalanan videoları bir şekilde düzenlemeye ihtiyaç vardır. Yani, videoların sıklıkla kesilmesi, ses parçasının değiştirilmesi veya silinmesi, video formatının boyutunun değiştirilmesi ve ardından her şeyin tek bir video dosyasında birleştirilmesi gerekir.

Bu kitlesel aktivite için birçok program oluşturuluyor. Örneğin, daha önce Windows sistemlerine sağlanan MoveMaker video düzenleyicisini ele alalım. FFmpeg adı verilen medya dosyalarını düzenlemek ve dönüştürmek için bir dizi yardımcı programa ve kitaplığa bakacağız.

FFmpeg'in iyi yanı:

    FFmpeg dosyaları kamu lisansı altında mevcuttur. Yani kaynak kodu incelemeye, değiştirmeye ve dağıtıma serbestçe açıktır. Ve programların kendisi de halk kütüphanesindeki kitaplar gibi pratik olarak ücretsizdir.

    Genel programlarda olduğu gibi, FFmpeg tüm popüler işletim sistemleri (GNU/Linux, Windows, MacOS) için dağıtılır.

    FFmpeg programları konsol tabanlıdır; multimedya dosyalarını doğrudan komut satırından düzenleyebilirsiniz. Örneğin web sitelerinde, çeşitli türdeki komut dosyaları ve komut dosyalarındaki video ve ses dosyalarının işlenmesini otomatikleştirmek için FFmpeg yardımcı programlarını vazgeçilmez kılan şey.

    FFmpeg'in, neredeyse tüm durumlar için çeşitli multimedya dosya formatları için çok sayıda codec bileşenini destekleyen kendi kütüphanesi vardır. Ayrıca, üçüncü taraf codec bileşenlerini bağlama özelliğiyle FFmpeg oluşturabilirsiniz.

    Buna göre, konsol yardımcı programları için, örneğin MoveMaker'a benzer, işlemlerin komut satırı aracılığıyla değil, grafiksel bir arayüz ve fare kullanılarak gerçekleştirildiği yazılım kabukları da oluşturabilirsiniz. Kamu lisansı sayesinde, FFmpeg bileşenleri video kod dönüştürme ve düzenlemeye yönelik çoğu programda pratik olarak bulunabilir.

    İş için FFmpeg, kaliteyi kaybetmeden birçok videoyu düzenlemenize olanak tanır. Ortalama tüketicinin genellikle sıkıştırılmamış veya kayıpsız video çekme fırsatı yoktur; videolar zaten sıkıştırılmıştır ve yeniden kodlamayla daha fazla düzenleme yapmak, video görüntüsüne daha fazla yapaylık katacaktır. Bu nedenle, video dosyalarının sıkıştırılmadan tahribatsız olarak düzenlenmesi ihtimalinin kimseye zararı olmayacaktır.

Ayrıca FFmpeg'in bir alternatifi olduğu da unutulmamalıdır - Libav çatalı. Komut parametresi sözdizimi her iki durumda da aynıdır.

Formatlar ve codec'ler hakkında

Kısaca lirik olmayan bir konu olarak video ve ses dosyası formatlarından bahsetmem gerekiyor. Bu yardımcı program ve kitaplık setinin komutlarının sihirli büyü gibi görünmemesi için bunu anlamak gereklidir.

Tipik olarak bir video dosyası bir kapsayıcıdır. Bu, birçok dosya içeren, zip veya tar arşivleyici tarafından oluşturulan bir arşive benzer. Temel olarak böyle bir kap, video veri dosyalarını, bir veya daha fazla ses parçasını içerebilir, altyazıların metin dosyaları olabilir ve başka veriler de olabilir. Tipik olarak, bir kapta bulunan bu dosyalara akış adı verilir.

Video için yaygın kapsayıcı formatları 3gp, MP4, MOV, MPEG, AVI, MKV (Matryoshka), WEBM vb.'dir. FFmpeg bu tür çok sayıda kapsayıcı formatla çalışır.

Ses dosyası formatı - MP3, OGG Vorbis, WAV, vb. - genellikle tür, yazar, sanatçı vb. hakkında bir ses parçası ve metin meta verileri içerir.

Kaplardaki video verilerinin kendisi, codec'ler - video kodlama ve kod çözme programları tarafından belirlenen çeşitli formatlar biçiminde "paketlenir". En popüler codec bileşenleri MP4 kapsayıcısı için H.264 ve H.265 codec bileşenleri, WEBM kapsayıcısı için V8 ve V9'dur.

FFmpeg, egzotik olanlar da dahil olmak üzere çok sayıda codec bileşeniyle çalışır. FFmpeg'deki olası codec bileşenlerinin listesini -codecs parametresiyle ffmpeg komutunu çalıştırarak öğrenebilirsiniz.

ffmpeg-codec'ler

Video verilerinin ana parametreleri şunlardır:

  • video görüntü çözünürlüğü - örneğin 320x240, p720 vb.;
  • video akışını oluşturmak için kullanılan format ve codec bileşeni;
  • bit hızı - bir videoyu bir saniyede oynatmak için gereken kilobayt veya megabayt cinsinden veri miktarı - örneğin, 240 Kb/s, 1Mb/s;
  • kare hızı - saniyedeki kare sayısı (saniyedeki kare) - örneğin 24 fps, 30 fps.

Ses verileri için önemli parametreler şunlardır:

  • ses akışını oluşturmak için kullanılan format ve codec bileşeni;
  • örnekleme frekansı - örneğin 44 KHz;
  • bit hızı - bir saniyede bir ses dosyasını oynatmak için gereken kilobayt cinsinden veri miktarı - örneğin, 96 Kb/s, 128Mb/s;
  • mono mod, stereo mod vb.

Ama aslında daha fazla parametre var. Multimedya dosyasının yolunu ve adını aktaran -i parametresi ile fmpeg komutunu kullanarak video konteynerinin parametrelerini ve içerdiği video ve ses verilerini kolayca öğrenebilirsiniz.

Ffmpeg -i video.mp4

VidCutter: FFmpeg için GUI

Ancak FFmpeg'i yalnızca komut satırından kullanmaya başlayabilirsiniz. Ayrıca FFmpeg için grafiksel kabuklar da vardır - temel komutların ve işlemlerin grafiksel bir arayüz ve fare kullanılarak gerçekleştirilebildiği programlar.

Bu kadar basit bir grafik kabuğun örneği, çok basit VidCutter programıdır. Video dosyalarını yeniden kodlamadan, yani kalite kaybı olmadan kırpmak için grafik arayüzü kullanmanızı sağlar.

Bu programda çalışmak tek bir işlemden oluşur - parçanın başlangıcını ve sonunu seçin ve video kırpma düğmesine basın. Ancak çoğu durumda video dosyalarını kırpmaktan daha fazlası var.

FFmpeg yardımcı program kitini yükleme

Linux. FFmpeg yardımcı programları genellikle tüm Linux dağıtım depolarında bulunur ve bu dağıtımların yerel paket yöneticileri tarafından kolayca yüklenir. Ayrıca hazır ffmpeg ikili derlemelerini resmi web sitesinden indirebilir ve bunları doğrudan ana klasörünüzden çalıştırabilirsiniz. Veya kaynaklardan derleyin.

İçin pencereler Ve Mac os işletim sistemi Hazır FFmpeg ikili derlemelerini içeren bir arşivi resmi web sitesinden indirebilir ve bunları herhangi bir dizine açabilirsiniz. Gerekli yardımcı programlar genellikle bin klasöründe bulunur. Bu yardımcı programların yolunu doğrudan komut satırında belirterek veya yardımcı programların yolunu genel sistem değişkenleri aracılığıyla ekleyerek bunları komut satırından çalıştırmanız gerekir.

FFmpeg setinde iki ana yardımcı program vardır:

  • ffmpeg - multimedya dosyalarıyla yapılan tüm işlemler için bir yardımcı program;
  • ffplay, başka herhangi bir oynatıcının yerine kullanılabilecek çok basit bir medya oynatıcısıdır.

FFmpeg ile düzenleme

Diyelim ki, bir zamanlar eski bir Canon, Nikon veya video kamera tarafından yapılmış, bizim için değerli olan birkaç video dosyamız var. Bu videolardaki fazlalıkları kesip, arka plan seslerini kaldırıp biraz müzik eklemek istedik. Daha sonra yeniden kodlama veya kalite kaybı olmadan her şeyi tek bir dosyada birleştirin.

Bu dosyaları ayrı bir klasöre koyalım ve komut satırından bu klasöre giderek video dosyalarını ffmpeg komutlarını kullanarak düzenleyelim.

Ayrıca ffmpeg yardımcı programının komut satırı parametrelerinin doğru sırasını ve gruplanmasını da korumanız gerekir:

  • Düzenleme ve düzenleme için giriş dosyasının/dosyalarının -i seçeneğinden sonra ffmpeg komutundan hemen sonra belirtildiğini unutmayın: ffmpeg -i video.mp4 ;
  • giriş veya giriş dosyalarının parametrelerinden sonra genel parametreler vardır - örneğin akış seçme seçeneği, yeni video çözünürlüğü seçeneği;
  • daha sonra video codec seçeneği ve ardından video filtreleri dahil parametreleri gelir;
  • daha sonra bir ses codec bileşeni seçeneği vardır ve filtreler dahil parametreleri listelenir;
  • komut çıktı dosya adını tamamlar.

Örnek komut satırı

FFmpeg: kod dönüştürme ve yıkıcı düzenleme

Video birleştirme gibi birçok video dosyası düzenleme işlemi için bu dosyaların tek bir formata dönüştürülmesi gerekir.

FFmpeg'in temel amacı medya dosyalarını bir formattan diğerine dönüştürmektir. Ve FFmpeg'e kod dönüştürme işlemi çok kolay bir şekilde yapılabilir.

En azından başka bir formata dönüştürmek için çıktı dosyasında istediğiniz dosya uzantısını ayarlamanız gerekir. Bu kadar. Bu uzantıyı kullanarak, yardımcı program gerekli codec bileşenini seçecek ve giriş dosyasının parametrelerini temel alarak bu codec bileşeninin varsayılan parametrelerine göre giriş dosyasının kodunu dönüştürecektir. Örneğin, aşağıdaki komut bir MP4 video.mp4 giriş dosyasının kodunu bir WEBM kapsayıcı dosyası video.webm'ye dönüştürecektir.

Fmpeg -i video.mp4 video.webm

Ancak varsayılan ayarlar genellikle temeldir ve istenen kaliteyi veya daha fazla düzenleme olanağını sağlamayabilir. Bu nedenle format parametreleri açıkça ayarlanabilir. Video parametre bloğu ve ses bloğu için ana seçenekleri listeleyelim.

video parametreleri için ffmpeg seçenekleri:

  • -vcodec veya kısaca c:v - video codec parametreleri veya "kopyala" veya boş bir parametre (varsayılan değer)
  • -f - kapsayıcı biçimi
  • -b - kilobit veya megabit/saniye cinsinden bit hızı K veya M harfiyle belirtilir
  • -en boy oranı - görüntünün en boy oranı (4:3, 16:9, 1,3333, 1,7777)
  • -r - kare hızı

ses seçenekleri için ffmpeg seçenekleri:

  • -acodec veya kısaca c:a - ses codec parametreleri veya "kopyala" veya boş bir parametre (varsayılan değer)
  • -f - ses formatı
  • -ab - ses bit hızı
  • -ar - itibarsızlaştırma frekansı
  • -ac - kanal sayısı

Örneğin, MP4 video.mp4 giriş dosyasını, açıkça belirtilen bazı parametrelerle WEBM video.webm kapsayıcı dosyasına yeniden kodlayalım.

Bu komutun sonucunda video ve ses akışlarının seçilen codec'ler kullanılarak kod dönüştürme işlemi yeni parametrelere göre başlayacaktır. Multimedya dosyalarının parametrelerine ve bilgisayarın gücüne bağlı olarak bu kod dönüştürme işlemi oldukça uzun sürebilir.

FFmpeg: video çözünürlüğünü değiştir

Yeniden kodlama doğal olarak yapılacaktır ve eğer video için genel seçeneği -s kullanarak yeni bir çözünürlük belirlerseniz

Ffmpeg -i video.mp4 -s 320x240 video.webm

FFmpeg: kalite kaybı olmadan kod dönüştürme ve tahribatsız video düzenleme

Şimdi kaliteyi kaybetmeden videoyu bir formattan diğerine dönüştürme hakkında. Bazı işlemlerde, kapsayıcı dosyanın içindeki akışlar dokunulmadan kaldığında ve bir dosyadan diğerine olduğu gibi kopyalandığında, ses ve videoyu yeniden kodlamadan, kalite kaybı olmadan düzenleme mümkündür. Bunu yapmak için -vcodec ve -acodec seçenekleri kopyalama seçeneğini kullanır. Örneğin, bir MP4 video.mp4 dosyasından bir video akışını ve bir ses akışını TS video.ts kapsayıcı dosyasına "dökelim":

Sonuç olarak, yeni video.ts kapsayıcı dosyası, video.ts kapsayıcı dosyasındaki video ve sesi, kod dönüştürme işlemine tabi tutulmadan içerecektir.

FFmpeg: Video dosyalarının tahribatsız dilimlenmesi ve kırpılması

Video dosyası -ss ve -t seçenekleri kullanılarak kırpılır. -ss seçeneği kırpmanın başlangıcını belirtir ve -t seçeneği sonraki parçanın süresini belirtir. Zaman "saat:dakika:saniye" biçiminde belirtilir. Bir video dosyasının içeriğini tahribatsız olarak düzenlemek için copy parametresini kullanın.

Yeniden kodlama olmadan kırpma çok hızlıdır ve fazla bilgisayar gücü gerektirmez.

FFmpeg: video dosyalarını yapıştırma ve birleştirme

Video dosyalarını ffmpeg kullanarak yapıştırmak ve bağlamak için, bu formattaki video ve ses akışlarının parametreleri açısından aynı olanlar da dahil olmak üzere aynı formatta olmaları gerekir. Durum böyle değilse, öncelikle video dosyalarını tek bir formata dönüştürmeniz gerekir.

Birçok formatta, ffmpeg'deki dosyaların birleştirilmesi concat operatörü kullanılarak yapılır; bu operatör, iki nokta üst üste işaretinden sonra dikey çizgi karakteriyle ayrılmış bir dizi giriş dosyası iletilir. Aynı format ve türdeki file1.avi ve file2.avi dosyalarını yeniden kodlamadan yapıştırmaya bir örnek:

Ffmpeg -i "concat:file1.avi|file2.avi" -vcodec kopya -acodec kopya çıktı.avi

Video parçalarını tek bir dosyada birleştirirken, parçaların video akışlarının ve ses akışlarının ayrı ayrı eklendiğini ve ardından tek bir kapta birleştirildiğini dikkate almalısınız. Bu nedenle, parçalardan birinde ses parçası zaman açısından video akışından daha kısaysa, geri kalan parçaların ses parçaları bu kısa ses parçasının sonuna kayacak ve ses senkronizasyonu bozulacaktır. Bu dikkate alınmalıdır.

FFmpeg: MP4 video dosyalarını birleştirme ve birleştirme

MP4 kapsayıcısındaki video dosyaları concat operatörü kullanılarak birleştirilemez. Ancak önce bu dosyaları video ve sesin kodunu dönüştürmeden MPEG-TS gibi bir kaba dönüştürebilirsiniz:

Ffmpeg -i vid1.mp4 -acodec kopyası -vcodec kopyası -vbsf h264_mp4toannexb -f mpegts vid1.ts ffmpeg -i vid2.mp4 -acodec kopyası -vcodec kopyası -vbsf h264_mp4toannexb -f mpegts vid2.ts

Daha sonra bu dosyalar concat operatörü kullanılarak son mp4 dosyasında birleştirilebilir:

Ffmpeg -i "concat:vid1.ts|vid2.ts" -vcodec kopyası -acodec kopyası çıkışı.mp4

FFmpeg: ses parçasını kaldırma

Çoğu zaman, daha sonra başka bir dosyayla değiştirmek için bir video dosyasından ses akışını kaldırmanız gerekir. Bu -an (ses yok) seçeneği kullanılarak yapılır.

Ffmpeg -i zvuk.mpg -vcodec kopyası -bir bezzvuka.mpg

FFmpeg: ses parçasını ekleme veya değiştirme

Ses dosyasının yolunu parametre olarak ileten ek seçeneği -i kullanarak bir video dosyasına ses akışı eklemeniz gerekir.

FFmpeg: Video dosyalarındaki akışlara erişmek için "-map" seçeneği

Yukarıda, birden fazla giriş ortamı dosyası işlendiğinde, birleştirildiğinde, çoğullandığında ffmpeg için -i seçeneğinin tekrar tekrar kullanıldığına dair bir örnek gördük. Yukarıda ayrıca konteyner dosyalarının çeşitli multimedya video, ses ve veri akışlarını içerebileceği söylendi. FFmpeg'in, işlenecek, kopyalanacak veya yapıştırılacak belirli bir giriş ortamı akışını veya kapsayıcıdaki dahili akışı belirtmek için kullanılabilen -map özel bir seçeneği vardır.

Akışlar, iki nokta üst üste işaretiyle ayrılan çift sayıyla belirtilir - “0:0”, “0:1”, “1:0”, “2:1” vb. İki nokta üst üste işaretinden önceki ilk rakam, sıfırdan başlayarak -i seçeneğiyle belirtilen her giriş dosyasının seri numarasıdır. Ve iki nokta üst üste işaretinden sonraki sayı, dosyanın içindeki iş parçacığı numarasını gösterir.

Belirli örnekleri kullanarak -map seçeneğine bakalım.

Bir video dosyasından ayrı bir ses parçası kaydetme (çoğullama çözme)

Her video dosyasındaki akış numaraları, yaklaşık olarak aşağıdaki formatta olacak olan ffmpeg -i komutunun çıktısı aracılığıyla belirlenebilir:

Ffmpeg -i video.mkv ... Akış #0:0(und): Video ... Akış #0:1(ger): Ses ... Akış #0:2(tur): Ses ... Akış # 0:3(rus): Altyazı…

Yani, iki nokta üst üste işaretinden önceki 0, bunun ffmpeg için ilk giriş dosyası olduğu anlamına gelir; yukarıdaki örnekte bu, video.mkv dosyasıdır. Ve iki nokta üst üsteden sonraki sayılar bu dosyanın dahili akışlarının sayıları anlamına gelir. Belirli bir akışı işlemek için -map seçeneğine o akışın belirli numarasının iletilmesi gerekir. Çoğullamaları çözen, yani kabın ses parçalarından birini ayrı bir dosyaya kaydeden -map seçeneğine sahip bir komut örneği:

Ffmpeg -i video.mkv -harita 0:2 ses.wav

FFmpeg: bir video dosyasına birden fazla ses parçası ekleme (çoğullama)

Şimdi FFmpeg kullanarak bir video dosyasına birden fazla ses parçası ekleme örneğine bakalım. Bunu yapmak için yine -map seçeneğini kullanıyoruz.

Diyelim ki boş bir video.avi video dosyamız var ve bunun için birkaç zvuk1.mp3 ve zvuk2.mp3 ses parçası seçtik - örneğin, farklı müzik veya farklı dillerdeki yorumlar. Şimdi çoğullama için, yani bu dosyaları tek bir kapsayıcı dosyada birleştirmek için "-map" seçeneğini kullanıyoruz:

Ffmpeg -i video.avi -i zvuk1.mp3 -i zvuk2.mp3 -harita 0:0 -harita 1:0 -harita 2:0 dışarı.avi

Gördüğünüz gibi, -i seçeneklerinden sonraki giriş dosyaları için -map seçeneklerinde iki nokta üst üste öncesinde sayılar kullanılır. Ve içinde birçok oynatıcıda değiştirilebilen, içinde iki ses parçası bulunan bir çıktı video dosyası aldık - örneğin bir mpv oynatıcıda, ses parçaları arasında geçiş "#" (Shift+2) ile yapılır.

Doğal olarak yeni video dosyası için kodlama parametreleri eklemek mümkündü. Örneğin, -c:v copy -c:a copy seçenekleri, yukarıdaki örnekte, video.avi, zvuk1.mp3 ve zvuk2.mp3 giriş dosyalarını yeniden kodlamadan saf kopyalama yoluyla yeni bir out.avi dosyası oluşturmaya olanak tanır. .

Böylece FFmpeg'i kullanarak bir video dosyasına altyazı ekleyebilirsiniz. Önemli olan, kabın içindeki giriş akışlarının ve iş parçacıklarının sayısı konusunda kafanızın karışmamasıdır.

Her zaman elinizin altında

Yukarıdaki makale, yeni başlayanlar için temel FFmpeg komutlarını kısa notlar tarzında açıklamaktadır. Makalenin kapsamının ötesinde, ffmpeg komut satırının birçok sözdizimsel özelliğinin yanı sıra bu programın birçok işlevselliği de vardı. Örneğin FFmpeg filtrelerinden bahsedilmiyor. FFmpeg'in daha başarılı kullanımı, programın tam dokümantasyonuna ve gerekli multimedya formatlarının dokümantasyonuna daha fazla aşina olmayı gerektirir.

Makale gelecekte FFmpeg kullanımına ilişkin yeni örneklerle desteklenebilir. Ancak herkesin elinde her zaman İngilizce bir kılavuz ve referans kitabı vardır.

Ffmpeg -h dolu > ffmpeg_help.txt

— Yüklüyse x264, libx264-dev ve ffmpeg paketlerini kaldırın:

$ sudo apt-get temizleme ffmpeg x264 libx264-dev libmp3lame-dev

— Sistemde paketlerin otomatik güncellenmesi etkinse, ffmpeg paketinin güncellenmesini yasaklarız:
Eğer dosya "/etc/apt/apt.conf.d/50unattending-upgrades" varsa, ffmpeg paketini “Paket-Kara Liste” bölümüne ekleyin; dosya yoksa oluşturun:

$ sudo echo -e "Katılımsız Yükseltme::Paket-Kara Liste (n "ffmpeg";n);" > /etc/apt/apt.conf.d/50unattending-upgrades

Montaj için x264 en son sürüm gerekli yasm. Hangi sürümün yüklü olduğunu kontrol edelim:

$ yasm --version yasm 1.2.0 20 Kasım 2013'te derlendi.

Sürümler eşleşiyorsa sonraki adımı atlayın

$ apt-get yasm'i kaldır $ wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz $ tar xvfz yasm-1.2.0.tar.gz $ cd yasm-1.2 .0 $ ./configure --prefix=/usr/local $ make $ sudo make install $ yasm --version yasm 1.2.0 20 Kasım 2013'te derlendi.

— Ffmpeg ve x264'ü kurmak için gerekli bağımlı paketleri alıyoruz:

$ sudo apt-get update $ sudo apt-get install build-essential subversion texi2html libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev yorgan libsdl1.2-dev libogg-dev libvorbis-dev liba52-dev libdts-dev libimlib2-dev libraw1394-dev libdc1394-22-dev libtheora-dev libgsm1-dev libfaac-dev libfaad-dev git-core checkinstall yasm libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev zlib1g-dev nasm python-chardet gstreamer1.0-libav gstreamer0.10-ffmpeg

Kurulum işlemi sırasında gstreamer0.10-ffmpeg paketinin bağımlılığıyla ilgili bir hata aldıysanız

yeni bir depo ekleyin ve dizinleri güncelleyin

Sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get update

bundan sonra paket kurma işlemini tekrarlıyoruz

— X264'ü kaynaktan yükleyin

$ mkdir ~/src; cd ~/src $ git clone git://git.videolan.org/x264.git $ cd ./x264/ $ ./configure --prefix=/usr/local --enable-shared $ make $ sudo checkinstall -- pkgname = x264 --pkgversion head -c 7`" --backup = hayır --deldoc = evet --fstrans = hayır --default sudo checkinstall --pkgname =x264 --pkgversion "2:0.'grep X264_BUILD x264.h -m1 | kes -d" " -f3`.`git rev-list HEAD | wc -l' +git `git rev-list HEAD -n 1 | kafa -c 7`" --backup =hayır --default $ sudo make install-lib-dev && sudo cp libx264.a /usr/local/lib/

— x264_b10'u kaynaktan yükleyin

$ mkdir ~/src; cd ~/src $ git clone git://git.videolan.org/x264.git $ cd ./x264/ $ ./configure --prefix=/usr/local --enable-shared --bit-length=10 $ make $ sudo checkinstall --pkgname=x264_b10 --pkgversion "2:0.`grep X264_BUILD x264.h -m1 | kes -d" " -f3`.`git rev-list HEAD | wc -l`+git`git rev-list HEAD -n 1 | head -c 7`" --backup = hayır --deldoc = evet --fstrans = hayır --default $ sudo make install-lib-dev $ sudo cp libx264.a /usr/local/lib/

Hangi topal sürümünün kurulu olduğunu kontrol edelim:

$lame -h LAME 64 bit sürüm 3.99.5 (http://lame.sf.net)

Sürümün 3.99'dan eski olduğuna dair bir yanıt alırsanız sonraki adımı atlayın

— Eksik codec desteğini yükler

$cd ~/src $ sudo mkdir -p /usr/local/share/doc/lame $ wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz $ tar xzvf lame-3.99.5.tar.gz $ cd lame-3.99.5 $ ./configure --enable-nasm --disable-shared $ make $ sudo checkinstall --pkgname=lame-ffmpeg --pkgversion="3.99 0,5" --backup=hayır --default --deldoc=evet

— Libxvid'i kaynaktan yükleyin

$ cd ~/src $ wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.gz $ tar xzvf xvidcore-1.3.3.tar.gz $ cd ./xvidcore/build/generic $ ./configure --prefix=/usr/local $ make $ sudo make install apt-get install libopencore-amrnb-dev libopencore-amrwb-dev libgsm1-dev libfaac-dev libtheora-dev libvorbis-dev libx264-dev libdc1394-22- dev libxext-dev libxfixes-dev

— Ffmpeg'i x264 codec desteğiyle yükleyin:

$ cd ~/src $ git clone git://git.videolan.org/ffmpeg.git $ cd ffmpeg/ $ ./configure --prefix=/usr/local --enable-gpl --enable-postproc --enable -swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable -libxvid --enable-nonfree --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared $ make $ sudo checkinstall --pkgname=ffmpeg --pkgversion = "7:$( tarih +%Y%m%d%H%M)-git" --backup=hayır --deldoc=yes --fstrans=hayır --default $ hash x264 ffmpeg ffplay ffprobe $ldconfig -v

  • gerekli kodlama yardımcı programlarını yükleyin

$ sudo apt-get install mkvtoolnix gpac mencoder dvdrip avidemux

Kurulumu kontrol edelim

$ hangi ffmpeg /usr/local/bin/ffmpeg

$ ffmpeg-kodlayıcılar| grep-E "mp3|xvid|aac|gsm|amr|x264|theora|vorbis"
ffmpeg sürümü N-55691-gca7f637 Telif Hakkı 2000—2013 FFmpeg geliştiricilerine aittir
21 Ağustos 2013 15:44:17 tarihinde gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) ile oluşturulmuştur
yapılandırma: --prefix=/usr/local --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac - -enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid
libavutil 52.42.100 / 52.42.100
libav kodu 55.29.100 / 55.29.100
libav biçimi 55.14.100 / 55.14.100
libavdevice 55.3.100 / 55.3.100
libavfiltre 3.82.100 / 3.82.100
libswscale 2.5.100 / 2.5.100
libswresample 0.17.103 / 0.17.103
libpostproc 52.3.100 / 52.3.100
V... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 bölüm 10 (codec h264)
V... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 bölüm 10 RGB (codec h264)
V... libxvid libxvidcore MPEG-4 bölüm 2 (codec mpeg4)
V... libtheora libtheora Theora (codec teorisi)
A...X...aac AAC (Gelişmiş Ses Kodlaması)
A... libfaac libfaac AAC (Gelişmiş Ses Kodlaması) (codec aac)
A... libopencore_amrnb OpenCORE AMR-NB (Uyarlanabilir Çoklu Hız Dar Bant) (codec amr_nb)
A... libgsm libgsm GSM (codec gsm)
A... libgsm_ms libgsm GSM Microsoft çeşidi (codec gsm_ms)
A... libmp3lame libmp3lame MP3 (MPEG ses katmanı 3) (codec mp3)
A...X...vorbis Vorbis
A... libvorbis libvorbis (codec vorbis)

Kullanma örnekleri

Tek geçişli kodlama:

ffmpeg -i girişi. avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre yavaş -crf 22 -threads 0 çıktı. mp4

Parametre ne kadar düşük olursa -crf kalite ne kadar yüksek olursa dosya da o kadar büyük olur. Makul değerler 18 ila 28 arasındadır.

İki geçişli kodlama:

ffmpeg -i girişi. avi -pass 1 -vcodec libx264 -vpre fast_firstpass -b 512k -bt 512k -threads 0 -f rawvideo -an -y /dev/null && ffmpeg -i girişi. avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre fast -b 512k -bt 512k -threads 0 çıktı. mp4

iPod (640x480) için yeniden kodlama:

ffmpeg -i girişi. avi -acodec libfaac -aq 100 -ac 2 -vcodec libx264 -vpre yavaş -vpre ipod640 -crf 26 -map _meta_data 0: 0 -vf ölçek = 640: -1 -threads 0 çıktı. mp4

1. Bir video dosyası hakkında bilgi alma

ffmpeg -i video.avi

2. Bir dizi resmi videoya dönüştürün

ffmpeg -f image2 -i image%d.jpg video.mpg Bu komut, geçerli dizindeki (image1.jpg, image2.jpg, vb. adlı) tüm görüntüleri bir video.mpg video dosyasına dönüştürür. (Çevirmenin notu: Bu formatı tercih ediyorum: ffmpeg -r 12 -y -i "image_%010d.png"çıktı.mpg burada videonun kare hızı (12) ayarlanır, "image_%010d.png" formatı, resimlerin image_0000000001.png, image_0000000002.png vb. biçiminde, yani printf formatında aranacağı anlamına gelir)

3. Videoları resimlere kesin

ffmpeg -i video.mpg resim%d.jpg

Bu komut image1.jpg, image2.jpg vb. dosyaları oluşturacaktır, PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI formatları da desteklenmektedir.

4. Videoyu iPod/iPhone formatına dönüştürün

ffmpeg -i source_video.avi girişi -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

Açıklamalar:

  • Kaynak: source_video.avi
  • Ses kodeği: aac
  • Ses bit hızı: 128kb/s
  • Video codec'i: mpeg4
  • Video bit hızı: 1200kb/s

5. Videoları PSP formatına dönüştürün

ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

Açıklamalar:

  • Kaynak: source_video.avi
  • Ses kodeği: aac
  • Ses bit hızı: 32kb/s
  • Video codec'i: xvid
  • Video bit hızı: 1200kb/s
  • Video boyutu: 320 x 180 piksel
  • Alınan video: final_video.mp4

6. Videodan ses parçasını çıkarın ve mp3'e kaydedin

ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sesi.mp3

Açıklamalar:

  • Kaynak: source_video.avi
  • Ses bit hızı: 192kb/s
  • Çıkış formatı: mp3
  • Alınan ses dosyası: sound.mp3

7. wav'ı mp3'e dönüştürün

ffmpeg -i son_origin.wav -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3

8. .avi'yi .mpg'ye dönüştürün

ffmpeg -i video_origin.avi video_finale.mpg 

9. .mpg'yi .avi'ye dönüştürün

ffmpeg -i video_origin.mpg video_finale.avi 

10. .avi'yi .gif'e dönüştürün (sıkıştırma yok)

ffmpeg -i video_origin.avi gif_anime.gif

11. Videoya ses ekleyin

ffmpeg -i son.wav -i video_origin.avi video_finale.mpg

12. .avi'yi .flv'ye dönüştürün

ffmpeg -i video_origin.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv

13. .avi'yi .dv'ye dönüştürün

ffmpeg -i video_origin.avi -s dostum -r dostum -aspect 4:3 -ar 48000 -ac 2 video_finale.dv

Ffmpeg -i video_origin.avi -hedef pal-dv video_finale.dv

14. DVD oynatıcılar için .avi'yi mpeg'e dönüştürün

ffmpeg -i source_video.avi -hedef pal-dvd -ps 2000000000 -aspect 16:9 finale_video.mpeg

Açıklamalar:

  • Çıkış formatı: pal-dvd
  • Çıkış dosyası için maksimum boyut: 2000000000 (2 Gb)
  • Geniş ekran formatı: 16:9

15. .avi'yi DivX'e sıkıştırın

ffmpeg -i video_origin.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi

16. OGG Theora'yı mpeg DVD'ye sıkıştırın

ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_termin.mpg

17. .avi dosyasını SVCD mpeg2'ye sıkıştırın

ffmpeg -i video_origin.avi -target ntsc-svcd video_finale.mpg

PAL formatı:

Ffmpeg -i video_origin.avi -hedef pal-svcd video_finale.mpg

18. .avi'yi VCD mpeg2'ye sıkıştırın

NTSC Formatı:

Ffmpeg -i video_origin.avi -target ntsc-vcd video_finale.mpg

PAL formatı:

Ffmpeg -i video_origin.avi -hedef pal-vcd video_finale.mpg

19. ffmpeg ile çok geçişli kodlama

ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2

20. .m4b'yi .mp3'e dönüştürün

ffmpeg -i dosyaadı.m4b -acodec libmp3lame -ar 22050 dosyaadı.mp3 veya find -iname "*.m4b" -print0 | xargs -0 -I () ffmpeg -i () -acodec libmp3lame -ar 22050 ().mp3

Güncelleme

Önceden kurulmuş paketleri kaldırın:

Sudo apt-get ffmpeg x264 libx264-dev'i kaldır

Güncelliyoruz x264:

Cd ~ /src/x 264 make distclean git pull

Güncelliyoruz FFmpeg:

Cd ~ /src/ffmpeg distclean svn güncellemesini yapar

Her iki durumda da kurulum prosedürünü tekrarlayın FFmpeg Ve x264, daha önce açıklandığı gibi, yalnızca “./configure la-la-la...” yerinden

Bu talimata göre yapılan tüm değişiklikleri iptal eder

sudo apt-get kaldır x264 ffmpeg build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libmp3lame-dev libsdl1.2 -dev libtheora-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev rm -rf ~/src/x264 ~/src/ffmpeg

Ek

10 bit videoyla çalışmak için x264'ü yüklemeniz gerekiyorsa. O zaman evet. Bütün bunları yapmaya değer. Şimdi libx264 kütüphanesi hakkında. Ubuntu'daki ffmpeg, x264 codec bileşeniyle değil, doğrudan mimariye bağlı kitaplıkların bulunduğu dizinde bulunan libx264.so.123 kodlama kitaplığıyla çalışır. İlk olarak, normal bir x264 yapılandırmasının ffmpeg ile birlikte çalışması için (ffmpeg'den kodlama için bir video akışı alma), x264 yapılandırmasını başlatmadan önce aşağıdaki paketleri yüklemeniz gerekir: libavformat-dev, libffms2-dev, libgpac-dev, libswscale -dev. Bu paketleri ./configure komutunu çalıştırarak yükledikten sonra aşağıdakileri göreceğiz:

/scr/x264$ ./configure

platformu: X86_64
sistem: LINUX
kli: evet
libx264: dahili dahili libx264 kodlama kütüphanesi
Paylaşıldı: hayır — libx264.so.*** sistem kitaplığı oluşturulmayacak. yani ffmpeg tarafından video kodlama ve işleme için kullanılır.
Statik: hayır
as: evet - bilgisayarda yüklü işlemci için optimize edilmiş montaj
geçmeli: evet — taramalı videoyla çalışma desteği dahildir
Avs: hayır — avisync ile çalışma desteği Linux'ta devre dışıdır;
lavf: evet - ffmpeg'in anladığı tüm formatlardaki giriş dosyaları için etkin destek
ffms: evet - aynı zamanda ffmpeg desteğini de etkinleştiriyorum, tam olarak ne olduğunu bilmiyorum. Ffmpeg'in doğru şekilde işleyemeyeceği formatları veya buna benzer bir şeyi destekliyor gibi görünüyor.
gpac: evet
gpl: evet
konu: posix

hata ayıklama: hayır
gprof: hayır
şerit: hayır
resim: hayır
görselleştir: hayır
bit derinliği: 8 yalnızca 8 bit renk derinliğine sahip video dosyalarını kodlama
kroma formatı: hepsi

Ve böylece x264'ün mümkün olan her şeyi destekleyecek şekilde oluşturulacağını ancak ffmpeg'in onunla çalışmayacağını görüyoruz. Şimdi ffmpeg'in derlediğimiz codec ile doğrudan çalışmasını sağlamak için yapılması gerekenler. Bunu yapmak için x264'ü aşağıdaki tuşlarla yapılandırmanız gerekir:

Önek=/usr — derlenen tüm dosyalar /usr program dizininde yer alacaktır
- bindir=/usr/bin — x264 codec bileşenini, varsayılan olarak yüklenen yerel olarak derlenmiş programların /usr/local/bin klasörüne değil, /usr/bin program klasörüne yerleştirir.
- libdir=/usr/lib/x86_64-linux-gnu — libx264.so.*** kodlama kütüphanesini mimariye bağlı kütüphaneler dizinine yerleştirecektir (lütfen 64 bitlik bir sistemim olduğunu ve buna göre “x86_64-linux-gnu” dizininin kullanıldığını unutmayın; diğerleri için mimarilerde farklı bir dizin kullanılmalıdır)
- paylaşımı etkinleştir — x264 codec desteği etkinken yapılandırıldığında ffmpeg'in arayacağı dinamik bir kodlama kitaplığı libx264.so.*** oluşturulmasını içerir (bildiğim kadarıyla, yapılandırma anahtarıyla etkinleştirilmesi gerekir, ama kim bilir, ben bunu yapmadım) Henüz ffmpeg'in kendisini derlemeye çalışmadım, belki de libx264.so ile ffmpeg bağlantısı için.*** başka bazı yapılandırma anahtarları eklemeniz gerekecektir)
-statik etkinleştirme - libx264.so statik kitaplıklarının oluşturulmasını içerir (ffmpeg'in statik bir kitaplıkla değil, dinamik bir kitaplıkla çalıştığını unutmayın. Dinamik kitaplığın dosya adının sonunda bir sürüm numarası da vardır. Bu nedenle, libx264.so'nun yeni bir sürümünü yükledikten sonra x264 codec bileşenini kullanarak ffmpeg'in onunla çalışmasını sağlayın (ffmpeg), onu her yeniden oluşturmanız gerektiğinde.
— bit derinliği=10 — codec yapılandırması yalnızca 10 bit videonun (kitaplıklar dahil) birleştirilmesi için etkinleştirildi. Hem 8 bit hem de 10 bit video oynatılacak, ancak bu codec bileşeni tarafından yalnızca 10 bit video oluşturulacak. Bu seçeneğe gerek yoksa, daha sonra kurmayın ve yalnızca 8 bitlik video oluşturacak bir codec bileşeni toplanacaktır.

Codec bileşenini bu tuşlarla yapılandırırken elde ettiğimiz şey budur:

/scr/x264$ ./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-static --bit- derinlik=10
ölümcül: Git deposu değil (veya üst dizinlerden herhangi biri): .git
platformu: X86_64
sistem: LINUX
kli: evet - komut satırında çalışın
libx264: dahili - dahili kütüphanelerin oluşturulması
Paylaşıldı: evet — dinamik kütüphanelerin oluşturulması
Statik: evet - statik kütüphanelerin oluşturulması
as: evet - işlemci için optimizasyon (oluşturmadan önce yasm'ı yüklemeniz gerekir)
geçmeli: evet — titreşimli videoyla çalışma
Avs: hayır - yanda avisync
lavf: evet - ffmpeg formatları desteği
ffms: evet — diğer formatlar için destek
gpac: evet — OpenSourse Multimedya ile çalışmanın optimizasyonu
gpl: evet
konu: posix
filtreler: kırpmayı yeniden boyutlandır select_every
hata ayıklama: hayır
gprof: hayır
şerit: hayır
PIC: evet
görselleştir: hayır
bit derinliği: 10 — Yalnızca 10 bit video oluşturun (High10, High422 ve High444 kodlama profilleri)
kroma formatı: hepsi

X264 codec yapılandırma anahtarları hakkında daha ayrıntılı bilgi, x264 kaynak kodlarının bulunduğu dizine ./configure -h komutu yazılarak görüntülenebilir.

Temel olarak içeriği şöyle:

/scr/x264$ ./configure -h
Kullanım: ./configure
Yardım:
- h, --help bu mesajı yazdır
Standart seçenekler:
— prefix=PREFIX mimariden bağımsız dosyaları PREFIX'e yükler
— exec-prefix=EPREFIX mimariye bağlı dosyaları EPREFIX'e yükler
— bindir=DIR ikili dosyaları DIR'e yükler
— libdir=DIR DIR'e kütüphaneleri kurun
— includedir=DIR kurulumu DIR'e dahil edilir
— extra-asflags=EASFLAGS, ASFLAGS'a EASFLAGS ekler
— extra-cflags=ECFLAGS, CFLAGS'a ECFLAGS ekler
— extra-ldflags=ELDFLAGS, ELDFLAGS'ı LDFLAGS'a ekler
Yapılandırma seçenekleri:
- cli'yi devre dışı bırak-cli'yi devre dışı bırak
— system-libx264, dahili yerine sistem libx264'ü kullanır
- paylaşımlı derleme paylaşımlı kütüphaneyi etkinleştir
- statik yapıyı etkinleştirme statik kitaplığı
- devre dışı bırak-gpl yalnızca GPL özelliklerini devre dışı bırak
- iş parçacığını devre dışı bırak, çok iş parçacıklı kodlamayı devre dışı bırak
- active-win32thread win32threads'i kullanır (yalnızca Windows)
— taramalı devre dışı bırakma taramalı kodlama desteğini devre dışı bırakma
- görselleştirmeyi etkinleştir-görselleştir görselleştirmeyi etkinleştir (yalnızca X11)
— bit-length=BIT_DEPTH çıkış bit derinliğini ayarlar (8-10)
— chroma-format=FORMAT çıkış kroma formatı (420, 422, 444, tümü)
Gelişmiş seçenekler:
- devre dışı bırakma-asm devre dışı bırakma platforma özel montaj optimizasyonları
— etkinleştirme-hata ayıklama ekle -g
— etkinleştirme-gprof ekle -pg
- şerit eklemeyi etkinleştir -s
- etkinleştirme-pic yapı konumundan bağımsız kod
Çapraz derleme:
— host=HOST, HOST üzerinde çalışacak programlar oluşturur
— cross-prefix=PREFIX derleme araçları için PREFIX'i kullanın
— sysroot=Çapraz yapı ağacının SYSROOT kökü
Harici kütüphane desteği:
— devre dışı bırakma-avs avisynth desteğini devre dışı bırakır (yalnızca Windows)
- swscale desteğini devre dışı bırak-swscale'i devre dışı bırak
- devre dışı bırakma-lavf libavformat desteğini devre dışı bırak
- devre dışı bırakma-ffms ffmpegsource desteğini devre dışı bırakır
- gpac'ı devre dışı bırak gpac desteğini devre dışı bırak

Fok
Konunun devamı:
Wifi

SCART, birleşik bir konnektör olarak ilk kez bir Fransız şirketi tarafından piyasaya sürüldü. Çeşitli üreticilerin cihazlarından gelen sinyalleri optimize etmek için oluşturulmuştur. Sayesinde...