2015-07-03 66 views

回答

1

完全可能的,你只需要增加你的應用程序配置部分的HLS播放列表的長度。我一直在使用這個,它運作良好!

例如,如果你想30分鐘的DVR播放列表很長,你把這個你的應用程序段內:

hls_playlist_length 30m; 

更多信息,請參見nginx-rtmp-module hls directives

注意

您使用需求的HLS播放器支持這一點。例如,Flowplayer/JWplayer會然後Safari(Mac/iOS)只播放直播流。

+0

這有效!你有沒有試過將hls_playlist_length設置爲非常大的東西,比如說4h?它如何影響性能?例如。我認爲Wowza將它的DVR存儲在內存中,所以更長的流可以使它填滿堆空間。 nginx-rtmp-module是否也將DVR存儲在內存中,或者是那些.ts塊和.m3u8播放列表中的所有內容? – trong

+1

有了Wowza的經驗,我可以告訴你它也將它的DVR塊存儲在磁盤上。正如你可以想象的,有數百個客戶訪問這些部分對於性能來說是非常可怕的。 Nginx也是如此。解決方案是創建一個RAM磁盤,並通過更改HLS段路徑將它們存儲在「內存」中。 'mount -t tmpfs -o size = 512m tmpfs/mnt/ramdisk'然後指向你的nginx配置,以便它將HLS存儲在'/ mnt/ramdisk'中。你會發現你的服務器在用這種方式服務很多客戶端時沒有問題(只要你有足夠的RAM來存儲這些段)! –