基于腾讯云搭建直播系统及空间直播问题定位
来源:互联网 发布:nginx rewrite by lua 编辑:程序博客网 时间:2024/05/21 09:58
直播最近很火爆,QQ空间推出了直播功能,是基于腾讯云搭建的。基本原理是用户在空间发起直播时,空间后台调用腾讯云的api创建直播频道(房间),终端通过rtmp协议把视频流推送到腾讯云;访客观看视频时通过hls协议从腾讯云实时拉取视频。
RTMP:Real Time Messaging Protocol(实时消息传送协议协议)是Adobe Systems公司为Flash Player和服务器之间音频,视频和数据传输开发的私有协议,adobe目前提供了一个并不完整的rtmp specification给大众使用;
HLS:HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播。
1、搭建一套直播系统
一、申请腾讯云直播服务
https://console.qcloud.com/live
开通后有10G的免费试用流量,可以够玩一下的了。
二、创建直播频道
创建完成后,有两个地址:
1、推流地址:
rtmp://2804.livepush.myqcloud.com/live/2804_736409db135711e6b91fa4dcbef5e35a?bizid=2804
2、播放地址:
http://2804.liveplay.myqcloud.com/2804_736409db135711e6b91fa4dcbef5e35a.m3u8
三、进行推流
这里使用ffmpeg进行模拟推流,就是把一个mp4文件流化、推送到腾讯云。
这里ffmpeg的下载地址就不贴了
ffmpeg -re -i D:\12_live\55.mp4 -c copy -f flv rtmp://2804.livepush.myqcloud.com/live/2804_736409db135711e6b91fa4dcbef5e35a?bizid=2804
四、播放
这里使用vlc进行播放。Vlc是一个功能强大的开源播放器。可能接收rtsp、hls、rtp、udp等多种协议的网络视频播放
2、空间直播问题简单定位
由于本人主要负责空间分享业务。这里主要讲直播再分享到空间后的定位。
怎么样分享到空间?这里略去,下载个最新版的空间独立版试一下就知道了。
说到定位后台定位问题,这就要借助龙哥功能强大的QTP工具了。
1、拉取分享列表
http://ugc.isd.com/QTP/index.php?dstjcefile=%2F%2FQzoneMobileFramework_proj%2Fjce%2Fwebapps%2Fmobile_feeds_protocol.jce%2Fmobile_detail_req&ticket=F7635C13C00B4DF4C6B887D4D6B3C4909FDA7A57AB83D7C708425E4E3647CF94B45CFE6B6A3DC31443DE4684B002A02881F2A2FAFCC265E9FB1951AA5ADC231036EB2F9CC39AA3A6809CD51E43C67B302556181F5F43856770F63168434550EEEB86AC15AE77848A865F3AE875E0BE30B6024C740B74538D8018C66221FF32E2627FB6D32D0AF97BB19A96049FF7601BAC4382CF144340208954974C5F8438A3FB67290C22C48F01BC4EFD289FAC9D081129D7D918A12C29FEECF5602568028525E577E316CE1C814B09A7C503241537045319194CFAAC91229C24122191DCD9475D9B23076E1D72F19736FA93193A4F41338A32875EFC441D43B4B79EBD8318FEE2A554D3B49BCD05AF8B16DB4E6E4185CF0A815264308F3584D58D783951C31C6C78F927EA9192A5841DC92ACECFD2&loginParam=disposed&length=32&lengh=32&sessionKey=F7635C13C00B4DF4C6B887D4D6B3C4909FDA7A57AB83D7C708425E4E3647CF94B45CFE6B6A3DC31443DE4684B002A02881F2A2FAFCC265E9FB1951AA5ADC231036EB2F9CC39AA3A6809CD51E43C67B302556181F5F43856770F63168434550EEEB86AC15AE77848A865F3AE875E0BE30B6024C740B74538D8018C66221FF32E2627FB6D32D0AF97BB19A96049FF7601B744F4F1451E36E32
这里关键是找到一个“live_roomid”
2、拉取房间信息
http://ugc.isd.com/QTP/index.php?dstjcefile=%2F%2Fqzone_liveshow_jce.jce%2FGetRoomInfoReq
直播地址:
http://2377.liveplay.myqcloud.com/2377_831def3912bb11e6b91fa4dcbef5e35a.m3u8
点播地址:
http://200007218.vod.myqcloud.com/200007218_c2e7c0859f2848cca22883c4f3ef3a2c.f0.mp4
空间直播支持回看功能,观看直播用最上面的地址,直播结束后,如果要观看点播则用下面的那个地址。
正常情况下,把上面两个地址中的一个拷贝到vlc中,就可以观看。如果播放不了,通过fiddler进行抓包分析
3、HLS协议
#EXTM3U m3u文件头,必须放在第一行
#EXT-X-MEDIA-SEQUENCE 第一个TS分片的序列号
#EXT-X-TARGETDURATION 每个分片TS的最大的时长
#EXT-X-ALLOW-CACHE 是否允许cache
#EXT-X-ENDLIST m3u8文件结束符
#EXTINF extra info,分片TS的信息,如时长,带宽等
- 基于腾讯云搭建直播系统及空间直播问题定位
- 基于SRS+OBS搭建直播系统
- 腾讯云直播相关问题处理
- 腾讯云直播
- android 腾讯云直播
- 腾讯云直播~上
- 腾讯云直播~下
- 腾讯云直播流程及腾讯云通讯功能整理
- 腾讯云在线直播一
- 腾讯云在线直播二
- 腾讯云在线直播三
- 腾讯云在线直播四
- 腾讯云直播再探
- 腾讯云直播初体验
- red5搭建流媒体直播系统
- red5搭建流媒体直播系统
- 搭建免费网络直播系统
- FMS视频直播系统搭建
- 第五次C++作业
- Java文件操作
- android 四大组件之BroadCastReceiver
- webUI自动化测试框架---”pyswat“介绍
- android:mvp+dagger2解析
- 基于腾讯云搭建直播系统及空间直播问题定位
- url的一些正则处理 一个比较高效的函数
- Tensorflow教程_练习代码
- Unicode和UTF-8的区别
- Easy-13
- NGUI 照相机UI Camera 和 碰撞器 Box Collider关系
- 回车换行符 crlf 那点事
- Android 找不到拍照后图片文件
- liinux中压缩与解压命令