【发布时间】:2014-04-27 07:28:18
【问题描述】:
美好的一天,
我编写了一个应用程序,它使用 V4L2 驱动程序从 C920 捕获 H264 原始帧。字节输出到标准输出,可以通过管道传输到文件或任何程序
我想要做的是:
./捕获 | ffmpeg -f h264 -i - -b 500000 -vcodec 复制出.mp4
这个想法是捕获原始视频并将其动态转换为 mp4 文件。它完美地工作,但是,从未应用比特率压缩。它最终得到一个与原始文件大小相同的文件(因为相机输出压缩的 h264 文件但已经在原始帧中)
但是,如果我要这样做
./cature > input.raw
ffmpeg -i out.mp4 -b 500000 output.mp4
现在,它会将文件压缩到合理的大小。是否有一个原因?我目前唯一的解决方案是使用 gstreamer 之类的替代方案(它与 h264 存在问题)或找出 ffmpeg API 并查看我是否可以添加一些代码以使其在运行中对帧进行压缩。
【问题讨论】:
标签: opencv video ffmpeg video-capture