2014-09-24 161 views
5

我已經使用了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」任何方式。

非常感謝您閱讀完所有的問題:)

+0

未嘗試編碼,但嵌入式播放與32/64位編解碼器不匹配可能是一個問題。也許嘗試構建x86 32位或安裝像K-Lite這樣的編解碼器包。 – WhoIsRich 2014-09-24 11:31:31

回答

1

我會檢查你的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