【问题标题】:Merging audio and video files into one [C++] [closed]将音频和视频文件合并为一个 [C++] [关闭]
【发布时间】:2014-01-02 15:10:18
【问题描述】:

我的 C++ 应用程序使用 openframeworks 以 .mov 格式从网络摄像头录制视频,并使用第 3 方应用程序将应用程序声音录制到单独的 .wav 文件中。 在执行结束时,我需要将视频和音频文件合并为一个。是否有任何库或 API 可以做到这一点?

不胜感激,谢谢!

【问题讨论】:

  • ffmpeg 是您可以研究的一种工具。还有libavcodec ffmpeg 使用。但是您需要的只是“混合”(将流打包到容器中),而不是“编码”。 ffmpeg 可以做到这一点,但我不知道怎么做(如果它为此使用 libavcodec)。
  • 刚刚发现ffmpeg用来复用的库叫做libavformat。这似乎是这项任务的解决方案。
  • 我会调查的,非常感谢 :)

标签: c++ audio video merge


【解决方案1】:

类似于问题here,以下引用自那里:

获得单独的音频和视频文件后,您可以使用称为muxing 的技术将它们组合起来。有很多方法可以做到这一点。我使用VirtualDub 来满足我的大部分复用需求,尽管它只是Windows(不确定这是否是一个问题)。我知道ffmpeg 也能够复用(通过命令行界面),我不记得命令是什么。还有 mplayer 和许多其他程序可以做到这一点。


编辑ffmpeg的两种使用方式:

  1. 使用C/C++ API:查看以下优秀的 ffmpeg 教程

  2. 使用系统调用: 查看here 获取有关如何合并音频和视频文件的脚本源代码(命令)。

【讨论】:

  • 感谢您的回答。要求您向我展示一些使用 VirtualDub 执行此任务的代码 sn-p 会很重要吗?
  • 对不起,刚刚才意识到最初写这个答案的人不是你!我去看看,谢谢
  • @PedroBatista 我认为ffmpeg 是更好的选择,因为VirtualDub 是一个应用程序,可能不适合在C++ 中使用。
  • 那么,要在代码中做到这一点,我必须使用系统编写 ffmpeg 命令行输入,对吗?
  • 是的,我想是的。我已经添加了有关合并音频/视频文件所需的详细命令的链接。
猜你喜欢
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多