Web Streams (with WAIT for download)
Posted: Fri Feb 20, 2015 4:34 pm
Some MP4's in webfeeds never play because the whole file [edit: or enough of the file if the header is at the start] needs to be downloaded first.
I'm wondering if there's a timeout in UMS to let it wait longer for the file to download, or if I can get Jumpy to do the downloading for me?
[Edit: thinking about a simple downloader script that you could use to save your http files for later playback. Will post at the bottom once I've tested it.]
-------
UMS seems to handle web streams quite well natively (so long as web.conf contains the actual streams, and not just a webpage -- use channels/jumpy plugin for web urls).
However, there are heaps of pseudo-streams out there that serve up a .MOV or .MP4 without the correct 'web optimised' format (they should put the MOOV containers at the start of the file).
In an ideal world you would use a better streaming format, to use the qt-faststart binary to optimise the mp4 for streaming, however we are not always in control of what is out there.
If we add say "videofeed.Web,TED=http://feeds.feedburner.com/tedtalks_video" to the web.conf file, UMS lists the correct streams, however it will always time out because UMS tells the encoder to send the http://...mp4 file to a named pipe on the local filesystem, but because of the container format, the encoder needs to download the entire file (let's say 50mb) before it sends any data to the pipe. It could take a couple of minutes to download the full file, by this time UMS has given up waiting to find any information in the named pipe, and gives up.
Is there somewhere we could set a (really large) timeout value so we could prevent this from happening?
I'm wondering if there's a timeout in UMS to let it wait longer for the file to download, or if I can get Jumpy to do the downloading for me?
[Edit: thinking about a simple downloader script that you could use to save your http files for later playback. Will post at the bottom once I've tested it.]
-------
UMS seems to handle web streams quite well natively (so long as web.conf contains the actual streams, and not just a webpage -- use channels/jumpy plugin for web urls).
However, there are heaps of pseudo-streams out there that serve up a .MOV or .MP4 without the correct 'web optimised' format (they should put the MOOV containers at the start of the file).
In an ideal world you would use a better streaming format, to use the qt-faststart binary to optimise the mp4 for streaming, however we are not always in control of what is out there.
If we add say "videofeed.Web,TED=http://feeds.feedburner.com/tedtalks_video" to the web.conf file, UMS lists the correct streams, however it will always time out because UMS tells the encoder to send the http://...mp4 file to a named pipe on the local filesystem, but because of the container format, the encoder needs to download the entire file (let's say 50mb) before it sends any data to the pipe. It could take a couple of minutes to download the full file, by this time UMS has given up waiting to find any information in the named pipe, and gives up.
Is there somewhere we could set a (really large) timeout value so we could prevent this from happening?