[微信小程序直播平台开发]___(一)介绍与流程

1.一个可以忽略的前言

最近在做的一个项目,客户要做一个直播平台,主播发起视频直播,然后其他人进入房间观看这样子,跟其他直播平台不同的是,主播可以打赏观众,噗,不过这些千奇百怪的想法我也见怪不怪了,而且也不是技术难点所在。

因为客户要做的是一个民宿的微信小程序,所以这个直播发起也是在微信小程序中完成的,好在后来查到微信小程序中有这种组件,之前想说用H5来做但是发现在移动端不同型号的兼容性问题非常不理想基本放弃了,

还有一种方式就是做个app了,但这就在我的知识范围之外了,用webApp的话也没找到这种采集摄像头视频的api,只找到发起摄像头摄像的api,并且这样就要脱离开微信小程序就跟客户的要求不一致了。

2.直播流程

大概三步走,第一步,视频采集端: 可以是电脑上的音视频输入设备、或手机端的摄像头、或麦克风,今天的主题则是通过移动端手机视频。

第二步,直播流视频服务端:开通一个云直播服务(比如 腾讯云 ),或者自己搭建一个rtmp服务器(例如 nginx-rtmp 服务)。

采集视频录制端传输的视频流(H264/ACC编码),由服务器端进行解析编码,推送RTMP/HLS格式视频流至视频播放端。

第三步,视频播放端:可以是电脑上的播放器(QuickTime Player、VLC),手机端的native播放器,还有就是 H5 的video标签等

3.视频流协议

一. HTTP Live Streaming

HTTP Live Streaming(简称 HLS)是一个基于 HTTP 的视频流协议,由 Apple 公司实现,Mac OS 上的 QuickTime、Safari 以及 iOS 上的 Safari 都能很好的支持 HLS,高版本 Android 也增加了对 HLS 的支持。一些常见的客户端如:MPlayerX、VLC 也都支持 HLS 协议。

HLS 协议基于 HTTP,而一个提供 HLS 的服务器需要做两件事:

编码:以 H.263 格式对图像进行编码,以 MP3 或者 HE-AAC 对声音进行编码,最终打包到 MPEG-2 TS(Transport Stream)容器之中;分割:把编码好的 TS 文件等长切分成后缀为 ts 的小文件,并生成一个 .m3u8 的纯文本索引文件;浏览器使用的是 m3u8 文件。m3u8 跟音频列表格式 m3u 很像,可以简单的认为 m3u8 就是包含多个 ts 文件的播放列表。播放器按顺序逐个播放,全部放完再请求一下 m3u8 文件,获得包含最新 ts 文件的播放列表继续播,周而复始。整个直播过程就是依靠一个不断更新的 m3u8 和一堆小的 ts 文件组成,m3u8 必须动态更新,ts 可以走 CDN。一个典型的 m3u8 文件格式如下:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000
gear1/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=311111
gear2/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=484444
gear3/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=737777
gear4/prog_index.m3u8

HLS 协议本质还是一个个的 HTTP 请求 / 响应,所以适应性很好,不会受到防火墙影响。但它也有一个致命的弱点:延迟现象非常明显。如果每个 ts 按照 5 秒来切分,一个 m3u8 放 6 个 ts 索引,那么至少就会带来 30 秒的延迟。如果减少每个 ts 的长度,减少 m3u8 中的索引数,延时确实会减少,但会带来更频繁的缓冲,对服务端的请求压力也会成倍增加。所以只能根据实际情况找到一个折中的点。

二. Real Time Messaging Protocol

Real Time Messaging Protocol(简称 RTMP)是 Macromedia 开发的一套视频直播协议,现在属于 Adobe。这套方案需要搭建专门的 RTMP 流媒体服务如 Adobe Media Server,并且在浏览器中只能使用 Flash 实现播放器。它的实时性非常好,延迟很小,但无法支持移动端 WEB 播放是它的硬伤。

虽然无法在iOS的H5页面播放,但是对于iOS原生应用是可以自己写解码去解析的, RTMP 延迟低、实时性较好。浏览器端,HTML5 video

标签无法播放 RTMP 协议的视频,可以通过 video.js 来实现。

参考来源:

https://blog.csdn.net/helloxiaoliang/article/details/81020482

原文地址:https://www.cnblogs.com/ysls/p/9648290.html

时间: 2024-08-01 14:45:49

[微信小程序直播平台开发]___(一)介绍与流程的相关文章

微信小程序直播商城开发公司

直播的兴起与发展,不但成为了一种热门的休闲娱乐方式,也逐渐被利用到商务领域中,小程序直播是微信小程序后台开放的一个直播接口,企业用直播的形式跟用户和粉丝进行互动,将微信小程序商城开发成直播的形式去营销,可以帮助商家开启高效的移动购物新模式,利用直播与小程序商城本身的优势结合发展,促进商家在移动商城领域的发展.新鲜事物的出现往往都会带来新的发展商机,电商从出现到现在成了人们生活中不可缺少的一部分,很多人已经习惯了网上购物的模式,如有需要请联系我wx:a029665,电商模式也在不断改变,从过去的电

