使用Nginx搭建rtmp流媒体服务器笔记

28 篇文章 0 订阅

主要是做个记录,方便日后查询。

主要是参考这篇博客:http://www.jianshu.com/p/f0bf83ca3ea3

碰到的第一个问题:

error: ‘OPENSSL_config’ is deprecated [-Werror=deprecated-declarations]

一开始以为Ubuntu安装了openssl和libssl-dev就可以,不需要独立的去便于openssl,但是出现了这个问题,查阅资料发现需要自己编译openssl,我修改了上述链接中提到的cfg.sh文件如下:

auto/configure --prefix=/usr/local/nginx \
    --with-pcre=../pcre-8.39 \
    --with-zlib=../zlib-1.2.11 \
    --with-openssl=../openssl \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_flv_module \
    --with-http_mp4_module \
    --add-module=../nginx-rtmp-module/

下载openssl库

第二个问题:

[tcp @ 0x5598c71fc820] Connection to tcp://localhost:1935 failed: Connection refused
[rtmp @ 0x5598c71fc320] Cannot open connection tcp://localhost:1935
rtmp://localhost:1935/live/video: Connection refused

这个问题弄了半天,参考很多博客修改/etc/nginx/nginx.conf配置文件,然后reload都不行。这个问题主要的原因是nginx使用的配置文件不是/etc/nginx/nginx.conf。在自行编译nginx之前,我有通过apt-get安装过ubunut自己的nginx,但是我自己编译的nginx安装的目录是/usr/local/nginx,在这个目录下也有配置一个配置文件:/usr/local/nginx/conf/nginx.conf。真正使用的也是/usr/local/nginx/conf/nginx.conf配置文件,在文件结尾添加如下内容:

rtmp {
    server {
        listen 1935;
        application live {
            live on;
            record off;
        }
    }
}

第3个问题:

[flv @ 0x5632f0152a20] FLV does not support sample rate 48000, choose from (44100, 22050, 11025)
[flv @ 0x5632f0152a20] Audio codec mp3 not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?): Function not implementedStream m

此时我使用的命令是:

ffmpeg -re -i /home/fulinux/test.mp4 -c copy -f flv rtmp://localhost:1935/live/video

可能是因为test.mp4是一个超清的视频,让后我通过下面的方法,将其转换为flv格式的:

ffmpeg -i test.mp4 -c:v libx264 -ar 22050 -crf 25 -acodec aac -f flv test.flv

转换成功后通过下面的命令推流:

ffmpeg -re -i /home/fulinux/piano.flv -c copy -f flv rtmp://localhost:1935/live/video

并通过如下命令播放:

ffplay rtmp://localhost:1935/live/video
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值