我有一台用于视频处理的Nvidia Geforce GTX 1080Ti。我正在尝试在GPU上解码视频,并且能够解码Mpeg-4
视频。然而,问题是当我尝试将其用于ts
文件时。它错误地显示了一条消息,表示不支持该格式。我使用opencv::cudacodec::VideoReader
解码视频。
我试过几件事-
- 生成一个编码会话,对
ts
到mp4
进行编码,然后进行解码。然而,这似乎有些过头了 - 使用CPU进行解码,然后将帧上传到GPU进行处理。这似乎是目前最好的解决方案。然而,它仍然花费了GPU上
mp4
文件所需时间的近4倍 - 使用
ffmpeg
复制音频/视频流,并将容器更改为mp4
。这导致在GPU上解码时的帧数几乎是原来的两倍
我正在寻找一种在GPU上解码ts
文件的解决方案。
将文件的扩展名更改为'.mpeg'。'.ts'本质上是一个'.mpeg'文件。希望这能有所帮助。