views:

5326

answers:

6

Hi folks,

I have the following code:

<video width="640" height="360" controls id="video-player" poster="/movies/poster.png">
 <source src="/movies/640x360.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
 <source src="/movies/640x360.ogv" type='video/ogg; codecs="theora, vorbis"'> 
</video>

I'm using Rails (Mongrel in development and Mongrel+Apache in production).

Chrome (Mac and Win) can play either file (tested by one then the other source tags) whether locally or from my production servers.

Safari (Mac and Win) can play the mp4 file fine locally but not from production.

Firefox 3.6 won't play the video in either OS. I just get a grey cross in the middle of the video player area.

I've made sure that both Mongrel and Apache in each case have the right MIME types set.

From Chrome's results I know there is nothing inherently wrong with my video files or the way the files are being asked for or delivered.

Anyone got any clues? Or even a clue as to how to diagnose the problem?

For Firefox I looked at https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox where it refers to an 'error' event and an 'error' attribute. It seems the 'error' event is thrown pretty well straightaway and at that time there is no error attribute. Very helpful... :(

Help enormously appreciated!

Thanks in advance...

Chris

A: 

Hello Chris,

I see in the documentation page an example like this:

<source src="foo.ogg" type="video/ogg; codecs=&quot;dirac, speex&quot;">

Maybe you should enclose the codec information with &quot; entities instead of actual quotes and the type attribute with quotes instead of apostrophes.

You can also try removing the codec info altogether.

bogdanvursu
Thanks, bogdanvursu. Much appreciated. I'm afraid neither suggestion helped, though.:(
qryss
If the outer quotes are double quotes, you need to escape the inner quotes as ". If the outer quotes are single quotes, you don't need to escape inner double quotes.
hsivonen
+4  A: 

The HTTP Content-Type for .ogg should be application/ogg (video/ogg for .ogv) and for .mp4 it should be video/mp4. You can check using the Web Sniffer.

hsivonen
Aha. I checked that using Web Sniffer and I'm getting the Content-type as application/octet-stream.So for Firefox anyway it's looking like a MIME type problem.Thank you - I shall see if I can fix it from here.There's still the problem with Safari, though...:(
qryss
I had an Apache misconfiguration and the Firefox problem was indeed due to the wrong MIME types being sent.Thank you!
qryss
I have now also found my Safari problem - another misconfiguration.All problems resolved!Thanks, guys.
qryss
A: 

Just remove the inner quotes - they confuse Firefox. You can just use "video/ogg; codecs=theora,vorbis".

Also, that markup works in my Minefiled 3.7a5pre, so if your ogv file doesn't play, it may be a bogus file. How did you create it? You might want to register a bug with Firefox.

Silvia
A: 

Incidentally, .ogv files are video, so "video/ogg", .ogg files are Vorbis audio, so "audio/ogg" and .oga files are general Ogg audio, so also "audio/ogg". Checked in Firefox and work. "application/ogg" is deprecated for all audio or video uses. See http://www.rfc-editor.org/rfc/rfc5334.txt

Silvia
A: 

same problem yaar

rajasekhar
A: 

I'm having the same problem ... so if you can post how you fixed it. I'd really appreciate the help!

nfrees