1
zhujinliang 2016-01-12 13:05:15 +08:00 via iPhone 3
播放基于 http 流, flv 容器。推送基于 rtmp
整个系统有三个角色,转发服务器,流推送端,客户端 服务器可用 nginx_rtmp ,推送端请看斗鱼或 b 站直播教程,客户端网页的话要写 flash 或者做 HLS 根据客户数量规模,服务器可能需要做 CDN 或码率转换 |
2
Lcys OP 带宽要求是啥 20M 带宽能支持 10 人在线吗?
@zhujinliang |
4
zhujinliang 2016-01-12 13:11:03 +08:00 via iPhone
@Lcys 基本够用
大部分直播码率在 1000kbps 左右 |
5
wbsdty331 2016-01-12 13:17:01 +08:00
@zhujinliang 推流以 obs 和 xsplit 为主,斗鱼自己也有个直播助手
|
6
SPACELAN 2016-01-12 13:22:02 +08:00
实现一个网页直播间的花还可以用 webrtc
|
8
youyaochi 2016-01-12 13:41:30 +08:00 1
|
9
xing393939 2016-01-12 13:42:21 +08:00 1
|
10
ne6rd 2016-01-12 16:13:47 +08:00
正好借地问一下,有没有通过网络给直播录像的方法,具体是什么思路呢
|
11
zhujinliang 2016-01-12 17:25:46 +08:00
@ne6rd 意思是直接录直播流么?
斗鱼是对地址做过处理的, flash 上有生成校验码的逻辑,自己没办法构造正确的下载地址(除非反编译 flash ) 有了地址后,可以直接用 ffmpeg 下载,把地址做为输入参数即可,顺便还能直接转格式 再有就是需要自己处理连接断了后重连的逻辑,需要修正 flv 文件里的时间码 |
12
XhstormR 2016-01-12 17:50:12 +08:00 via Android
@zhujinliang youtube-dl 支持 douyu
|
13
wupher 2016-01-12 22:46:10 +08:00
之前有做过直播。使用 RTMP 协议,通过各种输入端( PC Camera 、 Mobile )获得音视频流,按照 H264, AAC 或者 MP3 进行压缩,然后按 RTMP 传输入视频服务器。 视频服务器再做一些多路转换等工作。将处理后的码流推往 CDN 。很多商业 CDN 直接支持 RTMP 以及 HLS 协议。 客户端( WEB, Flash Player, Mobile Player )获取码流进行播放。
播现成的录像文件比这个更省事一些,大致流程相似。 RTMP 本身也是 Adobe 视频协议族中的一员,基于 TCP 协议,多少还是会有延迟。一般的直播也就罢了,如果考虑实时性或者交互性很高,估计还得像 QQ 以及 YY 学习,封装自己的专用协议。 |
14
janxin 2016-01-12 23:24:13 +08:00
很多 CDN 都有专门的解决方案,需要现成的话可以直接用一下就好了。各大 CDN (影视网站、阿里云、又拍、七牛之类的)都提供类似服务
|
15
Lcys OP 搞定了.. http://phpinfo.me/tv/
|
18
gehurry 2016-12-27 16:44:56 +08:00
@zhujinliang 请问这个视频直播里面会对她的数据流进行加密么 到了客户端在解密出来播放
|
19
zhujinliang 2016-12-27 17:31:15 +08:00
@gehurry
一般数据流没有加密 url 可能带有 hash ,需要客户端计算 hash ,服务器判断 hash 是否正确 你可以打开调试工具,查看网络传输,开始直播,然后找到一个持续增大的 flv 文件,复制链接地址,使用 vlc 之类的播放器可以直接打开这个地址,或者使用 wget 之类的工具下载,播放器也可以播放这段下载的视频 |