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

学习笔记 | 音视频 | 推流项目框架及细节

推流项目:
跑起来项目,再调,创造问题,注意项目跑起来包括哪些步骤

前期准备:环境的配置
依赖库要交叉编译,编译还需注意依赖的库对应的头文件(注意是绝对路径还是相对路径)
Rv1126_lib、arm_libx264、arm_libx265、arm_libsrt、arm32_ffmpeg_srt、arm_openssl
Ubuntu搭建SRT服务器、Windows搭建推流服务器

1、项目介绍
此项目是利用瑞芯微Rv1126的SoC 上 VI 模块和 AI 模块分别采集摄像头和麦克风上的数据,并通过 SoC 上的硬件 VENC 模块和硬件 AENC 模块通过视频 h264 音频 AAC 硬件编码,并存放到视频、音频编码队列里面,ffmpeg 再从编码队列模块上获得视频和音频数据进行音视频同步后复合成 ts 流,最后推送到 SRT 流媒体服务器

2、项目核心点描述

(1)项目中使用的 SDK 是什么?请介绍一下该 SDK 的主要功能和提供的 API。
请介绍一下 RV1126 SoC,以及其中的 VI 模块、AI 模块、硬件 VENC 模块和硬件 AENC 模块的作用是什么?

项目中使用的SDK是RKmedia的一种媒体处理方案,该SDK支持应用软件的快速开发,该平台主要支持以下功能:

音视频输入输出和编解码、RGA视频处理(包括旋转、缩放、裁剪)、移动侦测、遮挡侦测、视频合成、视频封装

VI(输入视频捕获)、VENC(H.265/H.264/JPEG/MJPEG 编码)、VDEC(H.265/H.264/JPEG、MJPEG 解码)、VO(视频输出显示)、RGA视频处理(包括旋转、缩 放、裁剪)、AI(音频采集)、AO(音频输出)、AENC(音频编码)、ADEC(音频解码)、MD(移 动侦测)、OD(遮挡侦测)、VMIX(视频合成)、MUXER(视频封装)。

(2)请说明视频编码队列和音频编码队列的作用,以及如何利用 SDK 的 API 对摄像头和麦克风数据进行采集和编码,并将其存放到相应的队列中。

许多线程之间需要进行数据的传递,所以此时我们就需要通过队列作为一条桥梁把数据从一个线程送到另外一个线程里面,然后队列有先进先出的特性,保证最先采集到的音视频数据最先处理,不会出现乱序的情况;也起到数据缓冲的压

http://www.lryc.cn/news/195623.html

相关文章:

  • 拓扑几何学
  • 1.12.C++项目:仿muduo库实现并发服务器之LoopThreadPool模块的设计
  • SpringBoot介绍
  • 2022最新版-李宏毅机器学习深度学习课程-P17 卷积神经网络CNN
  • 微博清理僵尸粉
  • 创建React Native的第一个hello world工程
  • 基础课3——自然语言处理的应用
  • 理解 Git 的三个工作区:工作区、暂存区和版本库
  • web前端基础训练-----创建用户反馈表单
  • Scrum 敏捷管理流程图及敏捷管理工具
  • Android Handler/Looper视角看UI线程的原理
  • 【网络】网络入门
  • GO-实现简单文本格式 文本字体颜色、大小、突出
  • 铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)
  • latex,不带行号的algorithm
  • RocketMQ高性能核心原理与源码架构剖析
  • MATLAB中zp2tf函数用法
  • 解决:uniapp项目中调用小程序的chooseAddress() API失效
  • 2023 项目组总结(待完善)
  • Chrome浏览器 键盘快捷键整理
  • 【JAVA】集合与背后的逻辑框架,包装类,List,Map,Set,静态内部类
  • mac电脑版数字图像处理软件:ACDSee Photo Studio 9最新 for Mac
  • 酷开系统 | 酷开科技让你放肆嗨唱,聆听内心最真实的声音
  • PC电脑 VMware安装的linux CentOs7如何扩容磁盘?
  • redis极速的奥秘
  • three.js之初识three.js
  • 二维码智慧门牌管理系统:地址管理的现代革命
  • BricsCAD 23 for Mac:轻松驾驭CAD建模的强大工具
  • 如何利用Web应用防火墙应对未知威胁
  • 四、多线程服务器