Asp.Net’ de Video Dosyalarını Flv formatına dönüştürmek
Facebook, youtube gibi sitelerde video formatındaki dosyaları flv formatına çevrilip, son kullanıcılara flash playerlar sayesinde bu videolar izletilebilmektedir.
Bizde bu sistemi Asp.net projelerinde yapmak için öncelikle açık kaynak kodlu olan ffmpeg exe dosyasına ihityacımız olacaktır. İndirmemiz gereken dosyalar ffmpeg.exe, ffplay.exe ve pthreadGC2.dll dir. İlgili dosyaları indirmek için buraya tıklayınız.
Şimdi yapmamız gerekenleri anlatmadan önce şunuda söylememiz gerekmektedir. İlgili dönüştürme işlemini yapmak için sunucunun exe dosyalarını çalıştırma izni vermesi gerekmektedir. Yoksa haliyle çalışmayacaktır.
Yapılması gerekenler;
İlgili aspx sayfasının kod kısmına aşağıdaki kütüphane eklenmelidir.
using System.Diagnostics;
Örnek projemde video dosyayı flv ye çevirmenin dışında videonun ilk karesinin (frame) görüntüsünü de önizleme olarak kaydetmekteyim.
Aşağıdaki Bconverter_Click fonsiyonu ile video dosyasını flvye dönüştürmekteyim. Bpreview_Click fonksiyonu ilede video dosyasının ilk karesini alarak onu önizleme resimi yapmaktayım. “320*250” ‘ de genişlik ve yüksekliğini ayarladım .
protected void Bconverter_Click(object sender, EventArgs e) { string video = string.Format("{0}Folders\\Video\\{1}", Request.PhysicalApplicationPath, "yontem.avi"); string flv = string.Format("{0}Folders\\Flv\\{1}.flv", Request.PhysicalApplicationPath, "yontem_flv"); Process ffmpeg = new Process(); ffmpeg.StartInfo.Arguments = string.Format(" -i \"{0}\" -ar 22050 -acodec mp3 \"{1}\"", video, flv); ffmpeg.StartInfo.FileName = string.Format("{0}AddOns\\FFmpeg\\ffmpeg.exe", Request.PhysicalApplicationPath); ffmpeg.Start(); ffmpeg.WaitForExit(); this.Ltext.Text = "Başarıyla flv dosyası oluşturuldu"; } protected void Bpreview_Click(object sender, EventArgs e) { string video = string.Format("{0}Folders\\Video\\{1}", Request.PhysicalApplicationPath, "yontem.avi"); string preview = string.Format("{0}Folders\\Preview\\{1}.jpg", Request.PhysicalApplicationPath, "yontem_preview"); Process ffmpeg = new Process(); ffmpeg.StartInfo.Arguments = string.Format(" -i \"{0}\" -s 320*250 -vframes 1 -f image2 -vcodec mjpeg \"{1}\"", video, preview); ffmpeg.StartInfo.FileName = string.Format("{0}AddOns\\FFmpeg\\ffmpeg.exe", Request.PhysicalApplicationPath); ffmpeg.Start(); ffmpeg.WaitForExit(); this.Ltext.Text = "Başarıyla önizleme resmi oluşturuldu"; }
Örnek projeyi indirmek için tıklayın.
Bu yazımın sizlere faydalı olması dileğiyle…
8 yorum bulunmaktadır - “Asp.Net’ de Video Dosyalarını Flv formatına dönüştürmek”
Yorum Yapın
Etiketler
Son Yazılar
- Uzak sunucuda bulunan android cihaz ile otomasyon
- Mac’ de çoklu Java versiyon yönetimi
- İş yarar docker komutları
- Eski branchlerin git’ den silinmesi
- Kubernetes Süresi Dolmuş Sertifikaları Yenilemek
Son Yorumlar
- Hosting koşuşturması için
- Garanti Sanal Pos Kurulumu, Sorunlar ve Çözümler için
- Visual Studio Toolbox’a component(bileşen) eklenmesi için
- “File is too large for destination file system” hatasını gidermek için
- Php’de UTF-8 Türkçe karakter sorunu ve çözümü için
Bağlantılar
Arşivler
- Kasım 2021
- Eylül 2021
- Ağustos 2021
- Temmuz 2021
- Aralık 2020
- Kasım 2020
- Ekim 2020
- Eylül 2020
- Kasım 2017
- Mayıs 2017
- Mart 2017
- Şubat 2017
- Ocak 2017
- Nisan 2015
- Aralık 2014
- Mayıs 2014
- Eylül 2013
- Haziran 2013
- Şubat 2013
- Kasım 2012
- Ekim 2012
- Eylül 2012
- Mart 2012
- Şubat 2012
- Ocak 2012
- Aralık 2011
- Kasım 2011
- Ekim 2011
- Eylül 2011
- Temmuz 2011
- Haziran 2011
- Mayıs 2011
- Mart 2011
- Ocak 2011
- Aralık 2010
- Kasım 2010
- Ekim 2010
- Eylül 2010
- Ağustos 2010
- Temmuz 2010
- Haziran 2010
- Mayıs 2010
- Nisan 2010
- Mart 2010
- Şubat 2010
- Ocak 2010
- Haziran 2009
- Mayıs 2009
- Nisan 2009
- Mart 2009
Güzel paylaşım, bende denedim wmv lerde bir sıkıntı oldu. Acaba size ile alakalı mı? Siz böyle bir sorun yaşadınız mı?
Size derken video boyutunu kastettim. 🙂
🙂 Yanlış hatırlamıyor isem wmv formatında bir sorun yaşamamıştım. Flv ye başarılı şekilde dönüştürebiliyordum.
Aklıma gelen tek şey varsayılan .net max fileupload size 4 mbdı. Eğer siz 4 mb dan fazla yüklemeye çalıştığınızda haliyle o dosyayı yüklemez. Onun için web configden yüklenecek dosya boyutunu artırmanız gerekir. Tabi bu işlemi yapmadı iseniz 🙂
hocam merhaba makalenizi okudum güzel.. Bir şey soracaktım.. avi formatını dönüştürüyorum onda bi sıkıntı yok fakat diğer formatları (wmv, mp4, mpeg,) Formatlarını dönüştüremiyorum, nasıl dönüştereceğim.. Bu formatlar için hangi parametreleri göndermemiz gerekiyor bi bilgi verebilirmisiniz….
merhabalar avi veya flv formatını mov formatına dönüştürme kodlarına sahip misiniz? Bu kodları dönüştürmek istesek nasıl değişikliklere ihtiyacımız var? Dönüştürülen dosya formatının flv olduğu sadece verilen isimlerden mi belirleniyor?
Merhaba,
Aşağıda bazı convert işlemlerinin olduğu kod parçacığını yazdım. Tek yapmanız gereken yüklediğiniz video dosyasının yolunu belirtmek birde convert edilen dosyanın yolu. 🙂
switch(type){
case "webm":kod= file +" -vpre libvpx-720p -b 500k -pass 2 -acodec libvorbis -ab 100k -f webm -y " + dest +".webm";break;
case "webm":kod=file+" -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 345k -s 640x360 "+dest+".webm";break;
case "ogv":kod=file +" -b 600k -vcodec libtheora -ar 22050 -g 30 -f ogg -s 480x360 -y "+dest+".ogv";break;
case "mp4":kod=file +" -acodec libfaac -ar 44100 -ab 96k -coder ac -me_range 16 -subq 5 -sc_threshold 40 -vcodec libx264 -b 400k -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -i_qfactor 0.71 -keyint_min 25 -b_strategy 1 -g 250 -r 20 -vpre hq " + dest +".mp4";break;
case "flv": kod= file+" -ab 64k -ar 22050 -b 500 -r 29 -nr 1000 -g 500 -qmin 2 -qmax 6 "+ dest +".flv";break;
default:kod=null;
}
Hocam avi donusturuyor ancak mp4 cevıremıyorum yardımcı olrumusunuz
bir degısıklık yapıp mp4 u cevırmeyı basardım anca goruntu kalıtesı dustu bu konu hakkında bır fıkrınız varmı ?