直播带货系统开发,如何实现一个简单的直播平台

目前直播带货系统开发已成为一个相当热门的服务,自己对视音频的采集、传输、播放等等比较感兴趣,因此想记录下实现一个直播平台的过程,不仅是对已用过的知识进行记录,以防后期使用,也可以为其他的初学者提供一个借鉴的历程,接下来,根据自己的理解分析一下一个直播平台的基本结构。

目前实现一个直播带货系统开发从推流到拉流主要由5部分构成:

1、视音频的采集:通过调用摄像头、麦克风直接采集视音频数据,一般视频采集的数据用RGB或者YUV格式、音频采集数据采用PCM格式,由于采集的原始数据体积非常大,需要经过压缩技术处理来提高传输效率。并且对于采集的视频可以做一些前处理,比如美颜、水印等等。

2、数据编码:为了便于手机视频的推流、拉流以及存储,通常采用视音频编码压缩技术来减少体积,编码方式:CBR、VBR,

视频-编码格式:H.265、H.264、MPEG-4等,封装容器有TS、MKV、AVI、MP4等。现在比较常用的视频编码是H.264。

音频-编码格式:G.711μ、AAC、Opus等,封装有MP3、OGG、AAC等,比较常用的是AAC编码格式。

视频经过编码压缩大大提高了视频的存储和传输效率,当然,经过压缩后的视频在播放时必须进行解码。

3、数据传输:将编码完成后的音视频数据进行传输,早期的音视频通过同轴电缆之类的线缆进行传输,IP网络发展后,使用IP网络优传输

涉及技术或协议:

传输协议:RTP与RTCP、RTSP、RTMP、HTTP、HLS(HTTP Live

Streaming)等

控制信令:SIP和SDP、SNMP等

4、解码数据

5、播放显示

三、常见的视频直播相关协议:

1、RTMP(Real Time MessagingProtocol,实时消息传送协议)

RTMP是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。它有三种变种:

1)、工作在TCP之上的明文协议,使用端口1935;

2)、RTMPT封装在HTTP请求之中,可穿越防火墙;

3)、RTMPS类似RTMPT,但使用的是HTTPS连接;

RTMP协议是被Flash用于对象、视频、音频的传输。这个协议建立在TCP协议或者轮询HTTP协议之上。RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视音频数据。一个单一的连接可以通过不同的通道传输多路网络流,这些通道中的包都是按照固定大小的包传输的。

2、RTSP(Real Time StreamingProtocol,实时流传输协议)

RTSP定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP提供了一个可扩展框架,数据源可以包括实时数据与已有的存储的数据。该协议目的在于控制多个数据发送连接,为选择发送通道如UDP、组播UDP与TCP提供途径,并为选择基于RTP上发送机制提供方法。

RTSP语法和运作跟HTTP/1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。代理服务器的缓存功能也同样适用于RTSP,并且因为RTSP具有重新导向功能,可根据实际负载情况来切换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

3、RTP(Real-time TransportProtocol,实时传输协议)

RTP是针对多媒体数据流的一种传输层协议,详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通系统(配合H.323或SIP),使它成为IP电话产业的技术基础。

RTP是建立在UDP协议上的,在直播带货系统开发中常与RTCP一起使用,其本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。

RTP并不保证传送或防止无序传送,也不确定底层网络的可靠性,只管发送,不管传输是否丢包,也不管接收方是否有收到包。RTP 实行有序传送,RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,如在视频解码中,就不需要顺序解码。

4、RTCP(Real-time TransportControl Protocol,实时传输控制协议)

RTCP是RTP的配套协议,为RTP媒体流提供信道外的控制。RTCP和RTP一起协作将多媒体数据打包和发送,定期在多媒体流会话参与者之间传输控制数据。

RTCP的主要功能是为RTP所提供的服务质量(QoS)提供反馈,收集相关媒体连接的统计信息,例如传输字节数,传输分组数,丢失分组数,单向和双向网络延迟等等。网络应用程序可以利用RTCP所提供的信息来提高服务质量,比如限制流量或改用压缩比小的编解码器,但是直播带货系统开发中一般不会使用RTCP协议。

声明:本文由云豹科技转发,如有侵权请联系作者删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/61200.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在企业微信群快速开播进行直播带货?

90%的品牌都反馈做电商直播在亏钱,高额坑位费和佣金、无止境的价格战、50%的退货率,让品牌们做一次直播等于割一次肉。那直播该怎么做,才能提升转化率,真正能为品牌带来生意增长呢?靠熟人直播! 熟人直播就是…

直播带货系统的六大热门功能模块概述

自2020年直播电商走向高潮,吸引了很多电商行业商家、网红加入直播带货的浪潮。直播带货是许多商家拓宽销售渠道的重要方式,用户们已经习惯明星直播带货,通过直播带货源码可以帮助商家搭建起一个线上直播带货平台,帮助商家开展商城…

点击禁用和启用按钮切换

例如:当我点击启用的时候,修改和删除就可以正常点击使用 第一步:给按钮绑定点击事件clickDisable(row.id , row.state),通过作用于插槽可以获取到id,和state,state是状态,修改和删除按钮可以用disabled进行…

微信这个设置你们关闭了吗?

我们每天都在使用微信,但你们知道微信这个设置可以关闭的吗?先知道怎么操作的,来跟我看看。 微信个性化广告推送原理: 微信在投放广告的过程中,会根据我们平时使用微信的各种习惯,包括浏览的信息&#xff…

