gpt4 book ai didi

opencv - 使用 ffmpeg、OpenCV 的硬件加速 h264 解码

转载 作者:行者123 更新时间:2023-12-02 15:29:10 24 4
gpt4 key购买 nike

我正在开发一个视频分析应用程序,我必须解码一个 RTSP 流以提供 IplImage 帧,然后将这些帧输入我的分析管道。
现在,OpenCV VideoCapture 结构允许我从 RTSP 流中提取帧(我认为它使用 ffmpeg 这样做),但性能不是很好。它需要实时工作。

我还继续编写了自己的 ffmpeg 解码器。但就像 OpenCv 一样,RTSP 流的性能并不好。丢了很多帧。但是,从本地文件解码工作正常。不过,我仍在努力改进代码。

我需要帮助的是这个。首先,我这里可以使用硬件加速解码来提高性能吗?我的应用程序应该是跨平台的,所以我可能需要使用 Directx VA(windows)和 VAAPI(linux)。如果是,那么有没有地方可以学习如何在代码中实现硬件加速,尤其是 ffmpeg 解码h264?

最佳答案

据我所知,使用 ffmpeg 后端的 VideoCapture 不支持硬件加速。
我认为您可以使用 gstreamer 作为后端的 VideoCapture,您可以自定义管道并通过 vaapi 启用硬件加速。
我正在使用这个管道:

rtspsrc location=%s latency=0 ! queue ! rtph264depay ! h264parse ! vaapidecodebin ! videorate ! videoscale ! videoconvert ! video/x-raw,width=640,height=480,framerate=5/1,format=BGR ! appsink

关于opencv - 使用 ffmpeg、OpenCV 的硬件加速 h264 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12952624/

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