0
我知道這個話題不是一件容易的事,但我正在尋找一個Java類來將HLS流從服務器發送到客戶端。Java,服務HLS實時視頻流
我所生成的文件越來越大:
out.m3u8
out0.ts
out1.ts
out2.ts
out3.ts
out4.ts
out5.ts
out6.ts
這是使用的ffmpeg從原始來源產生:
ffmpeg -i http://sourceurl.com:9981/stream/channel/1232131 out.m3u8
我可以使用VLC播放。
不知何故,我需要將這個住流到客戶端。
在這一點上,我並不關心不同的比特率,我只是想在移動瀏覽器和桌面瀏覽器上進行直播。
我發現這個類:
https://github.com/Red5/red5-hls-plugin/blob/master/plugin/src/main/java/org/red5/stream/http/servlet/PlayList.java
這可能會做這樣的事情。
我已將hls.js引入我的應用程序,希望將其用於桌面系統。
但是HLS應該在沒有hls.js的情況下使用IOS設備。
應該如何從服務器提供HLS內容?很難找到一個好的簡單的例子來做到這一點。
任何人都知道要做到這一點的步驟?
我已經研究了Wowza和Red5只是一點點,但不確定他們可以在這個階段爲我提供什麼,似乎是設置過於複雜,只爲服務一些文件。但請向我解釋爲什麼不是這樣。
你介意闡述嗎?所以通常我會得到像out.m3u8文件,然後滾出out10.ts out11.ts等文件...我需要以某種方式打開它們並將它們提供給客戶端。它只是簡單地提供字節,並且當一個字節中沒有更多字節時,繼續下一個字節?或者我需要閱讀out.m3u8並處理某種協議?我不確定是否誠實,但我想用java而不是nginx來完成控制。 – momomo
你不對文件做任何事情。只要舉辦他們。通過http發佈指向m3u8文件的鏈接。播放器將會根據需要執行http獲取並提取文件。 – szatmary
這個人想通過HLS流「live」標準的HTTP服務器不這樣做。 Red5允許您流式傳輸到服務器,並通過HLS提供服務,實際上Red5 Pro在工作包中有這個功能。 –