Windows下用FFmpeg+nginx+rtmp/HLS搭建直播/点播环境 实现推流、拉流

1.环境

开发环境:windows

开发工具:FFmpeg、nginx、nginx-rmtp-module

简介:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 nginx-rmtp-module是Nginx服务器的流媒体插件。nginx通过rtmp模块提供rtmp服务, ffmpeg推送一个rtmp流到nginx, 然后客户端通过访问nginx来收看实时视频流

2.准备文件

       需要的配置文件,这里我就全部整理好了,包括Nginx、nginx-rmtp-module、FFmpeg和实例mp4视频、LVC播放器

3.启动nginx服务器

进入windows的cmd; 

> cd nginx-1.7.11.3-Gryphon    //进入nginx的目录

> nginx.exe -c conf\nginx-win-rtmp.conf   //运行rtmp配置文件 

     注意:此时命令行会一直处于执行中 不用理会  也不要关闭

测试:浏览器输入localhost:80  ,如果出现如下页面 说明配置nginx启动成功 !

nginx.conf 文件 添加如下

​rtmp {   
    server {   
        listen 1935;   
        application live {   //rtmp直播
            live on;   
        }   
        application hls {     //hls直播
             live on;     
             hls on;     
             hls_path G:/Baidu_download/temp/hls;     
             hls_fragment 5s;     
       }     

       chunk_size 4096;   #//数据传输块的大小
       #Video on demand            

       application vod {    //点播
           play G:/Baidu_download/video; #//视频文件存放位置。
       }


       #Video on demand over HTTP
       application vod_http {

#myserver.com及服务器地址,如果只是本地播放,填写127.0.0.1:端口号 就行,端口好看配置文件中http监听的端口下同
          play http://myserver.com/vod/;
       }


    }   
}

server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /{
            root html;
            index index.html;
        }


        location /hls {     
           #server hls fragments     
           types{     
             application/vnd.apple.mpegurl m3u8;     
             video/mp2t ts;     
           }     
           alias G:/Baidu_download/temp/hls;     
           expires -1;     
           #root G:/Baidu_download/temp/hls;
           #add_header Cache-Control no-cache;
        }


    }

 

浏览器访问:http://127.0.0.1:8080/

Windows下用FFmpeg+nginx+rtmp/HLS搭建直播/点播环境 实现推流、拉流_第1张图片

4.配置FFmpeg

解压:将ffmpeg解压到指定目录 我这里是D:\ffmpeg 

环境配置:打开Path ,将 D:\ffmpeg\bin (你的ffmepg解压目录下的bin目录的绝对路径)添加到Path 路径下;

测试:打开windows 的cmd (不要关闭前面的nginx) 输入ffmpeg -help 如果出现如下情况  说明配置成功!

Windows下用FFmpeg+nginx+rtmp/HLS搭建直播/点播环境 实现推流、拉流_第2张图片

5.运行  

将下载的orange.mp4文件放到桌面 

新打开windows的cmd (不要关闭之前的ngnix)进入桌面文件夹

然后输入一下指令:

rtmp直播

ffmpeg -re -i video.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:1935/live/home

// ffmpeg -re -i video.mp4 -vcodec libx264 -r 25 -b:v 500k -s 640*480 -acodec aac -f flv rtmp://127.0.0.1:1935/live/home

电脑打开vlc播放器      输入地址:rtmp://127.0.0.1:1935/live/home  

然后先点击命令行回车 再点击播放

 

htl直播

ffmpeg -re -i video.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:1935/hls/movie

电脑打开vlc播放器      输入地址:http://localhost:8080/hls/movie.m3u8

然后先点击命令行回车 再点击播放

 

rtmp点播

电脑打开vlc播放器      输入地址 rtmp://localhost:1935/vod/orange.mp4

然后先点击命令行回车 再点击播放

你可能感兴趣的:(流媒体)