We've recently introduced the DVR feature set in Nimble Streamer which allows recording RTMP, RTSP, MPEG-TS, Icecast and SHOUTcast incoming streams for further playback.
One of the most anticipated scenarios of our customers is the ability to allow the playback the fragment in a specific time range. This is used for various use cases, especially in Electronic Program Guide (EPG) type of applications.
Nimble Streamer now supports time ranges for DVR playback. No special setup is needed. Follow general setup instruction to make settings and then use specially formed URL to get the content.
If your regular HLS DVR stream URL is
One of the most anticipated scenarios of our customers is the ability to allow the playback the fragment in a specific time range. This is used for various use cases, especially in Electronic Program Guide (EPG) type of applications.
Nimble Streamer now supports time ranges for DVR playback. No special setup is needed. Follow general setup instruction to make settings and then use specially formed URL to get the content.
If your regular HLS DVR stream URL is
http://your.domain.name/live/stream/playlist_dvr.m3u8then your range URL would be like
http://your.domain.name/live/stream/playlist_dvr_range-<UTC-start>-<duration>.m3u8where "UTC-start" is the fragment start time as UTC epoch time and "duration" is the length of the fragment in seconds.
The same applies to MPEG-DASH DVR. If your regular URL is
http://your.domain.name/live/stream/manifest_dvr.mpdthen your range URL would be like
http://your.domain.name/live/stream/manifest_dvr_range-<UTC-start>-<duration>.mpd
Examples:
If you need to set up only the start time and allow continuous playback from that point, use "now" value for that, e.g.:
The URLs above will work for default MPEG2TS container. If you'd like use fMP4 container for DVR playback, you'll need to use "fmp4" suffix like this:
http://your.domain.name/live/stream/playlist_dvr_range-1447069728-120.m3u8
It starts at given time and lasts for 2 minutes.http://your.domain.name/live/stream/manifest_dvr_range-1447069728-120.mpd
If you need to set up only the start time and allow continuous playback from that point, use "now" value for that, e.g.:
http://your.domain.name/live/stream/playlist_dvr_range-1447069728-now.m3u8
fMP4 container
The URLs above will work for default MPEG2TS container. If you'd like use fMP4 container for DVR playback, you'll need to use "fmp4" suffix like this:
http://192.168.0.1:8081/live/music/playlist_fmp4_dvr_range-1447069728-120.m3u8Adding that suffix will create DVR stream with fMP4 container.
Both MPEG2TS and fMP4 DVR streams can be played simultaneously. So you can provide your users with appropriate URLs depending on their device type.
When a player opens a playlist of a DVR which is still currently being recorded, most players will start the playback from some of the last chunks. This is because DVR stream is handled as "live" while it's in recording.
You can recommend players to start the playback from a certain time position by using #EXT-X-START:TIME-OFFSET=<time> tag in DVR chunk list.
Nimble Streamer allows specifying zero offset to define that tag. Use this URL specification:
You may also control DVR via API in order to automate your streaming infrastructure. If you'd like to export DVR into MP4, you can check this instruction.
Playback offset
When a player opens a playlist of a DVR which is still currently being recorded, most players will start the playback from some of the last chunks. This is because DVR stream is handled as "live" while it's in recording.
You can recommend players to start the playback from a certain time position by using #EXT-X-START:TIME-OFFSET=<time> tag in DVR chunk list.
Nimble Streamer allows specifying zero offset to define that tag. Use this URL specification:
http://your.domain.name/live/stream/playlist_dvr_range-<UTC-start>-<duration>_offset-0.m3u8to insert #EXT-X-START:TIME-OFFSET=0 tag. This will recommend a player to start its playback from the beginning of the chunklist. Here's an example:
http://your.domain.name/live/stream/playlist_dvr_range-1447069728-now_offset-0.m3u8
More DVR
Also notice that HLS DVR streams can be added to SLDP HTML5 Player for rewinding low latency streams. Read this article for details.
Take a look at this video tutorial to get familiar with DVR most useful features.
Read other documentation articles for more details and full description of available options.
If you have any feedback or feature requests for DVR, just let us know about it.
DVR timeline browsing and playback, DVR feature set, Nimble Streamer, Live streaming feature set, DASH streaming,
Related documentation
DVR timeline browsing and playback, DVR feature set, Nimble Streamer, Live streaming feature set, DASH streaming,
No comments:
Post a Comment
If you face any specific issue or want to ask some question to our team,
PLEASE USE OUR HELPDESK
This will give much faster and precise response.
Thank you.
Note: Only a member of this blog may post a comment.