问题标签 [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.
cuda - 如何获取 CUVID 设备的 GPU 架构?
我正在使用 NVidia 的 NvDec CUVID 功能实现视频解码器。根据(严重不足)手册的第 2 章,解码限制由 GPU 架构指定。即,最大 h265 水平分辨率在 GP10x 上为 8192,在 GP100 上为 4096 或更小,并且在低于 GM206 的任何架构上均不受支持。
如何使用 CUDA 检测此类架构?我应该从计算能力中推断出来还是什么?如果我应该推断它,是否有架构与计算能力的表格?
ffmpeg - 将 h264_cuvid 解码器与 ffmpeg 一起使用时出错
我正在尝试使用带有ffmpeg的NVIDIA cuvid硬件加速来解码视频。
我正在使用 NVIDIA GeForce GT 745M 显卡 (GPU:GK107),它与NVIDIA在此处指定的cuvid兼容
我用以下标志编译了ffmpeg:
然后,我将ffmpeg与以下命令行一起使用:
ffmpeg完成,似乎无法打开 cuvid 功能:
在ffmpeg源代码中,我可以发现这个错误消息是由以下宏打印的:
由以下人员调用:
有人知道cuvid是否需要特定文件来加载其功能吗?这里有什么问题的任何线索?
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] 代码块观察窗口中没有数据
有什么建议吗?谢谢!
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_CUDA
为AV_PIX_FMT_RGB
吗?(代码片段将不胜感激)
vector - 是否可以使用 cuvid 解码器 (h264_cuvid) 从 ffmpeg 获取运动矢量
我想知道是否可以使用 h264_cuvid 解码器通过 ffmpeg 解码 h264 流来获取运动矢量数据。使用标准的“h264”解码器,我可以在 avframe 的 sidedata 中获取它们(将 av_dict_set(&opts, "flags2", "+export_mvs", 0); 传递给 avcodec_open2 函数)。但是cuvid版本呢?我已经进行了搜索,但没有成功。有人知道吗?谢谢
docker - nvidia/cuda 映像中的 NVidia 驱动程序库
nvidia/cuda
我想在基于官方图像的容器中运行带有 cuvid 硬件加速解码的 ffmpeg 。Ffmpeg 无法找到 libnvcuvid.so,尽管有所有必需的 cuda 库。容器的输出ldconfig -p | grep libnv
:
我应该libnvcuvid.so
从主机复制吗?如果底层驱动程序版本发生变化,它不会中断吗?
opengl - 在不离开 GPU 内存的情况下编码 OpenGL 渲染的视频
我正在做一些初步工作来制作渲染管道,并且正在调查 OpenGL 是否适合我的用例:我需要从标记语言生成视频,理想情况下使用已经实现了我需要的大部分原语的 opengl。
有没有办法,而不是(或另外)更新帧缓冲区,使用 nvenc 制作 mp4 视频文件,而不在 GPU 和主存储器之间来回复制数据?
opencv - 有没有办法在 OpenCV 中使用 cuvid 解码器?
想知道是否有办法在 OpenCV 中使用 NVIDIA 编解码器(例如 cuvid、scale_npp、nvenc_h264/nvenc_hevc)?这些编解码器可以在 FFMpeg 命令行中使用。由于 FFMpeg 是 OpenCV 的后端(例如使用 libavcodec、libavfilter 等),是否可以在代码中指定这些编解码器?
ffmpeg - FFMpeg libavcodec hwaccel 工作原理
谁能解释 hwaccel 解码、过滤和编码如何在 FFMpeg libavcodec 中工作?大局是什么?主要功能和结构是什么?
VAAPI 和 CUDA GPU 的处理方式有什么不同吗?任何用于 VAAPI 和 CUDA 的解码、过滤和编码的示例代码都会很棒。
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 中加载图像?
提前致谢 !