play until done flag needs watch dog timer

  • 1
  • Problem
  • Updated 3 years ago
  • In Progress

In playing videos (using vimeo) it has been noted that they sometimes hang due to something happening on the internet and dropping a connection.  It would be nice if when using the play until done flag in a placeholder that the duration value could be used to specify a watch dog timer for the video so that if the video hangs the watch dog timer would end the video.

For example if the video normally plays for 5 minutes a maximum duration of 360 seconds (6 minutes) could be specified for the watch dog timer.  A duration value of 0 could be used to specify that no watch dog timer would be specified and the video would be played until done.

It currently appears that the duration field is ignored when the play until done flag is set so I think this could be done with little impact.

Is there an alternate way of doing this functionality, it would sure be nice to prevent presentation hangs due to the internet...

Photo of Gary Buck

Gary Buck

  • 300 Points 250 badge 2x thumb

Posted 3 years ago

  • 1
Photo of Nathan Cummins

Nathan Cummins

  • 662 Points 500 badge 2x thumb
I have a similar problem on Ubuntu 14.04 with the Chrome App. Although the video appears to be caching... sometimes..? I do often get an issue where if the internet connection is dropped around when the video is set to play, it'll hang on a black screen indefinitely.

Killing the process fixes the problem (as it just restarts the player), and I've resorted to writing a little script that takes a screenshot every minute, and if the last 30 screenshots are 100% the same, it will restart the player automatically.
Photo of William Oneal

William Oneal, Champion

  • 13,770 Points 10k badge 2x thumb
The biggest problem we have with vimeo, is there isn't really any error handling in there api. Unlike Youtube if there is an error i can retry and play again. On vimeo all you really get is a simple player with not that many options in the api. We are looking into this but getting it right will take some time. Will update when we figure something out. 
Photo of Blake Freeman

Blake Freeman, Official Rep

  • 36,116 Points 20k badge 2x thumb
Gary, Nathan,

Are both of you using the Vimeo HTML5 Widget?
Photo of Gary Buck

Gary Buck

  • 300 Points 250 badge 2x thumb
Hi Blake;
Yes I am using the Vimeo HTML5 Widget.
-Gary
Photo of Nathan Cummins

Nathan Cummins

  • 662 Points 500 badge 2x thumb
Blake

I have to admit I accidentally missed the vimeo part in Gary's original post - mine is doing this with the standard video player (did it worse with the video gadget as that doesn't cache).
Photo of Gary Buck

Gary Buck

  • 300 Points 250 badge 2x thumb
I see this as a problem for a lot of widgets that play until done and getting information over the internet.  A watch dog timer would protect the presentation from hanging.  Is there a way of implementing a watch dog timer?
Photo of Nathan Cummins

Nathan Cummins

  • 662 Points 500 badge 2x thumb
Gary

It would be nice to have this implemented globally into the RV application, though for the interim until something is put in place, if you're using Ubuntu you might be interested in doing something similar to what I do:

I set up my displays (using crontab) to take a screenshot every minute with "imagemagick" using the "import" command. In the same script I then compare the last 45 screenshots (hence 45 minutes) worth of screenshots with a tool called "findimagedupes". If findimagedupes reports that the last 45 minutes worth of screenshots are the same, it means the video has hung, and has been hung for about 45 minutes, and it will kill the RV application and start a new one.

It's not the most elegant solution, and there's probably a better way to do this, but it seems to work for me for the time being.

Hope this helps!
Photo of Justin

Justin, Employee

  • 2,526 Points 2k badge 2x thumb
Nathan,

That is an interesting solution. Thanks for sharing!

Justin
Photo of William Oneal

William Oneal, Champion

  • 13,770 Points 10k badge 2x thumb
Ok you might need to restart your players for this to take effect but i think i have something that fixes that issue. What i have done is when the viewer sends the signal to play, the player sets an interval. This interval checks the current time of the player every 15 seconds. This check will keep up with time and at anytime the check finds that the player is at the same spot as it was before it will unload the video and reload it back. When the video finishes i clear the interval and set the check to 0. The interval will then be reloaded once the viewer says play again. Hopefully this will fix the hanging issues that vimeo causes. :)
Photo of Justin

Justin, Employee

  • 2,526 Points 2k badge 2x thumb
Thanks William!