PHP直播技术分享(一:实现直播)

2021-02-27  本文已影响0人  表弟_212

推流服务器采用的是自搭的推流服务器 , 自己玩玩 做外包项目还是去搞七牛云/阿里这样的服务器吧,开始bb-----

1:技术栈

image.jpeg

2:开发中业务

(1)主播申请时创建个秘钥 , 这个秘钥随时字符串即可到时候根据字符串找到拉流的直播位置存数据库包括推流地址


image.png

3:配置nginx-rtmp

播放器用的是西瓜视频,hls协议基于http协议,nginx配置用hls协议配置如下:

rtmp {
    server{
    listen 1935;
    chunk_size 4000;
    application live{
        live on;
        hls  on;
        wait_key on; #对视频切片保护
        hls_path /var/video/hls; #切片视频位置,要去创建目录
        hls_fragment 10s;  #切片时长
        hls_playlist_length 60s; #可以回看的事件,这里设置一分钟
        hls_continuous on; #连续模式
        hls_cleanup on;    #对多余切换删除
        hls_nested  on;    # 嵌套模式   
    }
    }
}
#再到server中拉流创建请求地址并设置防止跨域
location /live {
        types {
            application/vnd.apple.mpegurl m3u8;
            video/mp27 ts;
        }
        alias /var/video/hls;
        autoindex on;
        expires -1;
        add_header Cache-Control no-cache;
        add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Creadentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET,POST';
        add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    }

3:使用obs进行推流


image.png image.png

4:进行拉流
西瓜播放器的SDK:
这秘钥就申请为主播到时候创建,去拉去这个index.m3u8即可


image.png
image.png image.png

西瓜SDK地址:
http://v2.h5player.bytedance.com/examples/

image.png
上一篇下一篇

猜你喜欢

热点阅读