【发布时间】:2019-04-03 03:21:47
【问题描述】:
我有一个用于视频处理的 Nvidia Geforce GTX 1080Ti。我正在尝试解码 GPU 上的视频并且能够解码 Mpeg-4 视频。但是问题是当我尝试将其用于ts 文件时。它会出错并显示一条消息,指出该格式不受支持。我正在使用opencv::cudacodec::VideoReader 解码视频。
我已经尝试了几件事-
- 产生一个编码会话,将
ts编码为mp4,然后解码。然而,这似乎有点过头了。 - 使用 CPU 解码,然后将帧上传到 GPU 进行处理。这似乎是目前最好的解决方案。但是,在 GPU 上处理
mp4文件所需的时间几乎是其 4 倍。 - 使用
ffmpeg复制音频/视频流并将容器更改为mp4。这导致在 GPU 上解码时帧数几乎增加一倍
我正在寻找在 GPU 上解码 ts 文件的解决方案。
【问题讨论】:
-
容器无关紧要 - demuxng 始终在软件中。如果 GPU 支持编解码器,那么它将在 ffmpeg 上运行。 OpenCV 可能会受到更多限制。
-
您能否具体说明为什么在 GPU 上解码时使用带有 -codec 复制选项的 ffmpeg 会导致帧数增加一倍?
-
@Harry 我试过
-acodec copy -vcodec copy