31 Ekim 2015 Cumartesi

İpucu : Bir videonun içindeki ses nasıl alınır? (ffmpeg)




Bugünlerde daha önce birkaç kez seyrettiğim Apollo 13 (1995) filminin kaliteli görüntü ve Türkçe ses dublajıyla bir araya getirip yeniden 1080p görüntü kalitesiyle seyretmek için kalitesiz görüntünün içinde olan Türkçe ses dosyasını almaya ihtiyacım vardı. Sonrasında kaliteli görüntüyle bu ses dosyasını yeniden dublaj işlemine tabi tutacağım. Bu küçük yazıda sadece ses bir videodan nasıl çıkarılır onu göstermek istiyorum.

Öncelikle bu iş için tamamen ücretsiz ve açık kaynak kodlu “ffmpeg” programcığına ihtiyacımız var. Boyutu küçük yaptığı işler çok büyük olan bu yazılımla neler yapılmıyorki ! Ubuntu üzerindeyken Ctr + Alt + T tuş bileşimiyle Terminal/Konsol ekranı açılır. Eğer windows kullıyorsanız karşılığı “cmd.exe” dir. Konsol ekranı açıldığında aşağıdaki satırı yazarız.

ffmpeg -i apollo13videodosyamiz.avi -vn -acodec mp3 apollo13-sesdosyasi.aac

Eğer hiçbir dönüştürme işlemine tabi tutmadan doğrudan sesi almak istersek mp3 yerine copy ifadesini yazmalıyız.

ffmpeg -i apollo13videodosyamiz.avi -vn -acodec copy apollo13-sesdosyasi.aac

Bunu yazıp enterladığımızda işlem yapmaya başlar. Hepsi bu :)

Parametrelerinden biraz bahsedecek olursak -i parametresi giriş dosyamızı belirtmeye yarar yani

-i apollo13videodosyamiz.avi

dediğimizde biz “apollo13videodosyamiz.avi” isimli bir dosyayı kaynak olarak ele alacağımızı programa söylemiş oluyoruz. Tabi siz dosyanızın yeri neredeyse onu tam olarak dosya yolu ve dosya adı şeklinde belirtmiş olmanız lâzım. Mesele sizin dosyanız 'c:\filmlerim\Apollo13filmi.avi' şeklinde olabilir. O zaman bu halini -i parametresinden sonra tam olarak yazmamız gerekir. Aksi halde kaynak dosyanın bulunamadığı yolunda hata mesajı alırsınız.

-vn

parametresiyle ise “no video” şeklinde düşünebilirsiniz. Yani bu işlemde video kısmıyla ilgilenmediğimizi programa ifade etmiş oluruz. Dolayısıyla video ile ilgili bir kayıt işlemi yapılmaz.

-acodec mp3

parametresiyle ses kodekini ayarlarız. Burada biz mp3 ile çalışacağımızı belirtmişiz. Burada dikkat edilecek bir hususta eğer -ab parametresiyle bir şey belirtmezsek filmdeki sesin bitrate hızı neyse onu doğrudan alır. Misal bitrate 96k ise aynen çıkış dosyasını da 96k alacaktır. Fakat biz tutarda mp3 yazısından sonra -ab 36k yaparsak çıkışın bitrate ini 36k yapar.

apollo13-sesdosyasi.aac

son olarak çıkış ses dosyamızın ismini belirtmişiz. Hemen aklınıza aac uzantısı nedir sorusu gelebilir. Kısaca tanımlayacak olursan “Advanced Audio Coding File” isminin kısaltmasıdır. Peki nedir bu?

Bir .MP3 dosyasına benzeyen, ancak bazı performans iyileştirmeleri sunan sıkıştırılmış ses dosyasıdır; bunlar arasında sabit ve sürekli olmayan sinyaller için daha yüksek kodlama verimi, daha basit bir filtreleme bankası ve 16 kHz'nin üzerindeki frekansların daha iyi idare edilmesi bulunmaktadır; orijinal ses kaynağıyla neredeyse farkedilemez bir şekilde yakın bir kaliteye sahiptir. Advanced Audio Coding (AAC), Apple iTunes ve iTunes Music Store tarafından kullanılan varsayılan kodlamadır.

Yani hemen hemen mp3 ile aynı diyebiliriz. İçinize sinmezse siz aac uzantısını mp3 de yapabilirsiniz.

Son olarak kendi ubuntuMATE yüklü bilgisayarımda ses dosyasını konsola yazdığım şu satırlarla elde ettim.

ffmpeg -i '/media/durali/Depo/Apollo 13 (1995) [1080p]/Apollo13-1999-DVDRip-TR.avi' -vn -acodec mp3 outfilm-apollo13-audio.aac

Başka bir yazıda görüşmek üzere hoşçakalın.


Kaynak:
https://www.ffmpeg.org/ffmpeg.html
http://stackoverflow.com/questions/9913032/ffmpeg-to-extract-audio-from-video



duralikiraz.blogspot.com
01 Kasım 2015

Muvaffakiyet Allahtandır.”