Convert Viedo to .Flv Using c#.net on Web


The method to convert video to .flv is too easy. You can downlaod following files from here or .net.
1) ffmpeg.exe
2) ffplay.exe
3) pthreadGC2.dll

After dowloading all the files

Follow the steps wrtitren:-

1)Make a new .net web site or windows application.
2)Copy and paste all the 3 above written files to root location
3)Copy and Paste code written below
4)Put an upload to page and rename to “fileuploadImageVideo”
5)put and button and rename to btn_Submit
6)Make 3 folders OriginalVideo, ConvertVideo, Thumbs
7)Import Class “using System.IO;”

private bool ReturnVideo(string fileName)
{
string html = string.Empty;
//rename if file already exists

int j = 0;
string AppPath;
string inputPath;
string outputPath;
string imgpath;
AppPath = Request.PhysicalApplicationPath;
//Get the application path
inputPath = AppPath + "OriginalVideo";
//Path of the original file
outputPath = AppPath + "ConvertVideo";
//Path of the converted file
imgpath = AppPath + "Thumbs";
//Path of the preview file
string filepath = Server.MapPath("~/OriginalVideo/" + fileName);
while (File.Exists(filepath))
{
j = j + 1;
int dotPos = fileName.LastIndexOf(".");
string namewithoutext = fileName.Substring(0, dotPos);
string ext = fileName.Substring(dotPos + 1);
fileName = namewithoutext + j + "." + ext;
filepath = Server.MapPath("~/OriginalVideo/" + fileName);
}
try
{
this.fileuploadImageVideo.SaveAs(filepath);
}
catch
{
return false;
}
string outPutFile;
outPutFile = "~/OriginalVideo/" + fileName;
int i = this.fileuploadImageVideo.PostedFile.ContentLength;
System.IO.FileInfo a = new System.IO.FileInfo(Server.MapPath(outPutFile));
while (a.Exists == false)
{

}
long b = a.Length;
while (i != b)
{

}

string cmd = " -i \"" + inputPath + "\\" + fileName + "\" \"" + outputPath + "\\" + fileName.Remove(fileName.IndexOf(".")) + ".flv" + "\"";
ConvertNow(cmd);
string imgargs = " -i \"" + outputPath + "\\" + fileName.Remove(fileName.IndexOf(".")) + ".flv" + "\" -f image2 -ss 1 -vframes 1 -s 280x200 -an \"" + imgpath + "\\" + fileName.Remove(fileName.IndexOf(".")) + ".jpg" + "\"";
ConvertNow(imgargs);

return true;
}
private void ConvertNow(string cmd)
{
string exepath;
string AppPath = Request.PhysicalApplicationPath;
//Get the application path
exepath = AppPath + "ffmpeg.exe";
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = exepath;
//Path of exe that will be executed, only for "filebuffer" it will be "flvtool2.exe"
proc.StartInfo.Arguments = cmd;
//The command which will be executed
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.RedirectStandardOutput = false;
proc.Start();

while (proc.HasExited == false)
{

}
}
protected void btn_Submit_Click(object sender, EventArgs e)
{
ReturnVideo(this.fileuploadImageVideo.FileName.ToString());
}

Now run the application select a video file, that will get converted and come to ConvertVideo Folder

Download Full Project.

Reference: http://forums.asp.net/t/1356425.aspx

Advertisements

21 thoughts on “Convert Viedo to .Flv Using c#.net on Web

  1. Hey Rana,

    Thanks for this post.
    I have a class that converts a video using fvec. The converted video is created in a different folder, but the problem is that while the process is running the flv video is created in this folder with 0 bytes and raises until it ends.
    How can I “hide” the new flv and show it ONLY when the process finishes? (without write it in a temporarly file and then move it).

    Thanks!

  2. I’ve tried this source form wmv file and didn’t worked for me, it created 0KB flv file, may be there are some limitations for file size or formats?

  3. unable to load pthreadGC2.dll file in my page . how to make accessible dll file in my page any idea, its urgent for me…

  4. very nice and exactly working code sir, from long time i am searching this type of code.
    thank you for this post sir.
    one suggestion sir add given line in web.config

    this will allow upload a file up to size of 200Mb.
    your code is very nice works for small size but for big size it won’t work..

  5. opening angle bracket httpRuntime executionTimeout=”1200″ maxRequestLength=”200000″ / closing angle bracket

  6. I tried for your code, but sorry to say but i am getting 0 Byte sized .flv files.
    I can convert your sample file properly, but fails for other few files conversion attempts, plz reply for this.

  7. Hello, your code is too good , it’s working .But i am facing some issues like when run’d on server it show’s access is denied . When run’d on local host without debugging take hour’s to complete . When I debug the code it’s work’s fine don’t take too much time. Can you please tell me how I can sort this . I changed the path of ffmpeg.exe as i am using ffmpeg.exe inside Tools folder

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s