摘要:本文由云社區(qū)發(fā)表作者周超導(dǎo)語隨著直播平臺(tái)爆發(fā)式增長,直播平臺(tái)從端轉(zhuǎn)戰(zhàn)移動(dòng)端,緊跟著直播的潮流,自己學(xué)習(xí)實(shí)現(xiàn)了一套簡單的視頻推流的解決方案,下面就給小伙伴們分享一下自己學(xué)習(xí)過程中的經(jīng)驗(yàn)。對(duì)多余的切片進(jìn)行刪除。
本文由云+社區(qū)發(fā)表導(dǎo)語作者:周超
隨著直播平臺(tái)爆發(fā)式增長,直播平臺(tái)從 PC 端轉(zhuǎn)戰(zhàn)移動(dòng)端,緊跟著直播的潮流,自己學(xué)習(xí)實(shí)現(xiàn)了一套簡單的 H5 視頻推流的解決方案,下面就給小伙伴們分享一下自己學(xué)習(xí)過程中的經(jīng)驗(yàn)。
環(huán)境部署1、 配置、安裝 Nginx;
# ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.39 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/openssl/ # make # make install # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //啟動(dòng)Ngnix # netstat -ano | grep 80
2、擴(kuò)展 Nginx-rtmp-module
# ./configure --add-module=/usr/local/src/nginx-rtmp-module-master --with-openssl=/usr/local/openssl/ # make # make install # vim /usr/local/ngnix/conf/ngnix.conf include /usr/localcinx-rtmp-module-master/testinx.conf; # vim /usr/localcinx-rtmp-module-master/testinx.conf rtmp { server { listen 1935; application myapp { live on; #record keyframes; #record_path /tmp; #record_max_size 128K; #record_interval 30s; #record_suffix .this.is.flv; #on_publish http://localhost:8080/publish; #on_play http://localhost:8080/play; #on_record_done http://localhost:8080/record_done; } application hls { live on; hls on; hls_path /tmp/hls; hls_fragment 10s; #每個(gè)視頻切片的時(shí)長。 hls_playlist_length 60s; #總共可以回看的事件,這里設(shè)置的是1分鐘。 #hls_continuous on; #連續(xù)模式。 #hls_cleanup on; #對(duì)多余的切片進(jìn)行刪除。 #hls_nested on; #嵌套模式。 } } } http { server { listen 8080; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /usr/local/src/nginx-rtmp-module-master/; } location /control { rtmp_control all; } location /rtmp-publisher { root /usr/local/src/nginx-rtmp-module-master/test; } location /hls { #server hls fragments types{ application/vnd.apple.mpegurl m3u8; video/mp2t ts; } #alias /tmp/app; root /tmp; expires -1; } location / { root /usr/local/src/nginx-rtmp-module-master/test/rtmp-publisher; } } } # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf # netstat -ltn #查看端口的監(jiān)聽情況
3、 安裝 ffmpeg
# ./configure --prefix=/usr/local/ffmpeg # make # make install
至于 ffmpeg 是啥?詳細(xì)介紹可以參考:《【經(jīng)驗(yàn)分享】音頻、視頻利器——FFmpeg》
模擬推流先來看一個(gè)簡單的直播推流流程圖 :
用 flv 視頻文件模擬 RTMP 視頻流:
# ffmpeg -re -i test.flv -vcodec copy -acodec copy -f flv rtmp://ip:1935/myapp/mystream
注:RTMP(Real Time Messaging Protocol),實(shí)時(shí)消息傳輸協(xié)議,用于視頻直播協(xié)議,和 HLS 一樣都可以應(yīng)用于視頻直播;
用 mp4 視頻文件模擬 HLS 視頻流:
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://ip:1935/hls/mystream
注:HLS(HTTP Live Streaming), Apple 的動(dòng)態(tài)碼率自適應(yīng)技術(shù),主要用于 PC 和 Apple 終端的音視頻服務(wù);
HLS 的請(qǐng)求流程:
H5 如何在頁面上播放視頻總結(jié)
根據(jù)以上的流程,簡單的實(shí)現(xiàn)了一個(gè)視頻直播的流服務(wù)器來推送直播流,并且可以在 H5 頁面上播放視頻流。有興趣的小伙伴們也可以嘗試一下~
此文已由騰訊云+社區(qū)在各渠道發(fā)布
獲取更多新鮮技術(shù)干貨,可以關(guān)注我們騰訊云技術(shù)社區(qū)-云加社區(qū)官方號(hào)及知乎機(jī)構(gòu)號(hào)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/101813.html
摘要:本文由云社區(qū)發(fā)表作者周超導(dǎo)語隨著直播平臺(tái)爆發(fā)式增長,直播平臺(tái)從端轉(zhuǎn)戰(zhàn)移動(dòng)端,緊跟著直播的潮流,自己學(xué)習(xí)實(shí)現(xiàn)了一套簡單的視頻推流的解決方案,下面就給小伙伴們分享一下自己學(xué)習(xí)過程中的經(jīng)驗(yàn)。對(duì)多余的切片進(jìn)行刪除。 本文由云+社區(qū)發(fā)表作者:周超 導(dǎo)語 隨著直播平臺(tái)爆發(fā)式增長,直播平臺(tái)從 PC 端轉(zhuǎn)戰(zhàn)移動(dòng)端,緊跟著直播的潮流,自己學(xué)習(xí)實(shí)現(xiàn)了一套簡單的 H5 視頻推流的解決方案,下面就給小伙伴們...
摘要:本文由云社區(qū)發(fā)表作者周超導(dǎo)語導(dǎo)語隨著直播平臺(tái)爆發(fā)式增長,直播平臺(tái)從端轉(zhuǎn)戰(zhàn)移動(dòng)端,緊跟著直播的潮流,自己學(xué)習(xí)實(shí)現(xiàn)了一套簡單的視頻推流的解決方案,下面就給小伙伴們分享一下自己學(xué)習(xí)過程中的經(jīng)驗(yàn)。對(duì)多余的切片進(jìn)行刪除。 本文由云+社區(qū)發(fā)表 作者:周超 導(dǎo)語 隨著直播平臺(tái)爆發(fā)式增長,直播平臺(tái)從 PC 端轉(zhuǎn)戰(zhàn)移動(dòng)端,緊跟著直播的潮流,自己學(xué)習(xí)實(shí)現(xiàn)了一套簡單的 H5 視頻推流的解決方案,下面就給小伙...
閱讀 6912·2021-09-22 15:08
閱讀 1920·2021-08-24 10:03
閱讀 2437·2021-08-20 09:36
閱讀 1315·2020-12-03 17:22
閱讀 2474·2019-08-30 15:55
閱讀 905·2019-08-29 16:13
閱讀 3053·2019-08-29 12:41
閱讀 3249·2019-08-26 12:12