python-3.x - ffmpeg RTSP 使用 GPU 流式传输到 RGB24
问题描述
-hwaccel cuvid
我已成功将 RTSP 流输出到 RGB24 管道,但我注意到尽管使用了并且CPU 使用率仍然很高(20-45%)-vcodec h264_cuvid
(没有硬件加速它可以达到 100-300%;基于 Linux 上的“top”命令) .
我正在使用的当前代码是:
ffmpeg
.input(*rtsp_add*, rtsp_transport='tcp', fflags='nobuffer', flags='low_delay', hwaccel='cuvid', vcodec='h264_cuvid', vsync=0)
.output('pipe:', format='rawvideo', pix_fmt='rgb24')
.run_async(quiet=False, pipe_stdout=True)
在我使用 -vcodec h264_nvenc 的那一刻,我收到一堆错误,因为我认为它与 RGB24 不兼容。使用命令“ffmpeg -pix_fmts”,我注意到几乎没有任何东西属于“硬件加速格式”。我不介意在 YUV420p、YUV444p、RGB24 等环境中工作……这是否意味着如果我选择使用硬件编码,我将无法将图像输出到管道中?
与将输出写入物理文件并再次读取以操作数据以提高性能相比,我更愿意将输出写入管道。输出到内存中的 JPG 或 PNG 的选项也很好。
解决方案
推荐阅读
- excel - 用于保存设置的日期值函数没有给出正确的格式?
- regex - 正则表达式中捕获组的长度
- javascript - 为什么 Promise 在 setTimeout 之前执行?
- reactjs - useEffect 似乎在渲染完成之前被触发
- python - 在 Django 中注册时将用户添加到组中
- curl - 在 curl 命令中覆盖 curl 配置文件选项
- postgresql - Postgresql:在表的列中查找一些文本
- c# - 反序列化 JSON 时,我得到了 `System.InvalidCastException`
- amazon-web-services - 通过 AWS CLI 获取 cloudformation 堆栈的 JSON 模板
- javascript - kendodropdownlist 过滤具有字段的 json 响应