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

抓取网站访客qq广州 Wix网站开发

抓取网站访客qq,广州 Wix网站开发,做国外网站 国外人能看到吗,wordpress 页面空白页一.项目介绍: 本项目采用的是易百纳RV1126开发板和CMOS摄像头,使用的推流框架是FFMPEG开源项目。这个项目的工作流程如下(如上图):通过采集摄像头的VI模块,再通过硬件编码VENC模块进行H264/H265的编码压缩,并把压缩后的…

一.项目介绍:

本项目采用的是易百纳RV1126开发板和CMOS摄像头,使用的推流框架是FFMPEG开源项目。这个项目的工作流程如下(如上图):通过采集摄像头的VI模块,再通过硬件编码VENC模块进行H264/H265的编码压缩,并把压缩后的数据通过FFMPEG传输到两个流媒体服务器(如同时推送到流媒体服务器:rtmp://xxx.xxx.xx.xxx:1935/live/01和rtmp://xxx.xxx.xx.xxx:1935/live/02)。这个项目我们可以学习到:多线程,队列,FFMPEG音视频数据传输等重要知识。

二.项目框架思维导图

上面是整个项目思维导图可以看出来,这个项目的main函数是整个项目的入口函数。在这里入口函数里面,需要做四个比较重要的步骤:

1.分别是rkmedia组件和功能的初始化

2.初始化高分辨率队列HIGH_VIDEO_QUEUE

3.初始化低分辨率队列LOW_VIDEO_QUEUE

4.init_rv1126_first_assignment开启RV1126的推流任务。

2.1. init_rkmedia_module_function讲解:

这个函数主要是做RKMEDIA的组件初始化,组件包括:

VI模块的初始化

高分辨率VENC模块的初始化

低分辨率VENC模块的初始化

RGA模块初始化。

2.1.1. VI模块初始化:初始化摄像头模块让其摄像头模块能够正常工作,具体的VI模块初始化在rkmedia_vi_init里面。

2.1.2. RGA模块的初始化:RGA主要是对VI模块的数据进行缩放操作,把1920 * 1080的视频数据转换成1280 * 720的视频数据。

2.1.3. VENC模块初始化(分别是高、低分辨率)初始化高、低分辨率VENC硬件编码器,这里的编码器主要针对的是1920 * 1080和1280 * 720两种分辨率,具体的高分辨率VENC模块初始化在rkmedia_venc_init里面。

2.2. 高分辨率队列的初始化HIGH_VIDEO_QUEUE

初始化搞分辨率编码数据队列,这个队列主要是存储1920 * 1080编码的视频数据
2.3. 低分辨率队列的初始化LOW_VIDEO_QUEUE

初始化搞分辨率编码数据队列,这个队列主要是存储1280* 720编码的视频数据

2.4. init_rv1126_first_assignment启动RV1126推流任务讲解:

这个函数主要进行多路码流推流的业务实现,这里面包含了:

init_rkmedia_ffmpeg_context分别初始化高分辨率的ffmpeg推流器和低分辨率的ffmpeg推流器

创建camera_venc_thread线程

创建get_rga_thread线程

创建low_camera_venc_thread线程

创建high_video_push_thread线程

创建low_video_push_thread线程

2.4.1. init_rkmedia_ffmpeg_context初始化高分辨率和低分辨率的推流器:

在这个函数里面主要是对FFMPEG推流器参数进行设置,它需要对高分辨率(1920 * 1080)和低分辨率(1280 * 720)的FFMPEG推流器进行初始化。

2.4.2. 创建camera_venc_thread线程

camera_venc_thread线程最重要的作用是编码1920 * 1080的编码视频数据流并且入到HIGH_VIDEO_QUEUE队列

2.4.3. 创建get_rga_thread线程

get_rga_thread线程最重要的作用是处理1920 * 1080的摄像头数据,把它的分辨率降低到1280 * 720,并且把1280 * 720的原始码流传输到低分辨率(1280 * 720)的编码器

2.4.4. 创建low_camera_venc_thread线程

low_camera_venc_thread线程最重要的作用是获取分辨率1280 * 720的编码数据,并且入到LOW_VIDEO_QUEU队列

2.4.5. 创建high_video_push_thread线程

high_video_push_thread线程作用是从HIGH_VIDEO_QUEUE队里取出每一帧1920*1080的视频编码数据,然后利用FFMPEG的推流到对应的流媒体服务器

2.4.6. 创建low_video_push_thread线程

low_video_push_thread线程作用是从LOW_VIDEO_QUEUE队里取出每一帧1280*720的视频编码数据,然后利用FFMPEG的推流到对应的流媒体服务器

项目代码源文件截图

上图是整个RV1126多路码流推流项目的代码源文件,后面基本上围绕着上图的源代码进行讲解,具体的后面的课程会详细说到

http://www.dtcms.com/a/535112.html

相关文章:

  • 网站开发公司长春系统开发方法有哪些
  • python 电商网站开发制作网页模板适应不同分辨率
  • 有哪些类型的网站上海公司买车上牌规定
  • 要看网站是多少广告网页设计培训轻松学
  • 怎么样查询建设网站周口河南网站建设
  • 网站建设公司国内技术最强垂直型网站名词解释
  • 网站开发的技术流程建设网站需要从哪方面考虑
  • 用easyui皮肤做漂亮的网站有没有人通过网站建设卖东西的
  • 在服务器上布网站怎么做抖音企业号官网入口
  • 服装网站建设比较好中国发达国家还有多远
  • 自己做的旅游网站简介网页制作教学
  • python 做网站 用哪个框架好四川省造价工程信息网
  • 咸阳学校网站建设公司创建简易个人网站
  • 美食网站 怎么做找承包工程的平台
  • 网站内部链接优化方法北京市住房城乡建设厅网站首页
  • 关于网站策划的说法错误的是网页设计入门与应用
  • 通州宋庄网站建设如何设计网站首页
  • 银川做网站的有哪些网站建站前seo注意
  • 证券投资网站做哪些内容河南工程建设 协会网站
  • 外贸品牌网站设计公司wordpress最新列表
  • 崇明网站怎么做seo南通网站建设团队
  • 广州番禺区职业技术学校中职芜湖做网站优化
  • 西部数码网站管理助手ftp怎么制作公众号微信
  • 贵阳建设网站培训山东网站营销
  • 中英双语网站建设漫画网站开发源码
  • 哪个网站上做ppt比较好看的自己做网站并让别人访问
  • 网站icp查询现在有哪些免费推广平台
  • 沈阳网站网站建设中职网站建设课件
  • 吴博 wordpress360优化大师下载官网
  • 餐饮公司网站建设设计得很好的企业网站