gpt4 book ai didi

c++ - cv::VideoWriter 产生不可读的视频

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:18 24 4
gpt4 key购买 nike

我想从 52fps 的 RGB 图像流中生成一个视频文件。我发现 opencv api 使用起来非常方便 (cv::VideoWriter)。问题是我只能用VLC播放制作的avi;它播放视频但大喊:

[0x28307b0] xcb_xv generic error: no available XVideo adaptor

任何其他视频播放器(在同一台计算机上)都无法读取和播放该视频。录制时一切看起来都正常:我获得了有关输出、帧大小、视频编解码器、fps 等的信息...没有错误。

Output #0, avi, to '01-23-12_15-24-51.avi':
Stream #0.0: Video: flv, yuv420p, 500x242, q=2-31, 7744 kb/s, 90k tbn, 52tbc

由于 OpenCv 仅支持 avi 作为视频容器,我唯一可以更改的是视频编解码器,我尝试了(FOURCC 代码)FLV1、DIVX、DIV3,但它们都无法正常工作。

我想在不同计算机上使用任何视频播放器播放此视频。我怎样才能让它发挥作用? VideoWriter 是正确的选择吗?

非常欢迎任何建议。

谢谢。

最佳答案

如果您的图像有视频源,最好使用相同的编解码器进行输出:

int videoType = (int)cap.get(CV_CAP_PROP_FORMAT);

VideoWriter vout;
vout.open(videofile + "_out.avi", videoType, 30, imgSize);

或者,您可以尝试更旧、更简单的 FOURCC。或者特定于 Microsoft,如果您只想在 Windows 上运行它。

关于c++ - cv::VideoWriter 产生不可读的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8980205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com