c++ - 在 OpenCV 中使用 High Profile 从 High Profile mp4 文件编写 H.264 视频

标签 c++ opencv ffmpeg video-processing video-capture

我有高配置文件 mp4 视频,我正在使用 opencv 覆盖其中的一些文本,但 output.mp4 正在以简单的配置文件格式写入。有没有办法写得高调 我使用的是最新的opencv 3.4.16

开发平台为:Windows C++ VS2019

VideoWriter videocc(destFile, VideoWriter::fourcc('M', 'P', '4', 'V'), fps, cv::Size(width, height));

我在fourcc中尝试过X264,H264,AVC1,但没有高调写

是否有方法或示例可用于生成高配置文件输出视频格式

请查找以下附件,了解主要配置文件编码问题

enter image description here

最佳答案

您需要通过 OpenCV 将参数传递给 ffmpeg 和 libx264。

据我从官方文档得知,OpenCV 不支持这一点。

但是,源包含对环境变量 OPENCV_FFMPEG_WRITER_OPTIONS 的访问权限

应该能够像将参数传递给 ffmpeg 一样传递参数,只不过语法有点奇怪(键和值之间用分号,对之间用管道表示)。

以下是有关此类设施的一些讨论:

您应该将 avc1 作为 fourcc 传递。 AFAIK 这是标准定义的 fourcc。然而,它并不保证您获得 libx264,只是保证您获得一些 AVC 编码器。

我已经打开an issue for this 。对于新手来说,文档问题始终是为开源项目做出贡献的好方法。

关于c++ - 在 OpenCV 中使用 High Profile 从 High Profile mp4 文件编写 H.264 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70166420/

相关文章:

audio - MPEG 音频恒定比特率转换

ffmpeg 从长胶片中选择精确的帧

c++ - auto 是基于 for 循环的范围内的可选关键字吗?

c++ - 带指针的数组长度

c++ - 如何比较 C++ 中的内存位?

python - 如何使用python opencv与3d重建一起使用自动对焦

c - 手部特征识别

C++Builder 不会在 throw-catch-continue 上调用析构函数

opencv - 如何在不使用 opencv 中的 fitEllipse() 的情况下检测图像中的椭圆?

FFMPEG水印文字/照片透明不透明度问题