我正在使用opencv处理视频,但同时我需要播放音频并简单地控制它,如大声或当前帧号.
我想我应该用ffmpeg创建一个并行进程,但我不知道该怎么做.你能解释一下该做什么吗?
或者您知道另一种解决方案吗?
我想写一个图像格式化的文本.OpenCV仅提供一组有限的默认字体.是否可以使用其他人?例如,从*.ttf文件(在Ubuntu中)读取它们?
当我试图将帧写入视频时,我不断收到断言错误.我得到的错误是这样的:
Traceback (most recent call last):
File "VideoMixer.py", line 23, in <module>
cv.WriteFrame(writer, cv.LoadImage(fileName))
cv.error: dst.data == dst0.data
Run Code Online (Sandbox Code Playgroud)
这是我的脚本:
import cv
import sys
files = sys.argv[1:]
for f in files:
capture = cv.CaptureFromFile(f)
height = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH)
width = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT)
fps = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FPS)
fourcc = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FOURCC)
print fourcc
writer = cv.CreateVideoWriter('ok.mov', int(fourcc),fps,(int(width),int(height)),1)
print writer
for i in range(30):
frame = cv.QueryFrame(capture)
print frame
if frame:
cv.WriteFrame(writer, frame)
Run Code Online (Sandbox Code Playgroud)
保存帧图像工作正常,所以我知道捕获没有错.我创作的作者错了吗?'print fourcc'输出0.0,但我尝试了很多FOUR_CC值.
谢谢!
我一直在尝试使用OpenCV和Visual Studio 2008创建应用程序,从网络摄像头捕获图像,对它们应用过滤器,然后将它们写入AVI文件.除了创建AVI文件外,一切正常.
问题是它可以在我的计算机上运行,但它不能在我同事的计算机上运行.之所以(我认为)是因为他没有必要的视频编码器供OpenCV使用.
cvCreateVideoWriter函数不返回NULL,但我最终在磁盘上有一个0kb文件.