转换视频,AVI格式使用C#
问题描述:
我已经使用了Microsoft Expression Encoder的追加两个视频WMV格式,这事正常工作 的问题是,当我试图追加超过“WMV”等影片,它给出例外 FileNot Supported转换视频,AVI格式使用C#
我在谷歌搜索,但我无法找到解决方案。
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();
}
有编程,没有音频或质量损失追加之前使用AForge.NET或微软Expression Encoder的,所以我可以任意“MP4”视频转换为“WMV”任何方式。
非常感谢您阅读完所有的问题:)
答
我会检查你的Windows Media编码器的哪个版本。
的“速成版”显然,“不支持H.264编码”。
实际情况是,您需要MPEG LA的MP4编码许可证。也许那为什么只有Expression Encoder的支持MPEG的付费版本4.
从逻辑上讲,你不能从一个视频/音频格式转换为另一种没有松动的质量。 WMV文件通常包含以VC-1编码的视频和以WMA编码的音频。但.mp4文件通常包含h.264视频和AC-3音频。
所以,你最终的.wmv文件需要包含在VC-1视频仅这将意味着解码H.264视频和VC-1编码的。这意味着质量损失。
VideoLAN的可以告诉你,你的.MP4和.wmv文件内部使用的编解码器。见this answer。
未尝试编码,但嵌入式播放与32/64位编解码器不匹配可能是一个问题。也许尝试构建x86 32位或安装像K-Lite这样的编解码器包。 – WhoIsRich 2014-09-24 11:31:31