Results 1 to 7 of 7

Thread: iOS doesn't recognize DVR has stopped recording

  1. #1

    Default

    Quote Originally Posted by optics View Post
    Yes I have done this already.. Your patch did the trick for jwplayer.

    My second issue with a stopped livestream is with iOS and it may be related to the DVR rather than ngrp/smil.

    The issue now is that this always buffer/playing behavior is happening with the DVR mode with ios... when a broadcast stream ends, iOS playback doesnt appear to show to the player that the stream has ended..
    Just so I understand your DVR issue. You are recording a live stream and at the same time playing it back on iOS. The recording stops. Playback continues, but the iOS device doesn't know the recording ended. So what happens on the device? It's still trying to retrieve data?

    Does that describe it?

    There is a property "streamTimeout" that determines how long DVR keeps waiting for more content to record before determining that no more is coming. Its set to 300000 ms (5 minutes) to facilitate encoder resets/reboots that could occur. You could try lowering this value. See here: http://www.wowza.com/forums/content....-Configuration

    The other possibility is that we're not sending the info to the iOS device properly that there is no more live content. I'll add this to my list of things to verify.

    Scott

  2. #2

    Default

    I can pick this up on the DVR forum is since it applies there better.. but yes. If I stop a live broadcast while playing in iOS, it doesnt seem to notify the iOS player that the broadcast stopped and I cannot really react to it with javascript because of this. It may be the 5 minutes that you mention, I havent tried waiting that long.

    Also when new players arrive to watch the stream when it has already ended, it picks up and displays some last frame of the broadcast for some time and/or it will start the dvr buffer it seems... even though my mode of archiving is delete.

    i would think there should be a way for a live broadcast to just start and stop as expected, even with DVR enabled while actually broadcasting.

    i also cannot react to the fact that its stopped playing in an expected fashion.

  3. #3

    Default

    Quote Originally Posted by optics View Post
    I can pick this up on the DVR forum is since it applies there better.. but yes. If I stop a live broadcast while playing in iOS, it doesnt seem to notify the iOS player that the broadcast stopped and I cannot really react to it with javascript because of this. It may be the 5 minutes that you mention, I havent tried waiting that long.

    Also when new players arrive to watch the stream when it has already ended, it picks up and displays some last frame of the broadcast for some time and/or it will start the dvr buffer it seems... even though my mode of archiving is delete.
    For clarification. The iOS/OSMF and Silverlight players start playing at the live point if its a live stream and the earliest time if it is not live (recorded). nDVR presents one or the other based on whether Wowza is actively recording.

    What you are describing when new players connect after the stream has stopped recording sounds like DVR is still in recording mode. So if you crank down the streamTimeout for something that makes more sense for your application, DVR will switch from recording to not recording much quicker. Then when those additional players request the stream after recording has stopped, the player will receive a playlist with a fixed start and end (kinda a DVR/VOD hybrid) and iOS player will start playing at time 0.

    The archive mode of delete refers to what happens the next time you record myApp/myStream. It will delete the old one you recorded and start recording a new one. There is currently no "deleteOnRecordingEnd" mode where a DVR recording goes away immediately on stream disconnect.

    One option for finer grain control of start and stop recording is to use an HTTP Provider and the supplied API for this: http://www.wowza.com/forums/content....-Recording-API



    Quote Originally Posted by optics View Post
    i would think there should be a way for a live broadcast to just start and stop as expected, even with DVR enabled while actually broadcasting.
    Not sure what you mean by this. Do you mean you want recording to immediately stop when stream disconnects as we've been discussing? (If so, try setting the streamTimeout to a smaller value. For example, the size of your typical video keyframe might be a good value.)


    If not, can you describe a bit more what you mean.

    Scott

  4. #4

    Default

    --re: streamtimeout

    I will play with this, likely it will fix my issue.


    -- There is currently no "deleteOnRecordingEnd"


    I think this is what I'm looking for, or versionOnRecordingEnd... This would allow the JWplayer HTML 5 mode / Javascript to know that the live stream is not ready and then give the message "Waiting for live broadcast... via Javascript.

    If the default behavior is to keep playing from time 0 of the last broadcast then my labeling around the player is incorrect (calling it a live broadcast). It would also be fine, maybe even better than polling for a livestream, if I could identify to the users that this is not truly a live stream that they are watching.

    We only do 2 broadcasts for a small period of time during the week.

    The rest of the time (non broadcast times) people are coming to the site I would want them to know they are watching the *last* live broadcast vs the current live broadcast.

    Not sure what the right solution would be, what property would a module examine to know this... and how i would really communicate that to a ios player / viewer.. (Watermark?)
    Last edited by optics; 11-18-2011 at 10:02 AM.

  5. #5

    Default

    in other words, right now it seems just enabling DVR makes live broadcast streams into live + pre-recorded broadcast streams ...

    is there a way for me to recognize or differentiate or watermark the pre-recorded ones vs the live ones? otherwise post-broadcast users wont know the player is playing old stuff, and all the labeling around the player about what the user is watching being live is not accurate...

    I envisioned the dvr feature simply allowing me to allow users to pause, rewind, foward, timeshift etc while a live broadcast is going on...

    making my url stream into a 24x7 broadcast of the last live broadcast was unexpected... it may actually be a nice feature, as long as I can adjust my verbage and react within the player to whether there is a live stream going on at-the-moment

  6. #6

    Default

    Quote Originally Posted by optics View Post
    in other words, right now it seems just enabling DVR makes live broadcast streams into live + pre-recorded broadcast streams ...

    is there a way for me to recognize or differentiate or watermark the pre-recorded ones vs the live ones? otherwise post-broadcast users wont know the player is playing old stuff, and all the labeling around the player about what the user is watching being live is not accurate...

    I envisioned the dvr feature simply allowing me to allow users to pause, rewind, foward, timeshift etc while a live broadcast is going on...

    making my url stream into a 24x7 broadcast of the last live broadcast was unexpected... it may actually be a nice feature, as long as I can adjust my verbage and react within the player to whether there is a live stream going on at-the-moment
    I guess exactly what you want is not available.
    I think your vision of what the DVR is is correct, but it also leaves the older recording around. Which it sounds like you want, but you need to distinguish if it is currently live or recorded.

    A couple ideas of how you could use the API to accomplish this.

    You could write custom code using the API to detect if the stream had stopped recording. In which case you would have the info to provide to your users however you wish. For example, your front end could then make this recording available in the 'pre-recorded section' of your site versus the 'live feeds'.

    You could also write code that would detect when recording ended, and at that time delete the recording if you don't want it around.

    Or you could write custom code that detected when users connect to a live stream, and verify the recording they requested via DVR is recording or not and prevent them from connecting to it.



    The IDvrStreamStore

  7. #7

    Default

    thanks for your attention and advice

Similar Threads

  1. DVR not working on iOS 8?
    By papiandy in forum Wowza nDVR
    Replies: 35
    Last Post: 04-14-2016, 12:26 AM
  2. IOS live freezing in Origin-Edge DVR
    By dhamibirendra in forum Live Streaming and Encoder Discussion
    Replies: 8
    Last Post: 04-11-2014, 07:42 AM
  3. Replies: 14
    Last Post: 02-08-2012, 06:39 AM
  4. Recording has stopped having moved to 3.0.3 from 2.2.4
    By maxbrooks in forum General Forum
    Replies: 3
    Last Post: 12-02-2011, 09:39 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •