5

我已经使用 Microsoft Expression Encoder 附加了两个视频,这个东西工作正常问题是,当我尝试附加'wmv'以外的视频时,它给出了 FileNot Supported的异常

我在谷歌上搜索,但我无法找到解决方案。

    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.NETMicrosoft Expression Encoder,这样我就可以通过编程方式将任何“mp4”视频转换为“wmv”,然后再附加它而不会造成音频或质量损失。

非常感谢您阅读所有问题:)

4

1 回答 1

1

我会检查你有哪个版本的 Windows Media 编码器。

“Express Edition”显然“不支持 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 文件中使用的编解码器。看到这个答案

于 2014-09-24T11:28:27.123 回答