禁止Win系统自动唤醒

禁止Win系统自动唤醒 问题禁止鼠标/键盘唤醒禁止唤醒定时器唤醒禁止自动维护唤醒高级方案 问题 我们在使用Windows系统时,在系统进入睡眠或休眠状态后,可能会自动唤醒,这可能是鼠标、键盘、唤醒定时器、自动维护功能唤醒的,下文介…

全局提示Message的关闭按钮如何开启

this.$message.success(登录成功).showClose true 就这么简单在success/warning/info/error之后,只需.showClose true,完美解决

马斯克究竟从特斯拉赚了多少钱?研究完的我既惊又叹:他是最富的穷光蛋

贾浩楠 鱼羊 发自 凹非寺量子位 报道 | 公众号 QbitAI 特斯拉股价飙升的势头,简直让人目瞪口呆。 仅仅一个月,市值从惊人的1900亿美元一路狂飙到了2700亿美元。 超过了丰田、大众和现代汽车的市值总和。 据彭博社报道,现在,伊隆马…

Postgresql基础备份与时间点恢复

基础备份 在线数据库备份大致分为两类:逻辑备份和物理备份。 逻辑备份有一个缺点:执行需要花费太多的时间,特别是对于大型数据库而言,这是致命伤。相反的是,物理备份可以在相对较短的时间内备份和恢复大型数据库。 …

pgadmin备份数据和恢复数据

登录pgAdmin 找到自己想要备份的数据库 右键点击选择Backup 根据提示输入相应的信息 点击备份,完成后会有消息提示 点击查看 可以看到文件保存的位置 恢复数据 选择新建的数据库 右键点击选择restore 选择相应的备份文件和角色,点击确定 数据恢复完成

PostgreSQL的pg_basebackup备份恢复详解

备份 pg_basebackup -D /tmp/pg_backup/ -Ft -Pv -U postgres -h 1.15.57.253 -p5432 -R -D 空文件,没有该目录会自动创建F 格式话t 打包为tar包Pv 显示备份的详细过程-u 用户-p 端口 备份报错: 在配置文件pg_hba.conf增加一行: 备份流程&a…

pg 备份恢复(三)—— 详解完整恢复及基于时间点的恢复

一、 恢复配置详解 1. 归档恢复配置 主库 postgresql.conf archive_mode:是否开启归档,若要用归档方式搭建从库则必须开启archive_command:归档命令,通常是cparchive_timeout:在指定秒数后强制切换一个wal文件&…

postgresql使用pg_basebackup备份与恢复

postgresql可以使用pg_dump,pg_restore等命令来进行备份与恢复,那种情况不用停止pgsql服务,只需要执行备份恢复命令即可。 今天介绍的这种备份方式,类似于文件系统的备份与恢复,它需要使用pg_basebackup命令来进行备份&#xff0c…

使用pgAdmin4备份恢复(爬坑)

使用pgAdmin4备份恢复(爬坑) 1 通过Windows的pg客户端安装后,将会默认安装pgAdmin4 2 开始菜单搜索:pgAdmin4 打开 3 在Windows Server上,可能会出现: pgAdmin4被默认的IE浏览器打开,且IE浏览…

物联网如何为智慧城市提供动力

智慧城市可以创造一个基础设施顺畅、效率提升的乌托邦,改善城市地区的生活质量,促进当地经济发展。 其影响意义重大,预计到 2024 年智慧城市基础设施的收入将超过 1000 亿美元。 从改善公共交通到解决犯罪问题和提高能源效率——应有尽有&am…

爱的魔力转圈圈

题目链接: https://nuoyanli.com/contest/19/problem/B 题面: 题意:给定r和R,求最小的R数量在r外面围一圈包围住r球 思路: 首先:得知道相切的时候数量最小 其次:我们只需要算每一个R最大能占360的多少…

Discord一直连不上,转圈圈打不开——解决办法

首先更新下你的梯子服务器订阅,如果出现端口1080被占用的错误,则很有可能可以通过以下方法解决该问题。【如果不可以,可以先卸载掉你的discord软件再来一遍】 查看你的1080端口被哪个程序占用了? 1. windr打开命令窗口 2. cd …

win10状态栏一直转圈圈(重装系统后出问题)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、方法二、步骤总结 前言 记录一下个人经历: 昨天在给同学重装系统,重装好后出现了桌面操作无问题,但状态栏出现了假死现…

新建springboot项目一直转圈圈

哎,可能是我好久没有创建过后端springboot项目了,一直再搞前端,今天新建项目的时候就死活一直转圈圈,我一直以为网络不好,从头到尾换了三次网络,idea关了开,开了关,看还不行电脑都重启了&#x…

Qt+百度API实现人脸对比寻找明星脸

一、要求 1、使用百度人脸识别库 2、识别对比图片,获取图片相似度 3、显示最相似的明星照片、显示本人照片 4、调用摄像头拍照、比对查找最相似的明星脸 5、录入明星照片、查看照片列表、修改、删除照片 二、实现方式 2.1百度API封装 1、获取Token 鉴权认证参考…

根据姓名判断性别-人工智能

本帖训练一个可以根据姓名判断性别的CNN模型;我使用自己爬取的35万中文姓名进行训练。 使用同样的数据集还可以训练起名字模型,参看: TensorFlow练习7: 基于RNN生成古诗词https://github.com/tensorflow/models/tree/master/namignizerTensor…