最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用nginx與ffmpeg搭建流媒體服務器過程詳解

 更新時間:2017年03月04日 10:17:53   作者:LoyaChen  
這篇文章主要給大家介紹了利用nginx與ffmpeg搭建流媒體服務器的全過程,文中介紹的很詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。

需求

本文介紹的是利用nginx和ffmpeg搭建流媒體服務器的過程。例如這種場景:公司內部需要同時觀看在線直播時,如果每個人直接觀看必然給出口帶寬帶來壓力,影響正常訪問外網的同事。所以可以在內網通過nginx+ffmpeg拉一路直播流,然后內網的用戶訪問內網的這臺流媒體服務器即可。通過nginx+ffmpeg還可以實現(xiàn)推流、拉流、轉推甚至利用FFmpeg實時切片、視頻處理等,實現(xiàn)一套直播服務模型。

環(huán)境

系統(tǒng)環(huán)境:CentOS release 6.7 (Final)

步驟

安裝ffmpeg

安裝過程參考官方文檔:https://trac.ffmpeg.org/wiki/CompilationGuide

安裝Nginx

這里采用了編譯安裝的方式,需要注意的是:一定要添加nginx-rtmp-module模塊

git clone https://github.com/arut/nginx-rtmp-module.git
#編譯的時候添加nginx-rtmp-module模塊
--add-module=path_of_/nginx-rtmp-module

我的nginx編譯參數(shù)

./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre=/opt/software/pcre-8.35 --with-zlib=/opt/software/zlib-1.2.8 --with-openssl=/opt/software/openssl-1.0.1i --add-module=/opt/software/nginx-1.8.1/modules/nginx-rtmp-module

修改nginx配置文件nginx.conf

user nginx;
worker_processes 2;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid  logs/nginx.pid;
events {
 use epoll;
 worker_connections 1024;
}
#切換自動推送(多 worker 直播流)模式。默認為 off
rtmp_auto_push on;
#當 worker 被干掉時設置自動推送連接超時時間。默認為 100 毫秒
rtmp_auto_push_reconnect 1s;
rtmp { 
 server { 
  listen 1935; 
  
  #直播流配置
  application myapp { 
   live on; 
  } 
 
  # hls切片
  application hls { 
   live on; 
   hls on; 
   hls_path /tmp/hls; 
  } 
 
  # 拉流
  application qiniu {
   live on;
   push rtmp://拉流地址;
  }
 
  # 轉推
  application pull {
   live on;
   pull rtmp://轉推地址;
  }
  
  # rtmp日志設置
  access_log logs/rtmp_access.log ;
 } 
}
http {
 include  mime.types;
 default_type application/octet-stream;
 
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      '$status $body_bytes_sent "$http_referer" '
      '"$http_user_agent" "$http_x_forwarded_for"';
      
 access_log logs/access.log main;
 
 sendfile  on;
 #tcp_nopush  on;
 keepalive_timeout 65;
 gzip on;
 
 server {
  listen  80;
  server_name localhost;
  charset utf-8;
  access_log logs/host.access.log main;
  
  location /stat {
  rtmp_stat all;
   rtmp_stat_stylesheet stat.xsl;
  }
  
  location /stat.xsl {
   root /opt/software/nginx-rtmp-module/;
  }
  
  location / {
   root /opt/www/html;
   index index.html index.htm;
  }
  
  location /hls { 
   types { 
    application/vnd.apple.mpegurl m3u8; 
    video/mp2t ts; 
   } 
   root /tmp; 
   add_header Cache-Control no-cache; 
  } 
  
  #error_page 404    /404.html;
  # redirect server error pages to the static page /50x.html
 
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
   root html;
  }
 }
