问题标签 [cuvid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1133 浏览

cuda - 如何获取 CUVID 设备的 GPU 架构?

我正在使用 NVidia 的 NvDec CUVID 功能实现视频解码器。根据(严重不足)手册的第 2 章,解码限制由 GPU 架构指定。即,最大 h265 水平分辨率在 GP10x 上为 8192,在 GP100 上为 4096 或更小,并且在低于 GM206 的任何架构上均不受支持。

如何使用 CUDA 检测此类架构?我应该从计算能力中推断出来还是什么?如果我应该推断它,是否有架构与计算能力的表格?

0 投票
1 回答
9902 浏览

ffmpeg - 将 h264_cuvid 解码器与 ffmpeg 一起使用时出错

我正在尝试使用带有ffmpeg的NVIDIA cuvid硬件加速来解码视频。

我正在使用 NVIDIA GeForce GT 745M 显卡 (GPU:GK107),它与​​NVIDIA在此处指定的cuvid兼容

我用以下标志编译了ffmpeg:

然后,我将ffmpeg与以下命令行一起使用:

ffmpeg完成,似乎无法打开 cuvid 功能:

ffmpeg源代码中,我可以发现这个错误消息是由以下宏打印的:

由以下人员调用:

有人知道cuvid是否需要特定文件来加载其功能吗?这里有什么问题的任何线索?

0 投票
1 回答
958 浏览

ffmpeg - 为什么ffmpeg使用“h264_cuvid”解码h264时没有AVFrame->data[2]数据

环境:ubuntu 16.04 64 位ffmpeg 3.3.2 build whih cuda cuvid libnpp ...
使用ffmpeg cmd:ffmpeg -vsync 0 -c:v h264_cuvid -i test.264 -f rawvideo test.yuv工作正常,生成的yuv文件没问题。
但是当我通过我的代码使用“h264_cuvid”解码器解码这个 264 文件时,发生了一些问题,这是我的代码:

在这个演示代码中,我通过调用 h264_cuvid 来调用 h264_cuvid,vcodec_find_decoder_by_name("h264_cuvid"); 但代码在fwrite(myFrame->data[2]+myFrame->linesize[2]*i,1,myFrame->width/2,fp_out);
使用代码块进行调试后,我发现 myFrame->data[2] 代码块观察窗口中没有数据

有什么建议吗?谢谢!

0 投票
3 回答
11178 浏览

c++ - 如何将像素格式为 AV_PIX_FMT_CUDA 的 FFmpeg AVFrame 转换为像素格式为 AV_PIX_FMT_RGB 的新 AVFrame

我有一个简单的 C++ 应用程序,它使用 FFmpeg 3.2 接收 H264 RTP 流。为了节省 CPU,我使用编解码器 h264_cuvid 进行解码部分。我的 FFmpeg 3.2 是在启用硬件加速的情况下编译的。事实上,如果我执行以下命令:

我明白了

这意味着我的 FFmpeg 设置可以与我的 NVIDIA 卡“对话”。该函数avcodec_decode_video2为我提供的帧具有像素格式AV_PIX_FMT_CUDA。我需要将这些帧转换为带有AV_PIX_FMT_RGB. 不幸的是,我无法使用众所周知的函数进行转换sws_getContext,因为不支持sws_scale像素格式。AV_PIX_FMT_CUDA如果我尝试使用 swscale,则会收到错误消息:

“不支持 cuda 作为输入像素格式”

你知道如何将 FFmpegAVFrame从转换AV_PIX_FMT_CUDAAV_PIX_FMT_RGB吗?(代码片段将不胜感激)

0 投票
0 回答
212 浏览

vector - 是否可以使用 cuvid 解码器 (h264_cuvid) 从 ffmpeg 获取运动矢量

我想知道是否可以使用 h264_cuvid 解码器通过 ffmpeg 解码 h264 流来获取运动矢量数据。使用标准的“h264”解码器,我可以在 avframe 的 sidedata 中获取它们(将 av_dict_set(&opts, "flags2", "+export_mvs", 0); 传递给 avcodec_open2 函数)。但是cuvid版本呢?我已经进行了搜索,但没有成功。有人知道吗?谢谢

0 投票
1 回答
1541 浏览

docker - nvidia/cuda 映像中的 NVidia 驱动程序库

nvidia/cuda我想在基于官方图像的容器中运行带有 cuvid 硬件加速解码的 ffmpeg 。Ffmpeg 无法找到 libnvcuvid.so,尽管有所有必需的 cuda 库。容器的输出ldconfig -p | grep libnv

我应该libnvcuvid.so从主机复制吗?如果底层驱动程序版本发生变化,它不会中断吗?

0 投票
1 回答
94 浏览

opengl - 在不离开 GPU 内存的情况下编码 OpenGL 渲染的视频

我正在做一些初步工作来制作渲染管道,并且正在调查 OpenGL 是否适合我的用例:我需要从标记语言生成视频,理想情况下使用已经实现了我需要的大部分原语的 opengl。

有没有办法,而不是(或另外)更新帧缓冲区,使用 nvenc 制作 mp4 视频文件,而不在 GPU 和主存储器之间来回复制数据?

0 投票
0 回答
398 浏览

opencv - 有没有办法在 OpenCV 中使用 cuvid 解码器?

想知道是否有办法在 OpenCV 中使用 NVIDIA 编解码器(例如 cuvid、scale_npp、nvenc_h264/nvenc_hevc)?这些编解码器可以在 FFMpeg 命令行中使用。由于 FFMpeg 是 OpenCV 的后端(例如使用 libavcodec、libavfilter 等),是否可以在代码中指定这些编解码器?

0 投票
0 回答
693 浏览

ffmpeg - FFMpeg libavcodec hwaccel 工作原理

谁能解释 hwaccel 解码、过滤和编码如何在 FFMpeg libavcodec 中工作?大局是什么?主要功能和结构是什么?
VAAPI 和 CUDA GPU 的处理方式有什么不同吗?任何用于 VAAPI 和 CUDA 的解码、过滤和编码的示例代码都会很棒。

0 投票
0 回答
1019 浏览

ffmpeg - FFMPEG 视频从图像到 nvidia GPU 中的 mp4

我正在尝试使用 1070ti nvidia cuda 电源对从 .jpg 图像创建的 h264 .mp4 视频进行编码,并在每个图像之间进行交叉淡入淡出过渡。我可以使用标志 -c:v h264_nvenc 在 GPU 中渲染视频,我在 GPU 编码中看到了一个短暂的峰值,但是随着计算机 CPU 的长时间高负载,我想准备过渡图像。但是由于 -filter_complex,它发生在 cpu/ram 上的图像准备非常慢。这有效:

我正在尝试在 GPU 中完成所有工作,理论上我可以使用每个 -i 中的标志“-hwaccel cuvid -c:v mjpeg_cuvid”对 GPU 内存中的所有图像进行编码我收到以下错误:

有没有办法在应用了“淡入淡出”标志的情况下在 GPU 中加载图像?

提前致谢 !