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/

4.配置FFmpeg
解壓:將ffmpeg解壓到指定目錄 我這裏是D:\ffmpeg 

環境配置:打開Path ,將 D:\ffmpeg\bin (你的ffmepg解壓目錄下的bin目錄的絕對路徑)添加到Path 路徑下;

測試:打開windows 的cmd (不要關閉前面的nginx) 輸入ffmpeg -help 如果出現如下情況  說明配置成功!

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

然後先點擊命令行回車 再點擊播放


原文鏈接:https://blog.csdn.net/caodongfang126/article/details/100984841

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章