激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識(shí)|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - Nginx - 利用nginx與ffmpeg搭建流媒體服務(wù)器過(guò)程詳解

利用nginx與ffmpeg搭建流媒體服務(wù)器過(guò)程詳解

2019-11-24 19:10LoyaChen Nginx

這篇文章主要給大家介紹了利用nginx與ffmpeg搭建流媒體服務(wù)器的全過(guò)程,文中介紹的很詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。

需求

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

環(huán)境

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

步驟

安裝ffmpeg

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

安裝Nginx

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

?
1
2
3
git clone https://github.com/arut/nginx-rtmp-module.git
#編譯的時(shí)候添加nginx-rtmp-module模塊
--add-module=path_of_/nginx-rtmp-module

我的nginx編譯參數(shù)

?
1
./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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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;
}
#切換自動(dòng)推送(多 worker 直播流)模式。默認(rèn)為 off
rtmp_auto_push on;
#當(dāng) worker 被干掉時(shí)設(shè)置自動(dòng)推送連接超時(shí)時(shí)間。默認(rèn)為 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://拉流地址;
  }
 
  # 轉(zhuǎn)推
  application pull {
   live on;
   pull rtmp://轉(zhuǎn)推地址;
  }
  
  # rtmp日志設(shè)置
  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;
}

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

重啟Nginx

?
1
2
nginx -t
nginx -s reload

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

使用ffmpeg推流到nginx

推一個(gè)本地的mp4到上面配置的myapp上:

?
1
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

推一個(gè)本地的mp4到hls上:

?
1
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

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。謝謝大家對(duì)服務(wù)器之家的支持。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日韩在线观看视频 | 一区二区免费看 | 亚洲精品日韩色噜噜久久五月 | 国产免费一区二区三区在线能观看 | 久久男人 | 圆产精品久久久久久久久久久 | 中日韩乱码一二新区 | 成年男女免费视频 | 国产在线观看91精品 | 中文字幕国产亚洲 | 成人福利视频网站 | 91免费在线 | 久久精品中文字幕一区二区三区 | 欧美成人午夜一区二区三区 | 末成年女av片一区二区 | 日本视频网 | 成人在线视频免费看 | 中午日产幕无线码1区 | 国产毛毛片一区二区三区四区 | 亚洲网站免费看 | 中国杭州少妇xxxx做受 | 国产精品成aⅴ人片在线观看 | 斗罗破苍穹在线观看免费完整观看 | 久久免费激情视频 | 久草干 | 嗯~啊~弄嗯~啊h高潮视频 | 国产日韩在线 | 久久超碰99| 成人免费福利 | 999插插插| 网站激情| 成人性视频免费网站下载软件 | 久久综合综合 | 播色网 | 日本一区二区三区四区高清视频 | 毛片电影在线看 | 免费黄色小视频网站 | 九一成人 | 国产美女视频一区 | 国产91九色在线播放 | 久久精品污|