2016-02-25 24 views
0

我有一個運行在本地主機上的nodejs服務器,用於檢查傳入的URL,以及它是否看到.m3u8擴展將HLS流文件提供給客戶端進行回放。我也讓服務器啓動一個FFMPEG子進程來將UDP流轉換爲HLS。NodeJS服務器啓動FFMPEG捕獲UDP流不阻塞

傳遞到服務器的一個例子URL可能是 http://localhost:7070/udphelp/239.255.1.1:59001/out.m3u8

現在我的服務器提取的是UDP地址,開始FFMPEG到UDP流HLS精細轉換。但是,我發現由於UDP流是「永不停止」,這導致服務器上的塊阻止.m3u8和.ts文件的播放。

有沒有辦法讓FFMPEG在運行時不會阻塞服務器?或者是否有更好的服務器用於nodejs以外的其他服務器?

+0

可能重複的[如何在nodejs中創建線程](http://stackoverflow.com/questions/18613023/how-to-create-threads-in-nodejs) – jperezov

回答

0

所以,因爲我也沒在意FFmpeg的過程的IO我用

ffmpegProc = process.spawn('../start-ffmpeg', [udpAddress], stdio: 'ignore', detached: true}).unref() 

啓動的ffmpeg是一個bash腳本,以設置一些參數調用的ffmpeg和我通過在UDP地址。這使我的nodejs服務器在我啓動FFMPEG進程後繼續服務於HLS內容。