Streaming is working with the h264 apache module, and I am even able to proxy the MP4 stream through Django. I can open the streaming video url in Firefox, with or without a timestamp, and it streams instantly (not using a player, just opening the MP4 url in Firefox).
But when we try to use JWPlayer5.7, smaller videos (around 300MB) wait until they are completely downloaded before playing, and large videos (around 700MB) lock up the player, and won't play at all, or return any debug metadata when we enable it. With older versions of JWPlayer (probably a year old or more) and videos that are around 300MB, the video opens slowly, but we are able to jump around in the file before it downloads the whole video file. There is just a delay. Large videos still don't work.
I've looked in the apache logs at the requests made to the Django proxy, and the timestamps are being requested for the smaller videos on older version of JWPlayer, but not for 5.7.
Here is the configuration we are using:
jwplayer("media").setup({
modes: [
{type: "flash", src: "http://www. example.com /media/scripts/player.swf"},
{type: "html5"}
],
file: "http://www. example.com /example_movie.mp4",
width: 702,
height:490,
provider: 'http',
'http.startparam':'start',
mediaid: 'example_movie.mp4',
image: 'http://www. example.com /?.jpg',
'plugins' : {'metaviewer-1': {
'position': 'left',
'size': '200'
}
}
});Here are the response headers:
HTTP/1.1 200 OK
Date: Fri, 16 Sep 2011 19:19:57 GMT
Server: Apache/2.2.8 (Ubuntu) mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch
Content-Length: 411576731
ETag: "a765037a5e53464793a1672aacba6e6e"
Content-Type: video/mp4
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Length: 411576731 (393M) [video/mp4]Any ideas on what could be the problem?
IS the MOOV atom (the metadata) of the MP4 placed at the front? It sounds like this is placed at the end, causing JW Player to load the entire video before it knows the metadata/timestamps.