記一次FMS對接Node-Media-Server轉碼服務
今天接到一個客戶的需求,在不改變原有fms服務架構的條件下,對接到Node-Media-Server,提供HLS,RTMP,Http-FLV音訊轉碼服務。
客戶以往的架構是Flash在web推流,h.264+Nellymoser編碼格式,這個用flash播放是沒有問題的
但flash基本上已經被各大瀏覽器列為預設關閉了,Android,iOS等更是不會支援的。
現在的解決方案,基本上是往HLS,http-flv上靠。HLS提供了最好的相容性,http-flv提供了最低的延遲性,各有優劣吧。
關鍵的問題在於,Nellymoser編碼並非網際網路上廣泛支援的格式,就算服務端支援,客戶端也基本(有h5客戶端支援,後話)上無法實現。
因此,還需要使用ffmpeg進行音訊轉碼。
架構如下:
fms端使用服務端程式設計,監聽 onPublish 和 onUnpublish事件,將引數通過http傳參呼叫。
nms增加api介面收到開始和結束的事件,調起ffmpeg從fms拉流,copy視訊,aac編碼音訊後推到Node-Media-Server。
Node-Media-Server則提供出hls,rtmp,http-flv流。
注:NodePlayer.js 支援web瀏覽器解碼播放Nellymoser,並且相容各大pc,安卓,iPhone。
需要了解方案詳情歡迎與我聯絡