red5-hls-plugin icon indicating copy to clipboard operation
red5-hls-plugin copied to clipboard

hls-plugin does not pick up interrupted stream

Open zwerfkat opened this issue 10 years ago • 2 comments

To test the hls-plugin, I use ffmpeg to generate an rtmp stream and the plugin starts to generate m3u8/ts files. When I quit ffmpeg and restart it, the rtmp stream is picked up again by red5 server but the hls-plugin does not continue anymore. That means when there is a network interruption, the hls generation will stop and does not continue. Or in other words, it doesn't seem to be possible to restart an already used hls stream.

zwerfkat avatar Jun 15 '15 17:06 zwerfkat

On 6/15/2015 10:15 AM, zwerfkat wrote:

To test the hls-plugin, I use ffmpeg to generate an rtmp stream and the plugin starts to generate m3u8/ts files. When I quit ffmpeg and restart it, the rtmp stream is picked up again by red5 server but the hls-plugin does not continue anymore. That means when there is a network interruption, the hls generation will stop and does not continue. Or in other words, it doesn't seem to be possible to restart an already used hls stream.

— Reply to this email directly or view it on GitHub https://github.com/Red5/red5-hls-plugin/issues/16.

could it be related to timestamps?

do an experiment.

Repeat the steps. After 20 seconds stop ffmpeg for 10 seconds, and restart the broadcast.

get your subscriber on in the first segment and watch for the expected pause.

10 to 20 seconds after the rebroadcast, do you observe the stream resume with your player?

If the answer is no, can you then refresh the subscriber/player and see the stream resume?

Andy--S avatar Jun 15 '15 20:06 Andy--S

Hi Andy, such an experiment doesn't make sense, since I directly look into the directory where the segments are stored. Here I can see they are not continued after a small break in the stream. Although theoretically reading the m3u8 file by a client could (but shouldn't) restart the hls plugin. So I did your experiment anyway but the result is as expected: no new ts segments are generated, the client simply stops playing where the stream was paused and does not resume, also not after a refresh. Also, the m3u8 file is not updated anymore after the break: the hls-plugin seams to be completely stopped with respect to the interrupted stream. Only when I use a new stream name it is up and running again.

By the way, there are some differences in the example its red5-web.xml/web.xml files compared to the readme.txt file. Like queueSleepTime and startStreamOnRequest are not present in the example. But it looks like these properties are not being used at all in the plugin and/or red5 itself (searched for them in the git repository).

zwerfkat avatar Jun 17 '15 07:06 zwerfkat