也许是个机会:微信小程序直播公测

不知道大家最近注意到没,很多大咖都在各个渠道叫喊,来我的微信直播听我分享.春节期间,微信直播很火,而且动辄就是上万用户在看直播.切不论真假,但可能肯定,依托微信这样的大平台是很容易的. 而今天微信小程序直播能力开启公测.小程序直播组件是微信官方提供的商家经营工具.也就是直播卖货! 直播画面为竖屏观看形态,观看流程中体验较为流畅,画面内提供了展示商品.点赞.评论.抽奖.优惠券.购买.数据展示等能力.微信小程序直播除了具有用户优势之外,流程在商家小程序内闭环,无需跳转其他小程序或App. 据悉,目前

微信小程序直播系统开发框架布局

使用布局页面 ASP.NET Web Pages - 页面布局 在之前的内容中,您已看到在多个网页中引用相同的内容是很简单的. 创建一致外观的另一种方法是使用布局网页.布局网页包含网页的结构,而不是内容.当网页(内容页)链接到布局页时,它会根据布局页(模板)来显示. 布局页类似普通的网页,但是会在引用内容页的位置调用 @RenderBody() 方法. 每个内容页必须以 Layout 指令开头. 在代码中是这样的: 布局网页: <html> <body> <p>This

微信小程序商城系统开发

微信小程序商城系统(陈琦:138-2848-7919可微)微信小程序商城软件,微信小程序商城平台,微信小程序商城定制,微信小程序商城开发,微信小程序商城APP 微信小程序商城到底是什么? 微信官方解释:小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关心是否安装太多应用的问题.应用将无处不在,随时可用,但又无需安装卸载. 1.微信小程序商城开发成本低.基本上只需要UI就可

微信+小程序购物系统开发微信小程序营销系统开发

行业+小程序的结合有无限可能性,想要玩转微信小程序,享受流量盛宴,可借助--河南鼎汉科技,帮您快速打造具有个性化特色的微信小程序.微信小程序系统开发平台.微信小程序购物商城系统开发1.8.8-3.8.07-6.8.0.5电/微, 微信小程序 微商城 微信小程序营销系统开发,微信公众平台订阅号,微信小程序购物商城系统开发定制. 在移动互联网时代从来不缺分销系统,随着移动电商.传统电商.传统商业企业纷纷进入社交电商领域,社交电商正在向专业平台化.团队规模化.渠道立体化.运作规范化等趋势发展.微信"小

如何开通微信小程序直播,怎么样才能参加小程序直播公测

最近,微信官方正式宣布,微信小程序直播能力启动公测.致力于帮助更多商家打造线上经营闭环,完成快速转型,推动品牌生意增长. 作为微信官方提供的商家经营工具,小程序直播具有流量自有.低门槛快运营和强社交互动高转化的优势,可以帮助商家实现用户互动与商品销售的闭环. 同时,微信官方发布了多个品牌通过小程序直播的经营数据,部分零售品牌实现用户量环比增长5倍.女装品牌交易额环比提升372%,并预告了多项直播新能力.公布了小程序直播公测准入条件. 近日,微信行业助手官方为开发者们解答小程序直播的申请开通.功能

微信小程序image组件开发程序以及相关图片问题参考资料汇总

微信小程序image组件开发程序以及相关图片问题参考资料汇总,希望对大家小程序开发能有一定的参考和借鉴价值.以下汇总主要涉及到微信小程序image组件有关资源路径.缩放和剪裁模式等进行的探讨,无论是对微信小程序新手还是正在开发中的朋友都是很好的小程序学习资料. 微信小程序image组件必备基础知识: image组件默认宽度300px.高度225px image的属性mode有13种模式,其中4种是缩放模式,9种是裁剪模式 image组件开发教程汇总: 微信小程序自定义组件实现图片单指拖动.双指缩

小程序直播功能开发经过 开发直播小程序的过程 微信直播小程序 直播答题小程序开发 小程序怎么做直播

公司要开发一个直播的小程序,现在直播小程序应用场景也很多.比如电商的直播,在线直播购物下单.还有就是一些教育类的,小程序直播答题.也研究了下微信小程序的直播文档,然后百度也搜了下各位前辈的开发历程.这里我总结下我开发的一些经过. 首先你要注册好一个你的小程序,然后申请小程序的类目,只要下面这些类目你能申请到就可以开通小程序的直播功能.然后就开始开发啦. 如下是微信小程序的要求: 暂只针对如下类目开放,需要先通过类目审核,再在小程序管理后台,"设置"-"接口设置"中自

基于微信小程序的系统开发准备工作

腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传统的APP来说,微信小程序确实能够大大降低开发成本和难度,但也意味着需要掌握整个微信小程序的各种接口功能.应用场景等相关技术点,本篇随笔先从大的方面来介绍微信小程序开发的一些知识,如架构设计.技术路线 .工具准备等方面做一些浅薄的介绍,希望大家也有所收益,有所借鉴,则善莫大焉. 1.小程序的统一架构设计 在我们开发各种应用的时候,总