视频解码库CUVID流程
来源:互联网 发布:如何查看电脑远程端口 编辑:程序博客网 时间:2024/05/29 21:18
视频解码库CUVID
CUVID是基于CUDA的视频解码库,利用CUVID进行解码,主要包括以下四个步骤:
1.解析视频数据文件
2.在GPU端解码
3.转换解码后的数据(YUV420、NV12 ---> RGBA)
4.将RGBA数据显示出来
下图为利用CUVID解码的伪代码示意图,其中VideoSource用来解析视频数据文件,VideoParser用来解码数据。
VideoSource的回调函数HandleVideoData(),当VideoSource的状态设置为Started时,开始解析视频文件,并创建VideoParser,解码数据。
VideoParser的回调函数:
HandleVideoSequence() 创建解码器或重设解码器
HandlePictureDecode() 解码每帧视频数据
HandlePictureDisplay() 转换,处理,显示解码后的数据
OpenCV中VideoReader_GPU可以方便地利用GPU读取视频文件,加速解码过程,但OpenCV中VideoReader_GPU无法读取rtsp视频流数据。
这是因为CUVID中CuvideoSource不支持rtsp视频流数据,不能由rtsp地址创建VideoSource。
三、CUVID解码rtsp视频流
基本思路:跳过VideoSource模块,利用其他方式解析视频数据文件。
基本步骤:
1.利用FFmpeg解析rtsp视频流
2.创建VideoParser
3.利用FFmpeg读取数据包(AVpacket)
4.将数据包传输到VideoParser(AVpacket ---> CUVIDSOURCEDATAPACKET)
5.VideoParser解码数据包
其示例伪代码如下图所示
- 视频解码库CUVID流程
- GPU视频解码之CUVID
- GPU硬解码---CUVID
- FFMPEG 视频解码流程
- GPU编解码 - 硬解码---CUVID
- GPU编解码 - 硬解码 - CUVID
- 音|视频输入、解码、输出的流程
- 视频直播流程以及ffmpeg编解码流程
- 视频直播流程以及ffmpeg编解码流程
- Linux/Windows 下分别编译音视频编解码库ffmpeg的流程和注意事项
- 基于FFmpeg的TS音视频解码流程之视频解码
- 利用libavdecode进行视频码流的解码流程
- 音视频的流程:录制、播放、编码解码、上传下载等
- 音视频的流程:录制、播放、编码解码、上传下载等
- 【计算机视觉】【并行计算与CUDA开发】GPU硬解码---CUVID
- 【视频开发】【CUDA开发】英伟达CUVID硬解,并通过FFmpeg读取文件
- 使用FFmpeg库实现视频解码
- iOS视频编解码常用库比较
- 未知:zi——题解
- Java中如何遍历Map对象的4种方法
- 中兴技术一面
- 【bzoj5015】[Snoi2017]礼物
- Java 8特性学习 --- Lambda表达式
- 视频解码库CUVID流程
- 《android开发艺术探索笔记》Part11、Android的线程和线程池
- 反序列化(先序)——split : string-->vector<string>
- 日常笔记之AP
- 常用 Git 命令清单
- html+js图片轮播包含背景音乐
- ES6--字符串的扩展
- 关于动态修改react-navigation各种属性方式
- maven scope含义的说明