orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务

1、板子通过网络连接两台ipc

不同的摄像头地址分别是

rtsp://admin:@192.168.1.43:554/h264/ch1/main/av_stream
rtsp://192.168.1.10:554/user=admin&password=&channel=1&stream=0.sdp?real_stream

同网段ping通即可。
rtsp流可以通过vlc播放器播放内容。
板子安装ffmpeg

apt install ffmpeg

2、下载安装srs 服务器

短小精悍,比nginx+rtmp模块要省很多。
http://www.ossrs.net/srs.release/releases/

orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务_第1张图片
image.png

找到适配版本下载即可。
然后到目录下

./INSTALL

即可。

install success, you can:
      sudo /etc/init.d/srs start
srs root is /usr/local/srs

Usage: /etc/init.d/srs {start|stop|status|restart|reload}

3、配置conf

orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务_第2张图片
# 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_stream {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
stats {
    network         0;
    disk            sda sdb xvda xvdb;
}
vhost __defaultVhost__ {

    ingest ingest_id { #ingest_id为ingest的全局唯一编号,不可重复。 
        enabled      on;   #是否开启这个ingest。
        input {
            type    stream;  #输入类型,有file(文件),stream(流),device(设备,这个还没有支持)
            url     rtsp://admin:@192.168.1.43:554/h264/ch1/main/av_stream;  #输入源。
        }
        ffmpeg      /usr/bin/ffmpeg;  #指定ffmpeg的路径
        engine {  #转码引擎
            enabled          off;  #是否开启转码引擎,默认为off,ffmpeg音视频都使用copy。
            output          rtmp://127.0.0.1:1935/live/livestream_sd;  #输入地址,[port]和[vhost]是2个变量
        }
    }
    ingest ingest_id2 { #ingest_id为ingest的全局唯一编号,不可重复。 
    enabled      on;   #是否开启这个ingest。
    input {
        type    stream;  #输入类型,有file(文件),stream(流),device(设备,这个还没有支持)
        url     rtsp://192.168.1.10:554/user=admin&password=&channel=1&stream=0.sdp?real_stream;  #输入源。
    }
    ffmpeg      /usr/bin/ffmpeg;  #指定ffmpeg的路径
    engine {  #转码引擎
        enabled          off;  #是否开启转码引擎,默认为off,ffmpeg音视频都使用copy。
        output          rtmp://127.0.0.1:1935/live/livestream_sd2;  #输入地址,[port]和[vhost]是2个变量
    }
}


rtmp服务器发布的两路直播地址是

rtmp://127.0.0.1:1935/live/livestream_sd
rtmp://127.0.0.1:1935/live/livestream_sd2

如果需要转码可以根据官方文档修改。
https://github.com/ossrs/srs/wiki/v1_CN_Ingest
详细介绍在此。
https://github.com/ossrs/srs/wiki/v2_CN_FFMPEG
sample如下,可以更改视频大小等等内容。

vhost __defaultVhost__ {
    transcode {
        enabled     on;
        ffmpeg      ./objs/ffmpeg/bin/ffmpeg;
        engine ff {
            enabled         on;
            vfilter {
            }
            vcodec          libx264;
            vbitrate        500;
            vfps            25;
            vwidth          768;
            vheight         320;
            vthreads        12;
            vprofile        main;
            vpreset         medium;
            vparams {
            }
            acodec          libfdk_aac;
            abitrate        70;
            asample_rate    44100;
            achannels       2;
            aparams {
            }
            output          rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
        }
    }

4、启动服务

sudo /etc/init.d/srs  start

通过vlc打开第1路


orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务_第3张图片
image.png

orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务_第4张图片
image.png

通过vlc打开第2路


orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务_第5张图片
image.png

全部成功启动。

运行1小时稳定可播放直播。
系统占用资源也比较低。运行htop如下。

htop
orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务_第6张图片
image.png

全文完。

你可能感兴趣的:(orangepi pc2 armbian拉流rtsp方式搭建多路rtmp服务)