ffmpeg 推流到nginx1.22.1+nginx-rtmp-module服务器

nginx+nginx-rtmp-module构建流服务

Index of /download/

GitHub - arut/nginx-rtmp-module: NGINX-based Media Streaming Server

./configure --add-module=/path/to/nginx-rtmp-module
make
make install

安装好之后,虚拟机ip:192.168.101.26,nginx.conf配置如下

rtmp {

    server {

        listen 1935;

        chunk_size 4000;

        # TV mode: one publisher, many subscribers
        application mytv {

            # enable live streaming
            live on;

            # record first 1K of stream
            record all;
            record_path /tmp/av;
            record_max_size 1K;

            # append current timestamp to each flv
            record_unique on;

            # publish only from localhost
            allow publish all;
            # deny publish all;

            allow play all;
                          }
            }
}

从一台有MP4视频的机器ip:113.10.10.10推流到192.168.101.26的机器上,推流路径为mytv/自定义一个名字(必须的)

使用ffmpeg 推到流服务上面

ffmpeg -re -i D:/img/panda.mp4  -vcodec copy -acodec copy -f flv rtmp://192.168.101.26:1935/mytv/abc

rtmp://192.168.101.26:1935/mytv/abc这个地址为nginx流服务的端口和路径,

打开vlc软件,选择播放流地址即可播放

也可以用ffplay接收rtmp并减少延时,本地ip:113.10.10.10接收rtmp流命令

ffplay.exe -i rtmp://192.168.101.26:1935/mytv/abc -fflags nobuffer

如果和113.10.10.10同网段的其他的机器,是无法访问到192.168.101.26的,那么就可以

nginx转发rtmp流,便于外网或是里一台服务器访问,nginx作为反向代理:

stream {

    server {

        listen 1935;

        proxy_connect_timeout 10s;

        proxy_timeout 15s;

        proxy_pass 192.168.101.26:1935;

    }

}

经过nginx再次反向代理后,ip:113.10.10.10同网段的机器便可以访问到rtmp流媒体了,

ffpaly命令:

ffplay.exe -i rtmp://113.10.10.10:1935/mytv/abc -fflags nobuffer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值