RV1126+FFMPEG推流项目(1)总体框架讲解

音视频推流项目的讲解

  1. 项目介绍

本项目通过 RV1126 采集摄像头和麦克风数据,采用 H.264 / H.265 视频编码技术和 AAC 音频编码技术进行压缩和合成复合流,然后推送到流媒体服务器。

  1. 项目框图

下图展示了整个项目的总体流程图,核心部分包括:

暂时无法在飞书文档外展示此内容

2.1 视频采集与编码
  • 使用 RV1126 的 API 对 CMOS 摄像头 进行采集,并进行 H.264 / H.265 编码。

  • 编码后的视频数据存放到 视频编码队列。

2.2 音频采集与编码
  • 使用 RV1126 的 API 对 麦克风 进行采集,并进行 AAC 编码。

  • 编码后的音频数据存放到 音频编码队列。

2.3 音视频流合成与推流
  • 利用 FFmpeg 的 API,对视频和音频数据进行 时间戳对齐。

  • 从视频队列和音频队列中分别取出数据,合成复合流,并推送到流媒体服务器。


  1. 每个源代码模块的讲解
3.1 rv1126_ffmpeg_main.cpp (主模块代码)
  • 该模块的主要功能是 初始化所有模块,包括:

    • 初始化 FFmpeg 合成模块。

    • 初始化 音视频编码队列。

    • 初始化 RV1126 VI 、VENC、 AI 、AENC 模块。

    • 启动线程进行音视频推流。

3.2 rkmedia_assignment_manage.cpp (任务管理模块)
  • 管理 RV1126 上的各个任务。主要任务是创建并管理三个线程:

    • 视频编码线程 (camera_venc_thread)。

    • 音频编码线程 (audio_aenc_thread)。

    • 音视频合成推流线程 (push_server_thread)。

3.3 rkmedia_data_process.cpp (数据处理模块)
  • 实现了三个线程的具体功能:

    • 视频编码线程:处理视频编码和数据存储。

    • 音频编码线程:处理音频编码和数据存储。

    • 音视频合成并推流线程:将音视频数据进行合成并推送到服务器。

3.4 rkmedia_module_function.cpp (功能模块开发)
  • 包含以下功能的实现:

    • VI 模块 初始化。

    • VENC模块 初始化。

    • AI 模块 初始化。

    • AENC模块 初始化。

  • 初始化后绑定设备节点,为推流做准备。

3.5 rkmedia_module.cpp (任务功能模块)
  • 实现了 3.4 中的具体功能:

    • 初始化 VI 模块 、VENC模块 、AI 模块 、AENC模块。
3.6 rkmedia_container.cpp (容器管理模块)
  • 主要功能是保存 VI 和 AI 初始化的设备节点,供多线程使用。
3.7 rkmedia_ffmpeg_config.cpp (FFmpeg合成模块)
  • 该模块实现了 FFmpeg 合成模块的初始化:

    • 初始化 FFmpeg 复合器。

    • 配置 流地址 初始化。

3.8 ffmpeg_video_queue.cpp (视频编码队列实现)
  • 负责管理 视频编码队列,包括:

    • 视频队列的创建、添加、删除等操作。
3.9 ffmpeg_audio_queue.cpp (音频编码队列实现)
  • 负责管理 音频编码队列,包括:

    • 音频队列的创建、添加、删除等操作。
3.10 rv1126_isp_function.cpp (ISP功能模块)
  • 实现了 RV1126 ISP 模块 的功能初始化
相关推荐
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
2601_955662465 天前
短剧多人对白怎么配?2026年多角色配音工具对比
大数据·人工智能·音视频·语音识别
开发笔记-阿牛5 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
旺仔小馒头wang5 天前
AI 智能手机发布会:赋予人类的五种新能力
人工智能·学习·音视频
纳祥科技5 天前
拆机拆到芯片级:ARC功放机里的NX7026、NX8420、NX6805
单片机·音视频·智能音箱
youandyouyou5 天前
律所内部培训共享的内网部署方案:架构、参数与三步落地
音视频
爱吃提升5 天前
文生视频核心
人工智能·音视频
2601_955662465 天前
抖音视频怎么做多语言配音?2026年AI配音工具与制作流程详解
人工智能·音视频·语音识别·视频
音视频牛哥5 天前
Android与HarmonyOS NEXT如何接入GB28181:从SIP到PS/RTP的完整链路
音视频·gb28181-2022对接·鸿蒙next gb28181·gb/t 28181-2022·gb/t 28181-2016·gb28181-2022平台
美狐美颜SDK开放平台5 天前
直播APP源码与视频美颜sdk如何配合?一套完整开发思路
android·人工智能·计算机视觉·音视频·直播美颜sdk