真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

大概率nginx視頻直播/點(diǎn)播服務(wù)干貨分享

近年互聯(lián)網(wǎng)直播業(yè)務(wù)非常火熱。我也研究了下,發(fā)現(xiàn)nginx上配置視頻直播點(diǎn)播也很容易實(shí)現(xiàn),特分享一下。
一、ubuntu14.04安裝nginx及nginx_rtmp_module擴(kuò)展
nginx根據(jù)是否已安裝和安裝的方式不同,有一下三種方式安裝及擴(kuò)展安裝。

十年的瓊海網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整瓊海建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“瓊海網(wǎng)站設(shè)計(jì)”,“瓊海網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1.全新安裝nginx和nginx_rtmp_module擴(kuò)展

#!/bin/sh apt-get update apt-get install -y gcc libpcre3 libpcre3-dev openssl libssl-dev make git libxml2 libxml2-dev libxslt-dev libgd2-xpm-dev geoip-database libgeoip-dev cd /usr/local/src/ git clone https://github.com/arut/nginx-rtmp-module.git wget -c http://mirrors.sohu.com/nginx/nginx-1.9.14.tar.gz tar zxvf nginx-1.9.14.tar.gz cd nginx-1.9.14/ ./configure --with-http_ssl_module --add-module=/usr/local/src/nginx-rtmp-module make make install cd /usr/local/nginx/ ln -s `pwd`/sbin/nginx /usr/sbin/nginx nginx -V wget http://www.*****.com/editor/attached/file/20160322/20160322112243_43972.txt mv 20160322112243_43972.txt /etc/init.d/nginx chmod +x /etc/init.d/nginx service nginx restart

2.apt-get安裝過(guò)nginx的,需重新編譯安裝并添加nginx_rtmp_module擴(kuò)展

#!/bin/sh apt-get -y install dpkg-dev libxml2 libxml2-dev libxslt-dev libgd2-xpm-dev geoip-database libgeoip-dev libpcre3 libpcre3-dev libssl-dev openssl nginx -V 2>a nginx_config=`cat a |grep configure | cut -d \':\' -f 2` nginx_version=`cat a|grep \'nginx version\'|cut -d \'/\' -f 2 | cut -d \' \' -f 1` rm -f a cd /usr/local/src/ # apt-get install -y git git clone https://github.com/arut/nginx-rtmp-module.git #采用搜狐開(kāi)源鏡像下載對(duì)應(yīng)的nginx版本 # apt-get source nginx wget -c "http://mirrors.sohu.com/nginx/nginx-${nginx_version}.tar.gz" tar zxvf "nginx-${nginx_version}.tar.gz" cd "nginx-$nginx_version" echo "./configure ${nginx_config} --add-module=/usr/local/src/nginx-rtmp-module" | sh make #強(qiáng)制覆蓋 cp -rfp objs/nginx /usr/sbin/nginx #檢查是否錯(cuò)誤 /usr/sbin/nginx -t #重啟nginx service nginx restart nginx -V

3.已經(jīng)編譯安裝過(guò)nginx的,可以直接添加nginx_rtmp_module擴(kuò)展
找到安裝nginx的源碼根目錄,如果沒(méi)有的話下載新的源碼
我的安裝源碼根目錄 /usr/local/src/nginx-1.4.6

cd /usr/local/src/ # apt-get install -y git git clone https://github.com/arut/nginx-rtmp-module.git nginx -V 2>a nginx_config=`cat a |grep configure | cut -d \':\' -f 2` rm -f a cd nginx-1.4.6 echo "./configure ${nginx_config} --add-module=/usr/local/src/nginx-rtmp-module" | sh make #強(qiáng)制覆蓋 cp -rfp objs/nginx /usr/sbin/nginx #檢查是否錯(cuò)誤 /usr/sbin/nginx -t #重啟nginx service nginx restart nginx -V

二、配置使用
編輯nginx的配置文件(/etc/nginx/nginx.conf或/usr/local/nginx/conf/nginx.conf)
1.在http節(jié)點(diǎn)外層添加一個(gè)rtmp節(jié)點(diǎn),具體內(nèi)容如下:

