怎么做到微信直播,HTML5直播,低延时

怎么做到微信直播,HTML5直播,低延时,第1张

功能模块概述

通过obs客户端推流到nginx流媒体服务器上,对流媒体用ffmpeg将流剪切为若干段ts流文件并保存到临时目录中,通过访问m3u8格式拼接ts流文件段来观看直播

推流端

采用开源工具OBS客户端进行推流

根据项目的推流地址,填入OBS客户端(下载地址)中,并设置场景,保存后重启,便可开始推流。

为更加稳定的推流,建议使用以上链接中的v0.625稳定版本,按提示安装完成后,打开设定.在广播设定中,伺服器统一填写我们项目的流媒体接收流地址:

rtmp://127.0.0.1:1935/hls/

以上这几个数据都是可以更改的。

127.0.0.1——你的流媒体服务器ip

1935——你的rtmp端口号

hls——你的直播nginx配置模块

具体在下文中也有详细介绍

配置地址

回到主界面,右键来源,选择添加视频捕捉设备或获取窗口等(相关设置默认即可),点击开始串流,便可开始直播。

添加场景

图为添加视频捕捉设备后的直播画面:

直播中

流媒体服务器

Nginx接收推流模块

rtmp_auto_push on

rtmp {

server {

listen 1935

application hls {

live on

hls on

hls_path /tmp/hls

on_publish 项目地址/liveOnPublish

on_publish_done 项目地址/liveOnDone

notify_method get

}

}

}

配上我在word上的注解

注解1

Nginx处理直播流模块

http {

server {

listen 80

server_name localhost

location /hls {

secure_link $arg_st,$arg_e

secure_link_md5 key$arg_e

subs_filter .ts '.ts?st=$arg_st&e=$arg_e&clentip=$remote_addr'

subs_filter_types application/vnd.apple.mpegurl

if ($secure_link = "") {

return 402

}

if ($secure_link = "0") {

return 403

}

# Serve HLS fragments

types {

application/vnd.apple.mpegurl m3u8

video/mp2t ts

}

root /tmp

add_header Cache-Control no-cache

}

}

}

注解2

项目部署服务器

流媒体服务器不通过项目服务器,整个直播过程的推流和处理流都在流媒体服务器上进行。项目服务器主要进行直播地址加密处理意见推流开始和结束触发的方法(liveOnPublish(),liveOnDone())已及对直播地址加密.

播放端

直接通过HTML5中的<video>标签设置src来播放直播流。如:

<video src="pro/live.m3u8?st=UM/L8jdfTlY2b1j1F6XSxA==&e=1468548530

" controls="controls"></video>

存在的问题

延迟待测试(不科学的数据是安卓手机普遍在30-40s,苹果手机在20-30s)

并发待测试

掉帧待测试(网速影响大,网络好几乎不掉帧,网络差掉一半,用户体验差)

制作点单二维码的方法都是一样的,如下:

一,开通二维码点餐系统

01

首先我们先要明白二维码点餐系统是分为两种情况:一种是建立在第三方平台上,这种情况下需要下载第三方平台APP才能在手机上 *** 作后台设置;另外一种是建立在自己的微信公众号上,就是说顾客通过扫描和关注商家的公众号,就可以直接进行线上点餐和支付。无论选择哪一种方式,都是通过把线上和线下店铺结合在一起。

02

如何开通二维码点餐系统:注册申请一个“服务号”微信公众号,搜狗搜索“微信公众平台”,打开网站然后点击【立即注册】。

03

微信公众号类型一共有四种:订阅号、服务号、小程序、企业微信(原企业号),如果只是要简单的发送信息,达到宣传效果,建议可选择订阅号;如果想用公众号获得更多功能,建议选择服务号;企业微信是用来管理内部员工,公司对内使用;所以,

建议商家注册服务号,这样很多功能才能完全使用。

04

服务号和订阅号的区别:对于被用于“微信二维码点餐”的公众号来讲,服务号和订阅号最大的区别就是,用服务号建立的点餐系统功能更全,而订阅号建立的点餐系统有部分功能可能会受限制,再一个不同之处就是服务号每个月只能推送4次消息,而订阅号每天可以推送一次消息。

05

然后把注册好的微信公众号(服务号)和第三方平台绑定:进入商家后台,找到【系统设置】-【微信公众号绑定】-【智能绑定】。

06

用绑定微信公众号的运营者(管理员)的微信,扫描二维码完成授权绑定,授权绑定的意思也就是同意用这个第三方平台后台来管理微信公众号进行功能设置。

二、设置二维码点餐系统

01

接下来我们需要把【微信基础信息】设置一下:单次关注、自动回复、关键词回复、自定义菜单。【单次关注】即用户第一次关注您的微信公众号时,公众号按照您设定的“展现类型”信息内容,自动推送给用户的一个过程。

02

【自动回复】即不管用户给您微信公众号发送什么信息,公众号都会自动按照您设定的“展现类型”回复用户。

03

【关键字回复】用户给您微信公众号发送的消息中,夹带了设置的这个关键词,就自动回复给用户您设置的与关键词相匹配的内容。

04

【自定义菜单】只有当您的公众号类型为服务号或已认证的订阅号的时候,设置该菜单才生效。

05

填充门店信息:这个包含的内容就比较多,比较广泛,包括门店logo、二维码、昵称、营业时间、配送范围等等,等等,在这里重点提一下【堂食功能】开关的开启,堂食功能其实就是店内点餐。

06

通过配送员管理可以新增配送员账户,商家可随时通过地图模式查看配送员的实时位置。

07

在【平板点餐】中添加包间和桌号,系统会自动匹配给每一个桌号一个二维码,点击【下载二维码】,保存图片然后打印出来贴在对应的餐桌上,顾客来店后就可以扫描二维码点餐付款,也可以让服务员帮忙点餐然后顾客扫码付款。

本将向您展示如何通过选择合适的IO端口协议和AXI4资源,在Vivado HLS C或者C++设计中创建AXI4接口。内容包括从C或C++创建RTL IO端口和AXI4接口综合的过程介绍、Vivado HLS GUI中如何添加优化指令。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11412742.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存