考虑user1上传swf文件, user2上传一个flv, 用户3上传mp4文件, 用户4上传3gp文件,
并且为了显示跨浏览器,我们需要这种格式的上述文件(swf,3gp,mp4,flv,ogv) 一旦用户在 asp.net
中上传他/她的文件,怎么办呢?谢谢@ Florestan06 我只是测试这段代码
protected void Button1_Click(object sender, EventArgs e)
{
string AppPath = Request.PhysicalApplicationPath;
//This is the path of your application
string inputPath = AppPath + "ffmpeg\\" + "tizer.mp4";
//Source Video Path
string outputPath = AppPath + "outputFolder\\" + "myVideoOutput.flv";
//Destination Video Path
string fileargs = " -i \"" + inputPath + "\" \"" + outputPath + "\"";
//Command Line
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = AppPath + "ffmpeg\\ffmpeg.exe";
//Path of FFMPEG
proc.StartInfo.Arguments = fileargs;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.Start();
}
它将tizer.mp4转换为flv,但现在它的大小为0字节。你有什么想法吗?
答案 0 :(得分:0)
我建议您在服务器上安装ffmpeg,然后拨打ffmpeg commands through .NET。这样,您可以处理输入文件到所需输出的不同转码。这当然是上传完成后。
虽然我不确定为什么你需要同时拥有SWF和FLV - FLV应该足够基于闪存的环境?有关详细信息,请查看here。
编辑:它将tizer.mp4转换为flv,但现在它的大小为0字节。你有什么想法吗?
首先,您需要了解ffmpeg的基础知识,以便转码为您要定位的不同输出。您可以启动here并深入了解ffmpeg documentation。首先确保您的命令在终端/命令提示符中有效。
一旦这样可以,我建议你对.Net / ffmpeg脚本的输出进行详细说明,试图捕获/记录该过程的任何主要步骤。我只是指出了如何从.Net执行和外部程序的示例。我猜你可以在Stackoverflow或MSDN社区找到其他例子,如果这个例子没有按预期的那样工作。
输出0字节输出文件或者建议您的ffmpeg命令无效,或者您的脚本执行ffmpeg时出现问题。