使用OpenCV生成的视频如何添加音频

4
我一直在使用Python下的OpenCV来从捕获设备记录视频。每小时会写入两个输出AVI文件,并在整点时更改文件名。其中一个文件是原始捕获,另一个使用了一些OpenCV的检测功能。
一如既往,事情会发生变化,需要录制音频,这原本不是一个问题。我想知道是否有人有关于如何最好地做到这一点的建议。目前的想法是使用pyaudio单独记录音频轨道,然后在小时结束录制后使用ffmpeg将它们混合在一起,尽管我对保持准确的口型同步有一些担忧。
我想知道是否有人有更好的想法,可以准确地完成此操作且在录制过程中没有明显的间隙?
2个回答

1

pyaudio 模块可能符合您的需求,它是 portaudio 的封装。在 MacOsX 上,这个 hack 安装了 portaudio 库:

svn co https://www.portaudio.com/repos/portaudio/trunk portaudio
cd portaudio/
./configure
make
sudo make install
sudo /usr/bin/install -c -m 644 -m 644 ./include/pa_mac_core.h /usr/local/include/pa_mac_core.h
sudo easy_install pyaudio

请查看他们的网站:http://people.csail.mit.edu/hubert/pyaudio/


1
是的,到目前为止我一直在使用pyaudio,我只是想知道分别处理然后稍后再合并是否是一个好的解决方案。 - Duncan
很棒的指导!修复了我最初的pyaudio安装失败问题。不过稍微更改了一下,使用"https://subversion.assembla.com/svn/portaudio/"作为URL,因为你提供的那个对我不起作用。 - Frak
很高兴能帮上忙!我想知道如果再过6年,我是否会以同样的方式做(已经好几年没有输入“svn”命令了!) :-) - meduz

0

由于没有更好的解决方案,并且如果对其他人有用的话,我将继续使用我的原始计划并使用PyAudio录制声音。

实际上,我正在使用mencoder,使用具有stdout和stderr管道的POpen进行调用,然后使用一些正则表达式来检查作业是否成功,并为我的应用程序实现足够好的结果,尽管音频有时候会有一个或两个帧的延迟。


1
嗨,邓肯!你介意分享音视频同步录制的代码吗?非常感谢! 史蒂夫 - user636588
嗨,史蒂夫。恐怕虽然这对于短录音有效,但是在运行几个小时后唇同步可能会漂移,到目前为止我还没有找到原因。 - Duncan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接