nginx + ffmpeg + rtmp简单直播流服务器

1. nginx

nginx_1.7.11.3 Gryphon

2.  下载完成后解压;
     将解压后的目录名:
      nginx 1.7.11.3 Gryphon
      改成:
      nginx-1.7.11.3-Gryphon

3. 将nginx-rtmp-module-master.zip解压后复制到目录:nginx-1.7.11.3-Gryphon下,
    保证stat.xls的目录为:
    nginx-1.7.11.3-Gryphon\nginx-rtmp-module\stat.xsl

4.配置文件 conf\nginx-win.conf

worker_processes  2;

error_log  logs/error.log info;

events {
    worker_connections  8192;
}

rtmp {
    server {
        listen 1935;

        application live {
            live on;
        }
    }
}

http {
    server {
        listen      80;

        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root html/nginx-rtmp-module/;
        }

        location /control {
            rtmp_control all;
        }

        location /rtmp-publisher {
            root html/nginx-rtmp-module/test;
        }

        location / {
            root html/nginx-rtmp-module/test/www;
        }
    }
}

5. nginx.exe -c conf\nginx-win.conf 启动nginx

6. 推流,推流的手段有很多,此处使用ffmpeg将本地的文件流化并推到nginx服务。 

ffmpeg -re -i "1.mp4" -vcodec copy -f flv rtmp://192.168.100.2/live/test

7.拉流

VLC播放器 媒体->打开网络串流

ffmpeg安装请自行百度。

常用命令:

合并视频
ffmpeg -f concat -safe 0 -i xxx.txt -c copy out.avi
ffmpeg -f concat -safe 0 -i E:\_YHT\ffmpeg\test1\1.txt -c copy E:\_YHT\ffmpeg\test1\merger.mp4

转换格式
ffmpeg -i input.avi ouput.mp4
ffmpeg -i E:\_YHT\ffmpeg\2.mov E:\_YHT\ffmpeg\2.avi

ffmpeg -i 1.mp4 -vcodec copy -f h264 2.h264
ffmpeg -i 1.mp4 -s 640x480 -b 500k -vcodec h264 -r 29.97 -acodec copy out.mp4

ffmpeg -i 1.mp4 -vcodec h264 shipin.h264


提取音频
ffmpeg -i input.mp4 -f mav output.mav
ffmpeg -i E:\_YHT\ffmpeg\天空之城查干湖.mp4 -f mp3 E:\_YHT\ffmpeg\YYY.mp3 -y

ffmpeg -i 1.mp4 -f mp3 yinpin.mp3 -y

提取视频
ffmpeg -i input.mp4 -vcodec copy -an -r 25 output.mp4
ffmpeg -i E:\_YHT\ffmpeg\天空之城查干湖.mp4 -vcodec copy -an -r 25 E:\_YHT\ffmpeg\YYY.mp4 -y  

截取一段音视频(-t 00:01:00,它等价于-t 60)
ffmpeg -ss 00:00:10 -t 00:01:00 -i yinpin.mp3 -c copy output.mp3
ffmpeg -ss 00:03:27 -t 51 -i E:\_YHT\ffmpeg\test1\5555.mp3 -c copy E:\_YHT\ffmpeg\test1\5555_666.mp3 -y  

合并视频 音频 (时长必须一样)(多个合并 必须先合并同类型的)
ffmpeg -i shipin.h264 -i yinpin.mp3 -vcodec copy -acodec copy  output.mp4
ffmpeg -i E:\_YHT\ffmpeg\test1\m_merger.mp4 -i E:\_YHT\ffmpeg\test1\y_merger.mp3 -vcodec copy -acodec copy E:\_YHT\ffmpeg\test1\merge_more.mp4  

推送直播流(多个cmd框)
ffmpeg -stream_loop -1 -re -i "jixiantaosheng.mp4" -vcodec copy -f flv rtmp://172.17.0.56/live/test
ffmpeg -stream_loop -1 -re -i "jixiantaosheng.mp4" -vcodec h264 -s 640*480 -f flv rtmp://192.168.107.22/live/test5

推送摄像头  根据系统硬件管理,查询摄像头名称
ffmpeg -f dshow -i video="Integrated Camera" -s 640x360 -vcodec libx264 -b:v 1000k -ab 128k -f flv rtmp://172.17.0.56/live/test6

参数解析
-vcodec copy表示使用跟原视频一样的视频编解码器。
-acodec copy表示使用跟原视频一样的音频编解码器。
-vcodec codec 强制使用codec编解码方式。如果用copy表示原始编解码数据必须被拷贝
-an 不使能音频纪录
-r fps设置帧频 缺省25
-i 表示源文件
-y 表示如果输出文件已存在则覆盖。
-c copy 用原来的编码并复制到新文件中

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

窦再兴

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值