rtmp { server { listen 1935; chunk_size 4096; max_connections 100; #音視頻流上傳和播放地址都是 rtmp://你的IP/live/streamName #streamName自己是自定義的。 application live { live on; record off; } #這個(gè)是上傳地址 rtmp://你的IP:/hls/streamName2 #直播的地址也是這個(gè),點(diǎn)播播放地址在下面 application hls { live on; hls on; #請(qǐng)先創(chuàng)建相應(yīng)目錄(mkdir -p /var/www/hls/ && chown -R www-data:www-data /var/www ) hls_path /var/www/hls/; } } }

說(shuō)明:
application 表示一個(gè)應(yīng)用
地址后面的streamName可以自己定義,點(diǎn)播時(shí)會(huì)在相應(yīng)目錄下生成類似 streamName.m3u8 和 streamName.ts 的文件。
live on; 表示打開(kāi)直播。
hls on; 表示打開(kāi)點(diǎn)播,會(huì)在服務(wù)器上生成臨時(shí)文件的。
record off; 是關(guān)閉保存視頻的功能。
點(diǎn)播播放的地址是一個(gè)http協(xié)議的數(shù)據(jù)流地址。例如下面配置的http://你的IP:8080/hls/streamName2.m3u8 。
點(diǎn)播的文件默認(rèn)是逐個(gè)生成的,又會(huì)逐個(gè)自動(dòng)刪除。m3u8文件是一個(gè)動(dòng)態(tài)的。用vim可以查看。
2.在下面的http節(jié)點(diǎn)內(nèi)部添加一個(gè)server節(jié)點(diǎn),具體內(nèi)容如下:

#這個(gè)是點(diǎn)播播放地址 http://你的IP:8080/hls/streamName2.m3u8 server { listen 8080; index index.html; root /var/www/hls/; location /hls { alias /var/www/hls/; types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } add_header Cache-Control no-cache; } }

說(shuō)明:
這個(gè)節(jié)點(diǎn)是配置的一個(gè)虛擬主機(jī),目的是為了播放上面點(diǎn)播服務(wù)生成的視頻流。
url中streamName2是根據(jù)錄制推流的名字來(lái)的。需要保持一致。
默認(rèn)下,該地址有一定的時(shí)限行,需要每次都先確認(rèn)一下,服務(wù)器上是否存在該m3u8文件。
3.測(cè)試使用

a.推視頻流到服務(wù)器 (1).使用linux上ffmpeg工具模擬推流到服務(wù)器 安裝ffmpeg工具 apt-get -y install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-dev libfaac-dev libmp3lame-dev libx264-dev FFMPEG_VERSION=2.3.3 cd /usr/local/src if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then sudo wget "http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2" sudo tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2" fi cd "ffmpeg-${FFMPEG_VERSION}" ./configure --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libx264 make checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" --backup=no --deldoc=yes --default

ffmpeg –version使用ffmpeg工具把本地的視頻文件模擬推送到服務(wù)器

ffmpeg -re -i /data/localFile.mp4 -c copy -f flv rtmp://你的IP/live/streamName

這個(gè)命令會(huì)把本地的localFile.mp4模擬推入live直播流,然后可以通過(guò) rtmp://你的IP/live/streamName地址觀看該直播。

ffmpeg -re -i /data/localFile.mp4 -c copy -f flv /var/www/hls/streamName

這個(gè)命令會(huì)把本地的localFile.mp4模擬推入到hls應(yīng)用中,然后可以通過(guò)rtmp://你的IP/hls/streamName 地址觀看該直播,也可以通過(guò)播放器打開(kāi)http://你的IP:8080/hls/streamName.m3u8查看該視頻的點(diǎn)播

(2).Windows上使用一些專業(yè)工具推流到服務(wù)器

我是使用 銳動(dòng)PC錄制/直播SDK(http://www.rdsdk.com/contrast...非打廣告]包中的demo來(lái)推流的,這個(gè)可以免費(fèi)使用且免安裝。
網(wǎng)上推薦的常見(jiàn)推流測(cè)試工具有 OBS, XSplit, FMLE 等。
推流的地址是 rtmp://你的IP/hls/streamName 或者 rtmp://你的IP/live/streamName

(3).自己編寫手機(jī)等設(shè)備的APP,錄制手機(jī)攝像頭捕捉到的頭像及麥克風(fēng)捕捉到的聲音,一起推送到服務(wù)器。

這類安卓或IOS的SDK也比較多??勺孕虚_(kāi)發(fā)。

b.使用播放器點(diǎn)播播放視頻

Windows和linux桌面版都可以是VLC播放器打開(kāi)http://你的IP:8080/hls/streamName.m3u8這個(gè)地址觀看直播(這個(gè)播放器不支持rtmp直播播放?)

c.使用Web瀏覽器在網(wǎng)頁(yè)上播放直播視頻

編寫HTML頁(yè)面index.html:

HLS Player

Your browser does not support HTML5 video.

修改IP,保存頁(yè)面至/var/www/hls/index.html中。
用蘋果設(shè)備訪問(wèn)http://你的IP:8080/index.html就可以看到該直播了。
由于H5兼容性問(wèn)題,只能在蘋果設(shè)備上用瀏覽器訪問(wèn)。
如果想要其他設(shè)備都能訪問(wèn)需做兼容處理。一般用flash嵌入網(wǎng)頁(yè)中去播放直播(rtmp://...)或點(diǎn)播(http://...xxx.m3u8)

d.使用nginx_rtmp_module擴(kuò)展包內(nèi)文件來(lái)同時(shí)錄制和直播測(cè)試

在nginx_rtmp_module擴(kuò)展包內(nèi)有測(cè)試文件,復(fù)制該文件夾內(nèi)的文件到站點(diǎn)根目錄(如/var/www/html)
cp -r /usr/local/src/nginx-rtmp-module/test/www/* /var/www/html;
修改index.html文件中rtmp的地址為 rtmp://你的IP/live/streamName
修改record.html文件中flashvars的streamer為 rtmp://你的IP/live 并改flashvars的file值為streamName
保存。

使用瀏覽器同時(shí)打開(kāi)兩個(gè)頁(yè)面 :

http://你的IP:8080/index.html(這個(gè)是直播觀看的地址) http://你的IP:8080/record.html(這個(gè)是直播錄像的地址,采用的是flash錄制電腦的攝像頭[請(qǐng)點(diǎn)擊允許])

三、其他
1.nginx-rtmp-module的配置請(qǐng)看Wikihttps://github.com/arut/nginx...
2.以上環(huán)境只是測(cè)試學(xué)習(xí)使用。公網(wǎng)上必須考慮權(quán)限安全,網(wǎng)絡(luò)帶寬,視頻質(zhì)量等。
3.此類產(chǎn)品網(wǎng)絡(luò)上也比較多,例如阿里云基礎(chǔ)服務(wù)中就有視頻直播點(diǎn)播的功能。

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處?;ヂ?lián)網(wǎng)+時(shí)代,時(shí)刻要保持學(xué)習(xí),攜手千鋒PHP,Dream It Possible。

標(biāo)簽:千鋒PHP,php培訓(xùn)


網(wǎng)站名稱:大概率nginx視頻直播/點(diǎn)播服務(wù)干貨分享
轉(zhuǎn)載源于:http://weahome.cn/article/cpghcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部