【问题标题】:Decode `ts` videos on GPUs?在 GPU 上解码“ts”视频?
【发布时间】: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

标签: opencv video ffmpeg


【解决方案1】:

将文件的扩展名更改为“.mpeg”。 “.ts”本质上是一个“.mpeg”文件。希望这会有所帮助。

【讨论】:

  • 不,不是。传输流和容器文件根本不是一回事
猜你喜欢
  • 2021-09-26
  • 2011-07-06
  • 2020-10-15
  • 2011-10-10
  • 2012-12-01
  • 2013-04-19
  • 2016-10-07
  • 2023-04-03
  • 2011-10-22
相关资源
最近更新 更多