Son Tweet:
Son Tweet Yükleniyor..
Yıl 2020 oldu hala Internet Explorer 6 kullanıyosun! Bir sürü güvenlik açığı var. Sonra görsel grafiklerden seni mahrum bırakıyo. Ne gerek var ! Hemen Yeni Bi Tarayıcı Bul !.
X
Yazı

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:

giris_videosu = "D:/www/demo.mp4"
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.

do while not oexec.StdOut.AtEndOfStream
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:

ffmpeg -i video.avi

Resimleri Video dosyasına çevirme:

ffmpeg -f image2 -i image%d.jpg video.mpg

bu komut image1.jpg image2.jpg diye devam eden resm dosyalarını video.mpg dosyasında birleştirir.

Videoyu resim karelerine parçalama:

ffmpeg -i video.mpg image%d.jpg

bu komut videonun her karesini image1.jpg image2.jpg olarak kaydeder.

Sesi Videodan Ayırma; mp3 oluşturma:

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

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:

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

Avi dosyasını Flv'ye çevirme:

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

Videoyu Gif yapma:

ffmpeg -i video_origine.avi gif_anime.gif

FFmpeg Bileşen Dosyasını İndirmek İçin Tıklayın.

Kolay gelsin.

Yorum yaz:

E-mail adresinde Gravatar aktif.<b>,<i> HTML etiketlerini kullanabilirsin. Linklerde otomatik aktif edilecektir.

name*

email*

website

Gönder Gitsin