Video dosyalarını flash video (flv) formatına çevirebilmenin şu an için en kolay ve kullanışlı yolu açık kaynaklı bir program olan ffmpeg'i kullanmak.
ffmpeg'in windows binary'lerini http://ffdshow.faireal.net/mirror/ffmpeg/ adresinden çekip içeriğini( pthreadGC2.dll , ffmpeg.exe, ffplay.exe dosyalarını ) websitenizin bulunduğu dizine kopyalayın.
asp.net'ten çevirme işlemini yapmak için;
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Diagnostics;
protected void convert_Click(object sender, EventArgs e)
{
Process ffmpeg;
string video;
string flv;
video = Page.MapPath("1.avi"); //Kaynak dosya yolu
flv = Page.MapPath("") + "\\video.flv"; //Hedef dosya yoluffmpeg = new Process();
ffmpeg.StartInfo.Arguments = " -i \"" + video + "\" --s 320x240 -b 240kb -ab 56kb -ar 22050 -ac 1 -g 240 \"" + flv+ "\"";
//Programa gönderilen parametreler youtube'un görüntü ve ses sıkıştırma oranına en yakın oranı sağlamaya yönelik parametreler, programın dökümantasyonunu inceleyerek daha farklı şekilde optimize edebilirsiniz
ffmpeg.StartInfo.FileName = Page.MapPath("ffmpeg.exe");
ffmpeg.Start();
}
klasik asp ile şu şekilde yapabilirsiniz;
<%
Mpg="1.avi"
Flv="video.flv"
Set WScript = Server.CreateObject("WSCRIPT.SHELL")
WScript.Run(Server.Mappath("ffmpeg.exe") & " -i " & server.MapPath(Mpg) &" -y -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 "& server.MapPath(Flv))
%>
Ancak klasik asp'de bu işlemi yaparken IUSR_Bilgisayarinizin_Adi ve IWAM_Bilgisayarinizin_Adi kullanıcılarına ffmpeg.exe dosyasını çalıştırma hakkını atadığınızdan emin olun.
Bunlar dışında ffmpeg programına gönderilen parametrede kaynak ve hedef dosyaları arasına -s 320*240 -vframes 10 -f mjpeg parametresini gönderirseniz hedef dosyayı da örneğin preview.jpg olarak tanımlarsanız videodan bir sahneyi yakalamış olur ve onu da video için giriş görseli olarak kullanabilirsiniz.