Asp ile FFmpeg Bileşeni Kullanma
Windows'un klasik Asp desteğini kestiğini duymuş olsamda, hâla Asp'yi kullanmakta ısrar ediyorum. Benim gibilerin olduğunu düşünerek, Asp ile WScript.Shell komutunda ffmpeg bileşeninin kullanımı hakkında bir yazı yazmak istedim.
Öncelikle belirtmeliyim, wscript.shell komutunu kullanabilmek için sunucuda yetkili olmanız gerekiyor. Eğer hosting sağlayıcınız izin vermiyorsa dynucom adlı bir bileşeni yükletmeyi talep edebilirsiniz. Dynucom bileşeninde kullanımı ile nerdeyse aynı.
Çevirme işlemini yapacak dosyayı aşağıda verdiğim linkten indiyip web dizininize kopyalayın. Bu dosyayının yolunu kodlarımızda tanımlayacağız.
Örnek olarak bir videoyu mp3 dosyasına çevirmeyi gösterelim. Asp kodlarımız şu şekilde:
cikis_mp3 = "D:/www/demo.mp3"
dosya_yolu = "D:/www/"
Set WScript = Server.CreateObject("WScript.Shell")
Set oExec = WScript.Exec(dosya_yolu & "ffmpeg -i "& giris_videosu &" -vn -ar 44100 -ac 2 -ab 192 -f mp3 "&cikis_mp3&"")
Satırlayı açıklayalım:
1. satırda giris_videosu ile mp3 e çevrilecek video dosyasını tanımlıyoruz. Tüm tanımlamalar mappath olarak tanımlanmalı, ana dizinden gösterilmeli.
2. satırda cikis_mp3 ile çevrilen videonun hangi klasöre ve hangi isimle kaydedileceğini belirtiyoruz. Burda belirttiğimiz klasore yazma iznimiz olmalı.
3. satırda dosya_yolu ise ffmpeg.exe dosyasının klasorünü belirtiyor.
4.satırda shell nesnemizi oluşturuyoruz. Bu nesne güvenlik nedeni ile çoğu sunucuda kapalı olarak geliyor. Hosting firmanıza danışın.
5.satırda ffmpeg.exe dosyasına komutu gönderip sonuç bekliyoruz.
Bu halde komutumuz ekrana herhangi bir bilgi yazdırmıyor. Aşağıdaki kodlar ile ffmpeg çıktısını ekrana yazdırabilirsiniz. Yukarıdaki kodların altına aynen yapıştırın.
strPResult=replace(oexec.StdOut.Read(1024), vbLF, "")
response.write strPResult
response.flush
loop
Açıkça söylemek gerekirse, tuhaf bi şekilde ilk denemelerimde yapılan işlemin çıktısını alabildim ama daha sonra bu kod çalışmamaya başladı, sorunu hala çözebilmiş değilim. Siz de deneyince bi sonuç yazarsanız sevinirim.
Temel olarak ffmpeg kullanımı böyle. Asp örneği verdim ama php ya da başka bir dilde de ffmpeg komutları aynı şekilde kullanılıyor.
FFmpeg bileşeniyle birlikte kullanabileceğiniz bir kaç komutta şunlar:
Video dosyasını bilgilerini alma:
Resimleri Video dosyasına çevirme:
bu komut image1.jpg image2.jpg diye devam eden resm dosyalarını video.mpg dosyasında birleştirir.
Videoyu resim karelerine parçalama:
bu komut videonun her karesini image1.jpg image2.jpg olarak kaydeder.
Sesi Videodan Ayırma; mp3 oluşturma:
Kaynak Video : source_video.avi
Ses Kalitesi : 192kb/s
Çıkış formatı : mp3
Çıkış Dosyası : sound.mp3
Avi dosyasını divx'e sıkıştırma:
Avi dosyasını Flv'ye çevirme:
Videoyu Gif yapma:
FFmpeg Bileşen Dosyasını İndirmek İçin Tıklayın.
Kolay gelsin.
