基于腾讯云搭建直播系统及空间直播问题定位

基于腾讯云搭建直播系统及空间直播问题定位

直播最近很火爆,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的信息,如时长,带宽等

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

李力振的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阮一峰的网络日志

关于战略问题的通信之六

《Joel谈软件》一书的翻译,我好久没提了。 合同规定今年1月交稿。假定我没有违约的话,此书现在应该上市了。可是,实际上......就算到下个月,我恐怕都翻译不...

30370
来自专栏Crossin的编程教室

【每周一坑】让程序替你等待

管挖不管埋的每周一坑又来了,今天是个实用的坑。 在1999年的时候,曾经有人搞过一场真人秀,就是给你一些钱和“电子货币”,把你关在一个可以上网的房间里。你需要借...

362100
来自专栏阮一峰的网络日志

Google日历简易版 2.0

长假期间,我写了一个小程序,现在正式发布。 大家用不用Google日历? ? 它可以用来规划日程、记录事项、甚至写日记,既安全(数据保存在Google的机房)又...

46780
来自专栏工科狗和生物喵

送你一台“云端办公电脑”!

前阵子因为做课程设计,有的时候人不在宿舍,电脑不在身边的话就没有办法画图!但是作为一个积极向上的五好优秀少年,我怎么可能会放松自己呢?所以就在上网的时候瞎逛,找...

1.9K80
来自专栏Data Analysis & Viz

手把手教你完成一个数据科学小项目(4):评论数变化情况

本系列将全面涉及本项目从爬虫、数据提取与准备、数据异常发现与清洗、分析与可视化等细节,并将代码统一开源在GitHub:DesertsX/gulius-proje...

15880
来自专栏Material Design组件

YH基金app+web设计总结

因为之前的App几乎只有交易的功能,所以这个项目是对原App进行redesign(其实是重做)

11030
来自专栏角落的白板报

[52ABP实战系列] .NET CORE实战入门第三章更新了

早安 各位道友好,.NET CORE入门视频的第三章也算录制完毕了。欢迎大家上传课网进行学习。 更新速度 大家也知道最近的社会新闻比较多。频繁发生404、关键...

32270
来自专栏Java帮帮-微信公众号-技术文章全总结

程序员如何快速适应新工作

一、要谦虚爱学习 对自己不熟悉的工具和方法要抱有谦虚的态度。新的工作就意味着学习新的东西。“知之为知之,不知为不知”,对自己不知道的东西要谦虚和诚实。并且要记住...

37670
来自专栏Java帮帮-微信公众号-技术文章全总结

​全球数据库排名/主流语言2017的改变

全球数据库排名 DB-Engines 发布了 2018 年 1 月份的数据库排名。排前 20 名的数据库中,Oracle 稳居第一,Redis 超过 Cassa...

42560
来自专栏BestSDK

用户为王(一)

image.png 作为一个热爱为移动应用工作的产品设计师,为了寻找新鲜的交互和精彩的视觉体验来刺激我的灵感,我每周都会下载大量的手机应用。这么做有时候会捡拾到...

29170

扫码关注云+社区

领取腾讯云代金券