Cha*_*lie 5 c# video wmv aforge expression-encoder-sdk
我已经使用Microsoft Expression Encoder附加了两个视频,这个东西很好用问题是,当我试图追加"wmv"以外的视频时,它给出了FileNot支持的例外情况
我在谷歌搜索但我无法找到解决方案.
private void button1_Click(object sender, EventArgs e)
{
MediaItem mediaItem1 = null;
Job job = new Job();
job.EncodeProgress += new EventHandler<EncodeProgressEventArgs>(job_EncodeProgress);
int count = 0;
//video url contains all urls of videos
foreach (string x in VideosUrls)
{
if (count == 0)
{
mediaItem1 = new MediaItem(x);
job.MediaItems.Add(mediaItem1);
}
else
{
mediaItem1.Sources.Add(new Source(x));
}
count++;
}
job.OutputDirectory = @"C://videoOutput";
job.Encode();
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用AForge.NET或Microsoft Expression Encoder,所以我可以编程方式将任何'mp4'视频转换为'wmv',然后再添加音频或质量损失.
非常感谢阅读所有问题:)
小智 1
我会检查您拥有哪个版本的 Windows Media 编码器。
“Express Edition”显然“不支持H.264编码”。
事实上,您需要 MPEG LA 的 MP4 编码许可证。这可能就是为什么只有 Express Encoder 的付费版本支持 MPEG 4。
从逻辑上讲,您无法在不损失质量的情况下从一种视频/音频格式转换为另一种视频/音频格式。WMV 文件通常包含以 VC-1 编码的视频和以 WMA 编码的音频。但 .mp4 文件通常包含 h.264 视频和 AC-3 音频。
因此,您的最终 .wmv 文件将只需要包含 VC-1 中的视频,这意味着解码 h.264 视频并在 VC-1 中对其进行编码。这意味着质量损失。
VideoLan 可以告诉您 .mp4 和 .wmv 文件中使用的编解码器。看到这个答案。