① rtmp地址如何播放
可以用VLC media player播放,具体操作步骤如下:
1、首先,在安装了VLC的计算机上单击“开始”,然后单击所有程序,如下图所示,然后进入下一步。
② 如何利用阿里云在PC端快速接入直播功能
摘要: 本文介绍PC端直播推流与播放器快速接入方法,对移动端推流和播放可以参考官网文档。
作者简介:阿里花名樰篱,阿里云视频服务产品运营(我是一个爱好直播而且懂技术的女汉纸,欢迎点击名字关注我哦)
每每看到开发哥哥们对直播功能抓头苦闷,小妹我也是看在眼里着急在心里,其实看似复杂的直播功能,可以通过开通阿里云直播服务来快速集成的。开发哥哥们静下心来,花几分钟时间认真读完小妹这篇文章,相信你就知道如何在阿里云直播控制台快速接入PC端直播功能了:
直播流程
Step1:直播前准备
登录阿里云官网,点左上角登录
登录视频直播控制台
控制台会检查所依赖服务的开通状态,请按页面引导操作
** 添加直播域名**
需要注意的是:
直播域名需要进行备案审核,审核通过后即可使用,未备案的域名请先进行备案,备案流程。
域名配置成功后,这个域名会自动配置好 CDN 直播加速功能,域名进行CNAME绑定后即可使用直播加速功能。
CNAME绑定
将您添加的直播域名的DNS CNAME纪录修改为直播域名管理详情页面上显示的CNAME绑定地址。我们需要把阿里云提供的推流地址和直播域名进行绑定,这样当推流到直播域名时会推流到我们的直播中心。
请按照以下步骤进行域名CNAME绑定
直播域名在万网申请
获取直播控制台直播域名对应的 CNAME。
点击阿里云官网控制台的域名解析页面,选择需要绑定的域名。
进入域名解析标签页,点击高级设置。
填写解析参数,并保存。
解析正常会很快生效,如果是新创建的域名解析不存在DNS刷新问题,如果是修改了CNAME,则不同的 DNS 上有缓存数据,可能最长需要48小时才能更新完毕。
直播域名在其他途径申请
其他途径申请的域名,请在域名所在网站操作域名CNAME绑定。
在阿里云控制台执行域名转入流程。
获取推流和播放地址
在 域名管理 中,点击直播加速域名 管理 :
鉴权配置
直播流媒体的推送和播放采用同一套鉴权方案,可以在控制台的鉴权配置中进行配置,详细了解鉴权配置。
注意
只有进行鉴权配置后,该加速域名才能正常进行推流和播流,直播业务类型仅支持A类型鉴权方式。
推流和播流地址需要分别进行鉴权签名计算,每一个签名都是严格按照URL计算的,故不可使用推流URL计算得到的签名应用到播流地址,同理每一种播流地址都会对应不同的鉴权计算结果。
举例:
在直播控制台 - 域名管理 - 直播域名管理详情页 - 鉴权配置 设置鉴权配置如下:
1、开启鉴权
2、手动输入鉴权主key值,详细内容访问 鉴权说明鉴权设置
Step2:推流
获取鉴权后的推流地址:
直播控制台 - 域名管理 - 直播域名管理详情页 - 基本信息 取得推流地址如下:
rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=live.aliyun.com
使用直播控制台 - 域名管理 - 直播域名管理详情页 - 鉴权配置 页面的鉴权URL计算器计算鉴权URL:
输入推流地址(AppName、StreamName可自行修改)、鉴权KEY、有效时间,点击<生成>按钮即可得到鉴权URL。
推流操作
推流地址:
rtmp://video-center.alivecdn.com/APPName/StreamName?vhost=live.aliyun.com
说明
http://video-center.alivecdn.com是直播中心服务器,允许自定义,例如您的域名是http://live.aliyun.com(注意:该域名不可以和你的直播加速域名相同),可以设置DNS,将您的域名CNAME指向http://video-center.alivecdn.com即可。
APPName是应用名称,支持自定义,可以更改。
StreamName是流名称,支持自定义,可以更改。
vhost参数是最终在边缘节点播放的域名,即你的直播加速域名。
直播推流操作可使用第三方推流软件,这里介绍 OBS 推流软件的操作方法。
请到OBS官网下载最新软件 Windows版本 Mac版本
在OBS 设置 中应按下图设置:
Mac版推流地址设置:
Windows版推流地址设置:
实际 Mac版obs的流密钥与Windows版播放路径/串码流(如果存在)中的内容不会显示明文。
以上面的推流地址为例,参数设置为:
FMS URL / URL: rtmp://http://video-center.alivecdn.com/AppName
播放路径/串码流(如果存在)/ 流秘钥: StreamName?vhost=http://live.aliyn.com
如您开启了鉴权,则鉴权参数也一并放在 Mac版obs的流密钥与Windows版播放路径/串码流(如果存在)中。
Step3:播放
用那种协议进行播放?
协议 | 优点 | 缺点 | 延时
------- | ------- | -------
FLV | 高并发、低延时 | 非标准做法,需要依赖SDK播放 | 1s-3s
RTMP | 延时小 | 高并发支持不好 | 1s-3s
HLS(M3U8) | 手机浏览器普遍支持 | 延时大 | >=10s,与切片时长有关,最大3个TS长度
客户可以根据实际业务场景灵活搭配使用,需要在移动端浏览器、移动H5端进行播放,建议使用HLS(M3U8)方式进行播放,无需集成SDK;非移动端或者已集成SDK的,低并发量并需要有更小的延时,可使用RTMP,高并发量建议使用FLV。
Web页面后台直接预览
使用OBS等工具使用鉴权URL推流后,可在 直播控制台 - 流管理 - 正在推流 页面查询到正在直播的推流记录,通过 直播地址 可查询播放地址,并可预览播放。
通过VLC预览
下载VLC,默认安装后无需做额外设置,文件—>打开网络串流,填写播放地址并点击打开后开始播放。
③ 怎么做到微信直播,HTML5直播,低延时
功能模块概述
通过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)
并发待测试
掉帧待测试(网速影响大,网络好几乎不掉帧,网络差掉一半,用户体验差)
④ 直播怎么设置0延迟
1、尽量在电脑端观看直播,屏幕大体验好,支持延迟更低rtmp协议。
2、只能使用微信观看时,尽可能使用高速稳定网络。
3、建议APP端观看直播,相较于小程序而言APP有更多互动的可能性,譬如禁言/提问/屏幕分享等。
4、还可以使用云视频直播来降低延迟。
相关说明
在直播的过程是采集直播端的音像,然后通过网络协议,最后展现在用户端的手机/电脑等设备上。正在直播的人,这一端的画面是需要通过服务器中转,有节点缓存,通常存在1-3s的延迟,是属于正常情况。
如果用户出现10-20s的延迟,大部分问题是因为网速不够,直播端本身卡顿,或是直接通过微信打开了链接观看直播。微信端缺少flash插件,不支持音视频RTPM实时传输协议的协议,但发起直播的人为了减少延迟会采用这个协议,两只之间兼容男,故出现黑屏/超长延时等异常。
//www.gotrillian.com/pic_d1160924ab18972b1e9b315ff4cd7b899f510a85