使用 High profile 从 high profile mp4 文件在 OpenCV 中使用 H.264 编写视频
Writing a video with H.264 in OpenCV with High profile from a high profile mp4 file
我有高级 mp4 视频,我正在使用 opencv 在里面覆盖一些文本,但 output.mp4 是以简单的配置文件格式编写的。有没有办法写得高调
我正在使用最新的 opencv 3.4.16
开发平台为:WindowsC++ VS2019
VideoWriter videocc(destFile, VideoWriter::fourcc('M', 'P', '4', 'V'), fps, cv::Size(width, height));
我在fourcc中试过X264,H264,AVC1,但是没有高调写
是否有方法或示例可用于生成高级输出视频格式
主要配置文件编码问题请查找以下附件
您需要通过 OpenCV 将参数传递给 ffmpeg 和 libx264。
据我从官方文档中得知,OpenCV 不支持。
但是,源包含对环境变量的访问OPENCV_FFMPEG_WRITER_OPTIONS
你应该能够像将参数传递给 ffmpeg 一样传递参数,除了语法有点奇怪(键和值之间的分号,对之间的管道)。
以下是对此类设施的一些讨论:
您应该将 avc1
作为 fourcc 传递。 AFAIK 这是标准定义的 fourcc。但是,它不能保证您获得 libx264,只能保证您获得一些 AVC 编码器。
我打开了 an issue for this。文档问题始终是新手尝试为开源项目做贡献的好方法。
我尝试使用 AVC1 作为 fourCC 代码(按照 Rackwitz 的建议)并设置了环境变量:
export OPENCV_FFMPEG_WRITER_OPTIONS="vcodec;x264|vprofile;high|vlevel;4.0"
为了验证是否使用了 H264 编解码器和 high profile,我检查了使用
ffprobe
效果很好。
- OS Ubuntu 18.04
- OpenCV 3.4.14
- FFMPEG 3.4.8
我有高级 mp4 视频,我正在使用 opencv 在里面覆盖一些文本,但 output.mp4 是以简单的配置文件格式编写的。有没有办法写得高调 我正在使用最新的 opencv 3.4.16
开发平台为:WindowsC++ VS2019
VideoWriter videocc(destFile, VideoWriter::fourcc('M', 'P', '4', 'V'), fps, cv::Size(width, height));
我在fourcc中试过X264,H264,AVC1,但是没有高调写
是否有方法或示例可用于生成高级输出视频格式
主要配置文件编码问题请查找以下附件
您需要通过 OpenCV 将参数传递给 ffmpeg 和 libx264。
据我从官方文档中得知,OpenCV 不支持。
但是,源包含对环境变量的访问OPENCV_FFMPEG_WRITER_OPTIONS
你应该能够像将参数传递给 ffmpeg 一样传递参数,除了语法有点奇怪(键和值之间的分号,对之间的管道)。
以下是对此类设施的一些讨论:
您应该将 avc1
作为 fourcc 传递。 AFAIK 这是标准定义的 fourcc。但是,它不能保证您获得 libx264,只能保证您获得一些 AVC 编码器。
我打开了 an issue for this。文档问题始终是新手尝试为开源项目做贡献的好方法。
我尝试使用 AVC1 作为 fourCC 代码(按照 Rackwitz 的建议)并设置了环境变量:
export OPENCV_FFMPEG_WRITER_OPTIONS="vcodec;x264|vprofile;high|vlevel;4.0"
为了验证是否使用了 H264 编解码器和 high profile,我检查了使用 ffprobe
效果很好。
- OS Ubuntu 18.04
- OpenCV 3.4.14
- FFMPEG 3.4.8