将音频和视频文件合并为一个 [C++] [关闭]

Posted

技术标签:

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

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

不胜感激,谢谢!

【问题讨论】:

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

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

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


编辑ffmpeg的两种使用方式:

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

    https://github.com/chelyaev/ffmpeg-tutorial.

    https://github.com/phamquy/FFmpeg-tutorial-samples

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

【讨论】:

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

以上是关于将音频和视频文件合并为一个 [C++] [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 将两个视频合并为一个带音频的视频文件

使用 MediaRecorder 将音频和视频流合并为一个文件 [重复]

是否可以在android中将音频合并到视频? [关闭]

使用 ffmpeg 合并视频和音频。循环播放视频和音频[关闭]

如何将视频文件与音频文件合并并保持创建时间?

如何使用 c# 将两个音频文件和一个视频文件合并到一个视频文件中?