使用 NAudio 替换视频的音频流
Posted
技术标签:
【中文标题】使用 NAudio 替换视频的音频流【英文标题】:Replace the audio stream of a video using NAudio 【发布时间】:2013-11-21 04:02:18 【问题描述】:我有 2 个文件。两者的长度相同(以秒为单位):
-
视频文件(H.264、.mov)
音频文件(PCM、.wav)
如何在我的 C# 应用程序中使用 NAudio .NET 库以文件 #2 的音频覆盖文件 #1 的音频?我想将最终结果作为新的视频文件写入磁盘。
我相信使用 NAudio 1.7 的媒体基础功能可以做到这一点,但我不知道如何修改视频文件的音频流并重新保存视频。
【问题讨论】:
【参考方案1】:恐怕这在 NAudio 1.7 中是不可能的。 NAudio 为大部分 Media Foundation API 提供了互操作包装器,但 MediaFoundationReader
和 MediaFoundationEncoder
类的重点仅在于音频。 Media Foundation 应该可以,因此如果您可以找到使用 MF API 执行此操作的 C++ 示例,您可以使用 NAudio 的互操作包装器在 C# 中重新创建它。或者,您可以尝试使用不同的托管媒体基础库,例如 Media Foundation .NET
【讨论】:
我很高兴我问了!除了我很难确定 API 的功能之外,感谢您在 NAudio 上所做的出色工作。【参考方案2】:您可以使用 FFMPEG 来做到这一点。从 c# 调用 FFMPEG 并找到将视频与音频合并的命令。
【讨论】:
以上是关于使用 NAudio 替换视频的音频流的主要内容,如果未能解决你的问题,请参考以下文章
从 NAudio 访问 WPF MediaElement 声音流