小程序升級實時音視頻錄制及播放能力,開放 Wi-Fi、NFC(HCE) 等硬件連接功能。同時提供按需加載、自定義組件和更多訪問層級等新特性,增強了第三方平臺的能力,以滿足日趨豐富的業(yè)務需求。
主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、響應式網(wǎng)站建設(shè)、程序開發(fā)、微網(wǎng)站、小程序制作等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設(shè)項目的能力。為更高效地連接用戶與商家,小程序提供了實時音視頻錄制及播放組件。符合類目要求的小程序自助開通后,可自建或使用云服務,實現(xiàn)單向、雙向甚至多向的音視頻功能,如在線授課、遠程咨詢、視頻客服,以及多人會議等。
2017-12-26微信小程序推送了這樣一條消息,文檔,代碼也是簡單的一筆帶過,用戶需要自建或使用云服務,實現(xiàn)單向、雙向甚至多向的音視頻功能。目前僅支持 flv, rtmp 格式。
本篇博客通過介紹使用nginx的rtmp模塊來使nginx服務支持rtmp協(xié)議,可以完成推流和播放的功能。
Linux (centos7),Nginx (openresty),nginx-rtmp-module
由于之前已經(jīng)安裝過了openresty,詳見博文。這里我們只需要安裝nginx-rtmp-module模塊即可。
下載并解壓模塊:
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
unzip master.zip
停止原來的Nginx服務:
nginx -s stop
配置并編輯:
./configure --add-module=/home/nginx-rtmp-module-master
make
復制Nginx:
## 路徑根據(jù)自己軟件路徑自行配置
cp /home/openresty/build/nginx-1.11.2/objs/nginx /usr/local/openresty/nginx/sbin
配置rtmp服務:
rtmp { #RTMP服務
server {
listen 1935; #//服務端口
chunk_size 4096; #//數(shù)據(jù)傳輸塊的大小
application vod {
play /opt/video; #//視頻文件存放位置。
}
application live{ #直播
live on;
}
}
}
檢查并啟動服務:
nginx -t
nginx
上傳一個視頻文件test.flv至/opt/video目錄。
下載一個VLC media player,工具欄-媒體-打開網(wǎng)絡串流-網(wǎng)絡,然后偶輸入網(wǎng)絡URL(rtmp://ip:port/vod/test.flv),點擊播放。
實時回看視頻服務器的配置:
events {
use epoll;# 選擇epoll模型可以達到最佳的IO性能
worker_connections 1024;
}
rtmp { #RTMP服務
server {
listen 1935; #//服務端口
chunk_size 4096; #//數(shù)據(jù)傳輸塊的大小
application vod {
play /opt/video; #//視頻文件存放位置。
}
application live{ #直播
live on;
hls on; #這個參數(shù)把直播服務器改造成實時回放服務器。
wait_key on; #對視頻切片進行保護,這樣就不會產(chǎn)生馬賽克了。
hls_path /opt/video/hls; #切片視頻文件存放位置。
hls_fragment 600s; #設(shè)置HLS片段長度。
hls_playlist_length 10m; #設(shè)置HLS播放列表長度,這里設(shè)置的是10分鐘。
hls_continuous on; #連續(xù)模式。
hls_cleanup on; #對多余的切片進行刪除。
hls_nested on; #嵌套模式。
}
}
}
HTTP服務:
server {
listen 80;
server_name rtmp.52itstyle.com;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /home/nginx-rtmp-module-master/;
}
location / {
root html;
index index.html index.htm;
}
location /live { #這里也是需要添加的字段。
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias /opt/video/hls;
expires -1;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
手機打開小程序頁面,進行視頻推流服務,稍后我們會在/opt/video/hls/itstyle 目錄下發(fā)現(xiàn)一些ts文件和index.m3u8文件。
注意 url中的itstyle可以隨便定義,相當于一個房間標識。
PC 直播是在 PC(windows/mac)上借助安裝的推流軟件 OBS(推薦)或者 XSplit 向RTMP視頻云的推流地址,推送經(jīng)過壓縮編碼現(xiàn)場活動、教學、投影或者游戲等畫面,同時觀眾可以通過和推流地址相對應的播放地址收看實時畫面。
PC 直播流程非常簡單,主要步驟:
推薦閱讀:第三方推流工具使用指南
xiaozhibo.html:
小直播
跨域問題crossdomain.xml放置在網(wǎng)站根目錄:
測試訪問地址:http://rtmp.52itstyle.com/xiaozhibo.html
參考文檔:
http://www.cnblogs.com/zx-admin/p/5783523.html
https://cloud.tencent.com/document/product/267
https://github.com/arut/nginx-rtmp-module/wiki/Directives#rtmp
作者: 小柒
出處: https://blog.52itstyle.com
分享是快樂的,也見證了個人成長歷程,文章大多都是工作經(jīng)驗總結(jié)以及平時學習積累,基于自身認知不足之處在所難免,也請大家指正,共同進步。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。