使用Nginx搭建rtmp流媒体服务器笔记
2017-05-20 11:52
218 查看
平台软硬件环境:PC,ubunut 16.04
主要是做个记录,方便日后查询。
主要是参考这篇博客: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
主要是做个记录,方便日后查询。
主要是参考这篇博客: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
相关文章推荐
- 直播系列4-使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(一)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(四)
- 直播系列5-使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(二)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(十一)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(二)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(九)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(六)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(三)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(二)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(七)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(五)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(一)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(十)
- 流媒体技术学习笔记之(一)nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器(二)
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体server笔记(十)
- Linux平台下使用nginx与nginx-rtmp-module搭建RTMP+HLS流媒体服务器
- 使用nginx与nginx-rtmp-module搭建流媒体服务器
- 使用nginx与nginx-rtmp-module搭建 rtmp 流媒体服务器