日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Node-Media-Server開源流行Nodejs流媒體服務(wù)器

 copy_left 2020-11-25

簡介

Node-Media-Server一個(gè) Node.js 實(shí)現(xiàn)的RTMP/HTTP/WebSocket/HLS/DASH流媒體服務(wù)器。

開源github地址:

https://github.com/illuspas/Node-Media-Server

github star: 3100+, MIT 協(xié)議

主要技術(shù)棧

nodejs, HLS,RTMP,DASH

特性

  • 跨平臺(tái)支持 Windows/Linux/Unix
  • 支持的音視頻編碼 H.264/H.265/AAC/SPEEX/NELLYMOSER
  • 支持緩存最近一個(gè)關(guān)鍵幀間隔數(shù)據(jù),實(shí)現(xiàn)RTMP協(xié)議秒開
  • 支持RTMP直播流轉(zhuǎn)LIVE-HTTP-FLV流,支持 flv.js 播放
  • 支持RTMP直播流轉(zhuǎn)LIVE-WebSocket-FLV,支持 flv.js 播放
  • 支持星域CDN風(fēng)格的鑒權(quán)
  • 支持事件回調(diào)
  • 支持https/wss加密傳輸
  • 支持服務(wù)器和流媒體信息統(tǒng)計(jì)
  • 支持RTMP直播流轉(zhuǎn)HLS,DASH直播流
  • 支持RTMP直播流錄制為MP4文件并開啟faststart
  • 支持RTMP/RTSP中繼
  • 支持API控制中繼

用法

docker 版本

docker run --name nms -d -p 1935:1935 -p 8000:8000 illuspas/node-media-server

git 版本

mkdir nmscd nmsgit clone https://github.com/illuspas/Node-Media-Servernpm inode app.js

使用多核模式運(yùn)行

node cluster.js

npm 版本(推薦)

mkdir nmscd nmsnpm install node-media-servervi app.js
const NodeMediaServer = require('node-media-server');const config = { rtmp: { port: 1935, chunk_size: 60000, gop_cache: true, ping: 30, ping_timeout: 60 }, http: { port: 8000, allow_origin: '*' }};var nms = new NodeMediaServer(config)nms.run();

直播發(fā)布

使用 FFmpeg 推流

如果你有一個(gè)音視頻編碼為H.264+AAC的視頻文件轉(zhuǎn)為直播:

ffmpeg -re -i INPUT_FILE_NAME -c copy -f flv rtmp://localhost/live/STREAM_NAME

或者有個(gè)其他編碼格式,需要轉(zhuǎn)為h.264+AAC的編碼再轉(zhuǎn)直播:

ffmpeg -re -i INPUT_FILE_NAME -c:v libx264 -preset veryfast -tune zerolatency -c:a aac -ar 44100 -f flv rtmp://localhost/live/STREAM_NAME

使用 OBS 推流

Settings -> Stream

Stream Type : Custom Streaming Server

URL : rtmp://localhost/live

Stream key : STREAM_NAME

播放直播流

RTMP 流格式

ffplay rtmp://localhost/live/STREAM_NAME

http-flv 流格式

ffplay http://localhost:8000/live/STREAM_NAME.flv

使用 flv.js 播放 http-flv 流格式

<script src='https://cdn./flv.js/1.5.0/flv.min.js'></script><video id='videoElement'></video><script>    if (flvjs.isSupported()) {        var videoElement = document.getElementById('videoElement');        var flvPlayer = flvjs.createPlayer({            type: 'flv',            url: 'http://localhost:8000/live/STREAM_NAME.flv'        });        flvPlayer.attachMediaElement(videoElement);        flvPlayer.load();        flvPlayer.play();    }</script>

使用 flv.js 播放 websocket-flv 流格式

<script src='https://cdn./flv.js/1.5.0/flv.min.js'></script><video id='videoElement'></video><script> if (flvjs.isSupported()) { var videoElement = document.getElementById('videoElement'); var flvPlayer = flvjs.createPlayer({ type: 'flv', url: 'ws://localhost:8000/live/STREAM_NAME.flv' }); flvPlayer.attachMediaElement(videoElement); flvPlayer.load(); flvPlayer.play(); }</script>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多