2013-11-21 46 views
1

我有2个文件。两者都是相同的长度(秒):使用NAudio替换视频的音频流

  1. 视频文件(H.264,.MOV)
  2. 的音频文件(PCM,.WAV)

如何使用我的C#应用​​程序中的NAudio .NET库用来自文件#2的音频覆盖文件#1的音频?我想将最终结果作为新的视频文件写入磁盘。

我相信这可以使用NAudio 1.7的媒体基础功能,但我无法弄清楚如何修改视频文件的音频流并重新保存视频。

回答

5

恐怕NAudio 1.7无法实现。 NAudio为大部分媒体基础API提供了interop包装,但MediaFoundationReaderMediaFoundationEncoder类的重点仅在音频上。媒体基础应该是可能的,所以如果你能找到一个C++的例子,用MF API来做这件事,你可以使用NAudio的Interop包装器在C#中重新创建它。或者,您可以尝试使用不同的托管媒体基础库,例如Media Foundation .NET

+2

我很高兴我问了!除了我很难确定API的可能性之外,感谢您在NAudio方面的出色工作。 – Fanblade

1

您可以使用FFMPEG来完成此操作。从c#调用FFMPEG并找到合并视频和音频的命令。