include vhosts/*.conf;
}

這是一個較簡單的配置, rtmp監(jiān)聽1935端口,如果是hls的話用hls on開啟hls,并且為hls設置一個臨時文件目錄hls_path /tmp/hls; 其它更高級的配置可以參看nginx-rtmp-module的readme,里面有比較詳細的介紹其它的配置。

重啟Nginx

nginx -t
nginx -s reload

查看Nginx已監(jiān)聽1935端口。

使用ffmpeg推流到nginx

推一個本地的mp4到上面配置的myapp上:

ffmpeg -re -i /tmp/ffmpeg_test.mp4 -vcodec copy -acodec copy -f flv "rtmp://127.0.0.1:1935/myapp/test1"

流播放地址為(10.0.0.6是我本地的IP):rtmp://10.0.0.6:1935/myapp/test1

推一個本地的mp4到hls上:

ffmpeg -re -i /tmp/ffmpeg_test.mp4 -vcodec copy -acodec copy -f flv "rtmp://127.0.0.1:1935/hls/test2"

流播放地址為: http://10.0.0.6/hls/test2.m3u8

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。謝謝大家對腳本之家的支持。

相關文章

  • Nginx下無法使用中文URL的解決方法

    Nginx下無法使用中文URL的解決方法

    最近發(fā)現(xiàn)有很多的url打不開,后來仔細觀察后發(fā)現(xiàn)是中文url的問題,所以這篇文章主要給大家介紹了Nginx下無法使用中文URL的解決方法,文中提供了兩種方法供大家參考學習,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 詳解使用ChatGPT解決Nginx反向代理的問題

    詳解使用ChatGPT解決Nginx反向代理的問題

    這篇文章主要為大家介紹了使用ChatGPT解決Nginx反向代理的問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Nginx實現(xiàn)http自動跳轉到https

    Nginx實現(xiàn)http自動跳轉到https

    本文主要介紹了Nginx實現(xiàn)http自動跳轉到https,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Nginx訪問慢問題解決辦法(慢1s)

    Nginx訪問慢問題解決辦法(慢1s)

    這篇文章主要給大家介紹了關于Nginx訪問慢問題解決辦法的相關資料,訪問速度對網站是極為關鍵的因素,而服務器對其影響最為深遠,需要的朋友可以參考下
    2023-08-08
  • Nginx解決history模式下頁面刷新404問題示例

    Nginx解決history模式下頁面刷新404問題示例

    這篇文章主要為大家介紹了Nginx解決history模式下頁面刷新404問題示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Nginx中upstream模塊的具體用法

    Nginx中upstream模塊的具體用法

    本文主要介紹了Nginx中upstream模塊的具體用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • nginx 代理域名到另外一個域名的實現(xiàn)方法

    nginx 代理域名到另外一個域名的實現(xiàn)方法

    本文主要介紹了nginx 代理域名到另外一個域名的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • 使用nginx搭建creates.io鏡像的教程詳解

    使用nginx搭建creates.io鏡像的教程詳解

    在Rust開發(fā)中,經常需要使用Cargo從crates.io下載依賴,而國內幾乎沒有好用的crates.io鏡像,使用本文就來使用使用nginx搭建creates.io鏡像吧
    2023-12-12
  • Nginx修復CORS漏洞的實現(xiàn)方法

    Nginx修復CORS漏洞的實現(xiàn)方法

    本文主要介紹了CORS不安全配置漏洞的修復方法,通過修改Nginx配置,將Access-Control-Allow-Origin設置為正確的域名,以防止跨域資源共享時的隱私泄露風險
    2024-11-11
  • nginx worker進程循環(huán)的實現(xiàn)

    nginx worker進程循環(huán)的實現(xiàn)

    這篇文章主要介紹了nginx worker進程循環(huán)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02

最新評論

广饶县| 东台市| 灵武市| 方正县| 望谟县| 淳安县| 米脂县| 淮阳县| 台北县| 防城港市| 临海市| 屯门区| 辉县市| 伽师县| 青州市| 金昌市| 邻水| 汾阳市| 观塘区| 宜丰县| 临海市| 新闻| 日土县| 鄂托克旗| 青州市| 平顶山市| 沾益县| 南涧| 普兰店市| 胶州市| 伊宁市| 陵水| 大庆市| 和林格尔县| 天门市| 巫山县| 崇州市| 义马市| 泉州市| 正镶白旗| 邯郸县|