基于nginx-rtmp-module的推拉流测试

1、安装nginx服务器

(参考http://nginx.org/en/docs/)

sudo apt-get install nginx

或者从源码安装

wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz

tar -zxvf openssl-1.1.0e.tar.gz

cd openssl-1.1.0e/

sudo ./config

sudo make && sudo make install

sudo apt-get install libpcre3

sudo apt-get install libpcre3-dev

wget http://nginx.org/download/nginx-1.12.0.tar.gz

tar -zxvf nginx-1.12.0.tar.gz

cd nginx-1.12.0/

sudo ./configure --prefix=/usr/local/nginx --with-openssl=/usr/local/include/openssl

sudo make && sudo make install

在/usr/local/nginx目录下看到了

conf  html  logs  sbin

表示安装成功


如果同时需要安装Apache,由于这两种类型的服务器都需要开机自启,且默认会占用80端口。所以要修改一下nginx服务器默认配置

sudo netstat -natp

查询到

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      55463/nginx.conf

sudo gedit /usr/local/nginx/conf/nginx.conf

http {

    server {
        listen       80;
        server_name  localhost;

http {

    server {
        listen       8888;
        server_name  localhost;

重启nginx

cd /usr/local/nginx

sudo ./sbin/nginx -s stop

sudo ./sbin/nginx -c ./conf/nginx.conf

验证


2、安装nginx-rtmp-module

(参照https://github.com/arut/nginx-rtmp-module)
git clone https://github.com/arut/nginx-rtmp-module.git
cd nginx-1.12.0
sudo ./configure --add-module=../nginx-rtmp-module --with-http_ssl_module
sudo make && sudo make install
sudo gedit /usr/local/nginx/conf/nginx.conf
添加
rtmp {  
     server {  
            listen 1935;  
            application myapp {  
                live on;  
            }  
            application hls {  
                live on;  
                hls on;  
                hls_path /tmp/hls;  
            }  
      }  
}
重启nginx

3、准备推流

安装ffmpeg
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next  
sudo apt-get update  
sudo apt-get install ffmpeg
ffmpeg -re -i /home/thinking/Desktop/test.avi -vcodec libx264 -acodec aac -f flv -strict -2 rtmp://192.168.42.248:1935/myapp/test

最后的一行命令的含义是:video编码器用libx264(-vcodec libx264);audio编码器用aac(-acodec aac);打包格式是flv(-f flv)。
-re代表按照帧率发送,不加则默认按照服务器最高速率发送。
例如
ffmpeg -re -i /home/thinking/Desktop/test.mp3 -acodec mp3 -f mp3 rtmp://0.0.0.0:1935/myapp/test
这行命令就是将音频文件转成MP3格式的推流发出去
(但是不知道为啥,这行命令可以执行,但是数据输出有误,改成
ffmpeg -re -i /home/thinking/Desktop/test.mp3 -acodec mp3 -f flv rtmp://0.0.0.0:1935/myapp/test
就可以了)

效果如下

4、拉流并播放

用VLC打开串流
媒体-->打开网络串流-->输入rtmp://192.168.42.248:1935/myapp/test-->打开
效果如下







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值