美文网首页
IOS 直播方面探索(服务器搭建,推流,拉流)

IOS 直播方面探索(服务器搭建,推流,拉流)

作者: 飞鱼ll | 来源:发表于2017-07-25 01:32 被阅读222次

    1.Mac环境下直播服务器搭建
    2.rtmp推流
    3.ijkplayer拉流
    4.linux服务器搭建

    1.Mac环境下直播服务器搭建

    参考文章

    2.rtmp推流

    参考文章

    3.ijkplayer拉流

    参考文章

    4.linux服务器搭建

    1.lamp服务器搭建 参考文章 (部分库文件不全,编译报错安装一下。)
    2.nginx 添加rtmp模块 参考文章
    3.nginx 重新编译添加模块 参考文章

    重编译配置

    --with-openssl=/lnmp/src/openssl-1.1.0b --with-pcre=/lnmp/src/pcre-8.39
    路径要换成自己服务器文件路径

    ./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-openssl=/lnmp/src/openssl-1.1.0b --with-pcre=/lnmp/src/pcre-8.39 --with-http_ssl_module --add-module=../nginx-rtmp-module-master
    make
    

    推流地址 :

    stream153 是直播间号 实际项目中每个主播分配一个唯一的直播间号

    rtmp://www.chaisz.xyz:1935/live/stream153
    

    LFKit 推流

    LFKit git地址:https://github.com/LaiFengiOS/LFLiveKit

    下载后 Demo 打开(先 pod install)
    修改以下代码

    rtmp://www.chaisz.xyz:1935/live/stream153
    
    屏幕快照 2017-07-25 上午12.12.27.png

    然后真机测试开始直播(可用VLC播放器播放直播)

    屏幕快照 2017-07-25 上午12.17.44.png

    Ijkplayer拉流

    新建项目,导入ijkplayer库

    屏幕快照 2017-07-25 上午12.38.40.png

    SRS直播服务器搭建

    git地址:点击跳转
    DEMO地址:点击跳转

    推流地址:rtmp://www.chaisz.xyz/live/livestream
    拉流地址:
    rtmp: rtmp://www.chaisz.xyz/live/livestream1
    hls: http://www.chaisz.xyz:8080/live/livestream1.m3u8
    http-flv: http://www.chaisz.xyz:8080/live/livestream1.flv

    电脑版推流 OBS使用

    主要设置以下两个地方就可以直播屏幕了。

    屏幕快照 2017-07-31 下午5.39.12.png 屏幕快照 2017-07-31 下午5.40.42.png

    点击开始串流

    屏幕快照 2017-07-31 下午5.45.22.png

    直播身份认证

    配置

    http_hooks {
            enabled         on;
            on_connect      http://www.chaisz.xyz/srstest/clients.php;
            on_close        http://www.chaisz.xyz/srstest/clients.php;
            on_publish      http://www.chaisz.xyz/srstest/streams.php;
            on_unpublish    http://www.chaisz.xyz/srstest/streams.php;
            on_play         http://www.chaisz.xyz/srstest/sessions.php;
            on_stop         http://www.chaisz.xyz/srstest/sessions.php;
        }
    

    不支持https

    obs 推流设置

    屏幕快照 2017-08-04 上午5.04.28.png

    推流地址:rtmp://www.chaisz.xyz/live?user=feiyu&pwd=123456/livestream

    地址?参数/room

    srs.conf配置

    # main config for srs.
    # @see full.conf for detail config.
    
    listen              1935;
    max_connections     1000;
    srs_log_tank        file;
    srs_log_file        ./objs/srs.log;
    http_api {
        enabled         on;
        listen          1985;
    }
    http_server {
        enabled         on;
        listen          8080;
        dir             ./objs/nginx/html;
    }
    stats {
        network         0;
        disk            sda sdb xvda xvdb;
    }
    vhost __defaultVhost__ {
        #最小延迟打开,默认是打开的,该选项打开的时候,mr默认关闭。
        min_latency     on;
    #Merged-Read,针对RTMP协议,为了提高性能,SRS对于上行的read使用merged-read,
    即SRS在读写时一次读取N毫秒的数据
        mr {
            enabled     off;
            #默认350ms,范围[300-2000]
            #latency     350;
        }
        #Merged-Write,SRS永远使用Merged-Write,即一次发送N毫秒的包给客户端。这个算法
    可以将RTMP下行的效率提升5倍左右,范围[350-1800]
        mw_latency      100;
        #enabled         on;
        #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#gop-cache
        gop_cache       off;
        #配置直播队列的长度,服务器会将数据放在直播队列中,如果超过这个长度就清空到>最后一个I帧
        #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#%E7%B4%AF%E7%A7%AF%E5%BB%B6%E8%BF%9F
        queue_length    10;
        #http_flv配置
    
        http_remux {
                enabled     on;
                mount [vhost]/[app]/[stream].flv;
                hstrs       on;
        }
    
        hls {
            enabled         on;
            hls_path        ./objs/nginx/html;
            hls_fragment    10;
            hls_window      60;
        }
    
        http_hooks {
            enabled         on;
            on_connect      http://www.chaisz.xyz/srstest/clients.php;
            on_close        http://www.chaisz.xyz/srstest/clients.php;
            on_publish      http://www.chaisz.xyz/srstest/streams.php;
            on_unpublish    http://www.chaisz.xyz/srstest/streams.php;
            on_play         http://www.chaisz.xyz/srstest/sessions.php;
            on_stop         http://www.chaisz.xyz/srstest/sessions.php;
        }
    }
    
    

    相关文章

      网友评论

          本文标题:IOS 直播方面探索(服务器搭建,推流,拉流)

          本文链接:https://www.haomeiwen.com/subject/damikxtx.html