Jump to content

DVBViewer continues to play HLS livestreams even after it is stopped


Recommended Posts

Hello!
I noticed a strange behavior in DVBViewer when experimenting with livestreams controlled by me.
If I stop the livestream and the packets are still available on the server, DVBViewer starts to play them (sometimes even multiple times) again and then stops later.
This also occurs in the recordings. When trying to record with FFmpeg (using "codec copy" option), it shows a different behavior: the stream stops and recovers correctly.

I conducted two tests. The first involved live reproduction of the same streams in three different video players (DVBViewer, FFplay, and an HLS test website). Only DVBViewer exhibited the described behavior.

The second test focused on recording. I simultaneously recorded with DVBViewer and FFmpeg (I muxed the TS into MP4 to overcome the errors in DVBViewer). Playing the FFmpeg recording shows the stop and recovery of the stream, but DVBViewer plays a bit of an earlier section (then joins, but I didn't record the screen as long...).

You can find all the videos related to the tests at this link
https://drive.google.com/drive/folders/1yMAAJ7KbbW-oTCF84ldQiBLl58nCu5SJ?usp=sharing

DVBViewer version: 7.1.0.0
 

Thank you.

Edited by SuppaMan
Link to comment

Handling this issue requires the following:

  • Please test it with the latest DVBViewer version 7.2.5. DVBViewer 7.1.0 has been released almost three years ago, but internet stream playback is enhanced continuously.
  • If the issue still exists, reproduce it in DVBViewer debug mode (see Windows start menu -> DVBViewer). Don't let it run longer than necessary, because HLS playback creates a lot of log entries. After that, zip the resulting DVBViewer.log from the configuration folder and attach it here, or provide it via PM, if you don't want to it to become public.
  • Please describe in more detail, what you mean by "stop the live stream". Where and how do you stop it?
Link to comment

Thanks for the support and for maintaining this software always updated. I wasn't aware that so many versions had been released!
Unfortunately, the issue still persists in the latest version in the exact same way as in the older version, so I didn't record a video.
I have sent you a private message with the support.zip file.

Regarding the 'stopping the livestream' issue, what I meant was stopping the broadcast (RTMP), which halts the production of new HLS fragments and updates the manifest. The entire process is handled with variouse FFmpeg istances.

Edited by SuppaMan
Link to comment
vor 7 Stunden schrieb SuppaMan:

If I stop the livestream and the packets are still available on the server, DVBViewer starts to play them (sometimes even multiple times) again and then stops later (...) Regarding the 'stopping the livestream' issue, what I meant was stopping the broadcast (RTMP), which halts the production of new HLS fragments and updates the manifest.

 

I think this is the reason (from your DVBViewer.log received via PM):

 

27.01.24 12:33:18.259 TFileDevice          CheckAutoRetune  Retuning TS Stream Device

 

DVBViewer internally handles all kinds of HTTP network streams with TS Stream devices (a kind of virtual network device). By default they don't appear in the Settings -> Options -> Hardware -> Device List, because they are created on demand in the background. One of their default settings is "Retune on missing stream after 5 sec". This means, if no data is coming in for 5 seconds, the TS Stream Device gets closed and re-opened, which implies closing the connection to the server and re-establishing it.

 

This mechanism is quite useful if the (internet) connection to a server gets broken for some reason. DVBViewer will automatically re-establish it after 5 seconds and resume playback, if possible. It's no bug, but a feature :)

 

In your case no more segment is available after 7092.ts, so DVBViewer runs out of video/audio data. It reads the index.m3u8 again and again, hoping that it will announce the next .ts segment to be fetched, but it doesn't. This finally triggers retuning. Since your index.m3u8 is not updated anymore, DVBViewer restarts playback with 7087.ts.

 

If you want to change the default TS Stream settings and switch auto-retune off  by setting it to 0, you can add a TS Stream device to the device list (click the Add button on Options -> Hardware). DVBViewer will use it with priority. It will only create additional TS Stream devices dynamically in the background if "static" devices in the list are already occupied.

 

Link to comment
2 hours ago, Griga said:

If you want to change the default TS Stream settings and switch auto-retune off  by setting it to 0, you can add a TS Stream device to the device list (click the Add button on Options -> Hardware). DVBViewer will use it with priority. It will only create additional TS Stream devices dynamically in the background if "static" devices in the list are already occupied.


I can confirm that this works perfectly for my situation. Thank you for the advice!
I assumed it was something that could be disabled (indeed, I wasn't sure if it was a bug), but I didn't know how.
Additionally, I was unaware of the possibility of setting static TS Stream Devices.
 

In my case, since the number of HLS streams can grow, it would be very useful to avoid creating a fixed number of static TS Stream devices by having "global" default settings window for dynamic devices (where I can set 0 as the retuning value, as mentioned).
In any case, for now, creating static devices is sufficient, and the "issue" does not occur anymore.
 

Thank you for your valuable support :)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...