当前位置:编程学习 > C#/ASP.NET >>

用户上传视频过程中转成flv格式方法?

正在做一个视频网站,想把用户上传上来的视频文件一传上来就转换成FLV格式的文件...例如象http://www.tudou.com --------------------编程问答-------------------- http://www.flashcom.com.cn/bbs/
这里有资料 --------------------编程问答-------------------- http://www.webstudio.com.cn/forum/showthread.php?t=1724 --------------------编程问答-------------------- 还是没有找到,能不能精确点啊
找了好久,没有找到.99 --------------------编程问答-------------------- 不懂  友情UP --------------------编程问答-------------------- ffmpeg + mEncoder --------------------编程问答-------------------- 有个软件可以转换,你找找 --------------------编程问答-------------------- 该回复被版主删除 --------------------编程问答-------------------- 一边上传一边转化是不是太麻烦了。效率太低了 --------------------编程问答-------------------- private void btAdd_Click(object sender, System.EventArgs e)
{
if(this.txtTitle.Text.Trim().Length ==0)
{
this.lblMsg.Text = "标题不能为空";
return;
}

string strBaseLocation = System.Configuration.ConfigurationSettings.AppSettings["TargetFolder"] ;
string filename = "";

if (null != uplTheFile.PostedFile && uplTheFile.PostedFile.ContentLength > 0 ) 
{
if(uplTheFile.PostedFile.ContentLength> 4 * 1024 * 1024)
{
lblMsg.Text = "文件大小超过4M!";
return;
}
System.IO.FileInfo fi = new System.IO.FileInfo(uplTheFile.PostedFile.FileName);
if(fi.Extension.ToLower() != ".avi" && fi.Extension.ToLower() != ".wmv" && fi.Extension.ToLower() != ".flv")
{
lblMsg.Text = "文件格式应为AVI, WMV, FLV视频! 现在格式为:" + fi.Extension.ToLower();
return;
}

filename = Guid.NewGuid().ToString() + fi.Name;

try 
{
uplTheFile.PostedFile.SaveAs(strBaseLocation + @"old\" + filename);
}
catch (Exception ee) 
{
throw ee;
}
}

string itemID = Framework.AddNewItem(this._userID,CMS.HandleString(this.txtTitle.Text),
CMS.HandleString(this.txtDesc.Text), CMS.HandleString(this.txtDesc.Text));

string fileName = System.Configuration.ConfigurationSettings.AppSettings["FFMpeg"];

string orginalFile = strBaseLocation + @"old\" + filename;
string targetFile = strBaseLocation + itemID + ".flv";
string argu = @"-i " + orginalFile + " -ab 56 -ar 22050 -b 500 -r 15 -s 480x360 " + targetFile;

try
{
if(! fileName.EndsWith(".flv"))
{
try
{
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(fileName,argu);
System.Diagnostics.Process.Start(startInfo);
}
catch
{
throw;
}

System.Threading.Thread.Sleep(6000);
}
else
{
System.IO.File.Copy(orginalFile, targetFile);
}

//picture
argu = @"-i " + targetFile + " -y -f image2 -ss 08.010 -t 0.001 -s 352x240 " + strBaseLocation + itemID + ".jpg";
System.Diagnostics.ProcessStartInfo startInfo1 = new System.Diagnostics.ProcessStartInfo(fileName,argu);
System.Diagnostics.Process.Start(startInfo1);
System.Threading.Thread.Sleep(2000);

if(! System.IO.File.Exists(strBaseLocation + itemID + ".jpg"))
{
System.IO.File.Copy(strBaseLocation + "17.jpg", strBaseLocation + itemID + ".jpg");
}

}
catch(Exception ee)
{
throw ee;
}

if(System.IO.File.Exists(targetFile) && (new System.IO.FileInfo(targetFile)).Length>10000)
{
this.lblMsg.Text = "<a href='viewitem.aspx?itemid=" + itemID + "'>添加成功!</a>";
}
else
{
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(fileName,argu);
System.Diagnostics.Process.Start(startInfo);

if(System.IO.File.Exists(targetFile) && (new System.IO.FileInfo(targetFile)).Length>10000)
{
this.lblMsg.Text = "<a href='viewitem.aspx?itemid=" + itemID + "'>添加成功!</a>";
}
else
{
Framework.DeleteItem(itemID, this._userID);
this.lblMsg.Text = "此文件格式添加失败!";
}
}

}
================
可参考以上代码,使用ffmpeg.exe来转换。另外可以生成缩略图 --------------------编程问答-------------------- 这么做服务器的开销是不是大了点?给个转换软件下载不行么? --------------------编程问答-------------------- 那有没有什么策略可以解决的啊? --------------------编程问答-------------------- UP --------------------编程问答-------------------- 好像有个叫菠萝网站吧
去找找看 --------------------编程问答-------------------- up --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 做个客户端插件,让其在客户端转换,转换完后,提供截图信息,然后压缩上传,上传后,服务器解压。
有没有这样的插件!
或者开发起来会不会很麻烦! --------------------编程问答-------------------- 已应用到多个视频网站,稳定,上传视频自动转换flv 加水印 截图,测试地址
http://www.511zf.com/flv/   联系QQ157415195  
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,