RV1126解码(1)

比如我们现在要拉一个流, 拉一个rtmp或者拉一个rtsp的流,让它显示到显示屏上面去,此时就要用到我们这个解码模块了,把它个解出来并且发到其他模块去。

主要功能是通过FFMPEG的API读取每一帧的音视频数据,并通过RV1126的解码,对每一帧的压缩数据进行解码操作,并最终把解码的数据打印出来。这里要注意的是,在本DEMO中我们重点讲解RV1126的视频解码,音频解码不会做过多的说,因为要涉及到音视频同步的问题。用视频讲解

下面来我们先来看一下解码流程框图

RV1126总体代码讲解

在RV1126解码DEMO中,首先创建VDEC模块,我们用三个线程去处理,分别是ffmpeg_read_thread线程、 send_vdec_thread线程、read_vdec_thread线程。下面我们来看看这三个线程的具体作用。

1.1 初始化VDEC模块

作用:VDEC模块的初始化,VDEC的功能是解码每一帧视频数据。

1.2 FFMPEG_READ_THREAD线程

fmpeg_read_thread线程的主要功能是利用ffmpeg框架读取每一帧音视频复合流数据(这里用到的核心的av_read_frame),若检测到视频索引(video_index),则插入视频编码队列里面。

1.3 send_vdec_thread线程

send_vdec_thread线程主要功能是从video_queue队列里面获取每一帧视频数据,然后通过RV1126的API把每一帧视频编码数据送到VDEC解码器进行解码操作。

1.4 read_vdec_thread线程

read_vdec_thread线程主要功能是通过RK_MPI_SYS_GetMediaBuffer获取每一帧VDEC(解码器)数据,并打印出每一帧VDEC的具体信息。

相关推荐
lzptouch2 小时前
数据预处理(音频/图像/视频/文字)及多模态统一大模型输入方案
人工智能·音视频
casdfxx4 小时前
捡到h3开发板,做了个视频小车(二),御游追风plus做遥控器
音视频
mortimer5 小时前
FFmpeg 音画同步实践记录:从切片、变速到拼接,彻底搞定时间轴
ffmpeg
给大佬递杯卡布奇诺5 小时前
FFmpeg 基本API avcodec_send_packet函数内部调用流程分析
c++·ffmpeg·音视频
酌量7 小时前
从 ROS 订阅视频话题到本地可视化与 RTMP 推流全流程实战
经验分享·笔记·ffmpeg·音视频·ros
给大佬递杯卡布奇诺7 小时前
FFmpeg 基本API av_seek_frame函数内部调用流程分析
c++·ffmpeg·音视频
音视频牛哥11 小时前
从“小而美”到“大而强”:音视频直播SDK的技术进化逻辑
机器学习·计算机视觉·音视频·大牛直播sdk·人工智能+·rtsp播放器rtmp播放器·rtmp同屏推流
碎像11 小时前
ffmpeg下载和实战获取音视频时长
ffmpeg
空影星11 小时前
GridPlayer,一个好用的多视频同步播放器
python·flask·电脑·音视频
哲学七13 小时前
Springboot3.5.x版本引入javaCv相关库版本问题以及精简引入包
java·ffmpeg