2014-11-15 39 views
0

我有直播電視頻道的MPEG-TS H.264視頻流,我想直播它爲iPhone,但作爲HLS需要使段(如:10s)段和使用M3u8發送它。爲此目前我正在使用互聯網上的ffmpeg和m3u8-segmenter。但我不想使用ffmpeg進行轉碼,因爲我的硬件有內存+處理器限制。是否有可能我只能製作MPEG-TS視頻片段並直接發送給iPhone。Http Live Streaming without Encoding

我已經嘗試了很多方法,但無法做到這一點。我正在使用基於Linux的系統。

請幫助我,沒有轉碼視頻直播到iPhone的流程是什麼。

謝謝

+1

你在這種情況下使用ffmpeg?如果它已經以MPEG-TS的形式出現,您應該可以直接將它提供給m3u8分段器。你可以發佈你用於ffmpeg和m3u8-segmenter的示例代碼和調用嗎? –

+0

@JeffreyPfau 我使用以下格式:
的ffmpeg -i [鏈接] HTTP://本地主機:6954/myvideo.ts -f MPEGTS - (所有其他參數用於編碼)| ./m3u8-segmenter -i - -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u [鏈接] http://domain.com/
由於我的視頻已經是MPEG-TS格式,那就是爲什麼我只是想用這個視頻製作片段並使用m3u8將它發送給我的iPhone。 我不確定,如何做到這一點。 –

+0

我也試過這個: ./m3u8-segmenter -i(到MPEG-TS視頻的URL)-d 10 -p outputdir /前綴-m outputdir/output.m3u8 -u(域前綴) –

回答

1

最好的方法去做這件事是完全切掉FFmpeg。雖然您可以強制FFmpeg不進行轉碼(使用-c copy),但由於視頻已直接以MPEG-TS格式存儲在直播視頻流中,因此最好直接使用它。

因爲它看起來像視頻即將通過HTTP,你可以用curl將它打印到標準輸出:

curl http://localhost:6954/myvideo.ts | ./m3u8-segmenter -i - -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u http://domain.com

或者,如果你想使用wget,而不是curl,它類似於

wget -O - http://localhost:6954/myvideo.ts | ./m3u8-segmenter -i - -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u http://domain.com

wgetcurl可能已經安裝在您的系統上EM。

+0

好極了!好主意。我會做的。我希望它能解決我的問題。 感謝好友 –

+0

@Jeffery:這對VLC來說工作得很好。但它不會在iPad上播放。它繼續加載。我在模擬器和設備上也嘗試過它。現在文件大小很大。通過代碼轉換,文件大小在1-2mb之間,現在它們相當大,3-15mb取決於原始視頻。 –

+0

是否有任何特殊格式可以被iOS設備理解爲HLS。因爲VLC播放的格式,但IOS不。 –