使用C#/DirectShow.Net/3ivx在MP4中进行编码
本文关键字:MP4 编码 3ivx DirectShow Net 使用 | 更新日期: 2023-09-27 17:58:17
我想在MP4中编码.wmv视频。
我在这里使用这个小软件:http://www.codeproject.com/Articles/11120/Media-files-conversion-using-C
我使用DirectShow.Net:http://sourceforge.net/projects/directshownet/和3ivx编解码器。
我如何更改代码:
//
// This method convert the input file to an wmv file
//
void Convert2Wmv(string fileName)
{
try
{
label1.Text = "Encodage";
button1.Enabled = false;
hr = me.SetNotifyWindow(this.Handle, WM_GRAPHNOTIFY, IntPtr.Zero);
DsError.ThrowExceptionForHR(hr);
// here we use the asf writer to create wmv files
WMAsfWriter asf_filter = new WMAsfWriter();
IFileSinkFilter fs = (IFileSinkFilter)asf_filter;
hr = fs.SetFileName(fileName + ".wmv", null);
DsError.ThrowExceptionForHR(hr);
hr = gb.AddFilter((IBaseFilter)asf_filter, "WM Asf Writer");
DsError.ThrowExceptionForHR(hr);
hr = gb.RenderFile(fileName + fExt, null);
DsError.ThrowExceptionForHR(hr);
hr = mc.Run();
DsError.ThrowExceptionForHR(hr);
}
catch (Exception ex)
{
MessageBox.Show("Error converting to wmv: " + ex.Message);
}
}
要进行MP4编码?我是C#/.Net的初学者…=$
提前谢谢3
您可以使用FFmpeg(适用于Mac、Linux和Windows的免费命令行工具)将WMV编码为MP4。下面是一个语法示例:
ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4