当前位置: 首页 > article >正文

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的具体信息。

        

        


http://www.kler.cn/a/545494.html

相关文章:

  • 多能互补综合能源系统,改变能源结构---安科瑞 吴雅芳
  • 探索ChatGPT背后的前端黑科技
  • 【每日关注】科技圈重要动态
  • JVM——垃圾回收器
  • Redis企业开发实战(五)——点评项目之分布式锁Redission与秒杀优化
  • 基于Spring Boot的网上宠物店系统设计与实现(LW+源码+讲解)
  • 【数据结构课设--内部排序算法的性能分析系统】
  • 考研操作系统----操作系统的概念定义功能和目标(仅仅作为王道哔站课程讲义作用)
  • 独立C++ asio库实现的UDP Server
  • 用python写一个聊天室程序
  • 使用Cocos Creator制作“打砖块”小游戏:从零开始的详细教程
  • 告别硬编码:用 load_dotenv 高效管理你的环境变量
  • 【Git版本控制器】:第一弹——Git初识,Git安装,创建本地仓库,初始化本地仓库,配置config用户名,邮箱信息
  • Trend Micro 网络安全●解决方案
  • 物联网平台-分布式的设备接入与管理系统
  • NGINX相关的知识点
  • 10. Hbase Compaction命令
  • 34.Qt使用回调函数
  • 财务主题数据分析-企业盈利能力分析
  • 人工智能时代下ai智能语音机器人如何以假乱真?