Ogv, webm in Chrome and Opera not working

Hi,

i have problems with ogv and webm. Only Firefox is working on both. Here is what i get:

OGV:
FX 3.5.19 = ok
FX 3.6.17 = ok
FX 4 = ok
Chrome 11 = takes 1 minute until video plays / seeking does not work
Opera 10.54 = video plays but no slider in the seekbar
Opera 10.63 = video plays but no loading progress in the seekbar / seeking does not work
Opera 11.11 = video plays but site is loading forever and no slider in the seekbar

WEPM:
FX 4 = ok
Chrome 11 = ok
Opera 10.63 = ok but no loading progress in the seekbar
Opera 11.11 = ok but no loading progress in the seekbar

The code:

<video controls poster="./uploads/my-video_poster.jpg" width="320" height="240" class="shadow">
  <source src="./uploads/my-video.ogv" type='video/ogg; codecs="theora, vorbis"' />
</video>

<video controls poster="./uploads/my-video_poster.jpg" width="320" height="240" class="shadow">
  <source src="./uploads/my-video.webm" type='video/webm; codecs="vp8, vorbis"' />
</video>

The ogv video is made from a wmv that has black borders with ffmpeg2theora 0.27 with this settings:

--videoquality 8 --audioquality 3 --optimize --cropright 90 --cropleft 90 --framerate 25 --keyint 250 --width 320 --height 240 --aspect 4:3

Do you have a link to your site? Does your server support HTTP Range requests?

Here is the testsite: balkenhantel.de/test.html

The first video is ogv and the second is webm.
The ogv plays just ok in FX…
And i don’t now if its normal that there is no progress of the download in the progress bar in Opera.

I have this Mime in my htaccess:
AddType audio/ogg oga ogg
AddType video/ogg ogv
AddType video/mp4 mp4
AddType video/webm webm

First time i hear of Range requests. How can i check it?
Can i set it in the htaccess?

Disclaimer: I work for Opera and do quality assurance for <video>

Opera can’t determine the duration of the ogv video (video.duration is NaN).

I tried reducing your page to

<!doctype html>

<video controls width="320" height="240" class="shadow">
  <source src="./uploads/vortrag-horst-allmann-itk-2010.ogv?1" type='video/ogg; codecs="theora, vorbis"' />
  <p>dud net</p>
</video>

(I added a query to get around caching)

I checked the TCP traffic in wireshark. Opera sends this as the first request for the video:

GET /uploads/vortrag-horst-allmann-itk-2010.ogv?1 HTTP/1.1
User-Agent: Opera/9.80 (Macintosh; Intel Mac OS X 10.5.8; U; en) Presto/2.8.131 Version/11.11
Host: balkenhantel.de
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en,en-US;q=0.9,sv;q=0.8,nl;q=0.7,nb;q=0.6,da;q=0.5,de;q=0.4
Accept-Encoding: gzip, deflate
Referer: http://balkenhantel.de/test.html
Connection: Keep-Alive
Range: bytes=0-


The “Range: bytes=0-” header means that this is a Range request. The first request is an unbounded “from zero until the end of the file”, and then for Ogg (if the server supports Range requests) Opera aborts the connection when it has got the video’s first part, does a second Range request at the end to determine the duration (because Ogg doesn’t have metadata about the duration in the start of the file), and finally does a third Range request from where it left off at the beginning to download the rest of the file. (If the server didn’t support Range requests, Opera doesn’t abort the first connection but just continues loading and won’t know the video’s duration until it’s completely loaded.)

WebM has metadata about the duration in the beginning of the file so the seek to the end is not needed for WebM.

Seems according to WireShark that the server doesn’t give any bytes in response to this request, which is weird. Dunno what’s going on there.

Second request seeks to the end as expected (which means that your server does support Range requests):

GET /uploads/vortrag-horst-allmann-itk-2010.ogv?1 HTTP/1.1
User-Agent: Opera/9.80 (Macintosh; Intel Mac OS X 10.5.8; U; en) Presto/2.8.131 Version/11.11
Host: balkenhantel.de
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en,en-US;q=0.9,sv;q=0.8,nl;q=0.7,nb;q=0.6,da;q=0.5,de;q=0.4
Accept-Encoding: gzip, deflate
Referer: http://balkenhantel.de/test.html
If-Range: Mon, 30 May 2011 19:06:34 GMT
Connection: Keep-Alive
Range: bytes=99004150-99012649

Third request seeks back as expected:

GET /uploads/vortrag-horst-allmann-itk-2010.ogv?1 HTTP/1.1
User-Agent: Opera/9.80 (Macintosh; Intel Mac OS X 10.5.8; U; en) Presto/2.8.131 Version/11.11
Host: balkenhantel.de
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en,en-US;q=0.9,sv;q=0.8,nl;q=0.7,nb;q=0.6,da;q=0.5,de;q=0.4
Accept-Encoding: gzip, deflate
Referer: http://balkenhantel.de/test.html
If-Range: Mon, 30 May 2011 19:06:34 GMT
Connection: Keep-Alive
Range: bytes=36065-99004149

This third request gives away that the response of the first request gave 36065 bytes before Opera aborted the connection.

I don’t know yet why it doesn’t work as it should. I’ll ask our <video> developer if he can take a look. Please don’t make changes to your server configuration or remove the video file or anything so that we can analyze this properly. :slight_smile:

Hi,

i made a copy that i can work on it. So use this one: balkenhantel.de/test1.html

Here i found another webm and there is also no download status in the bar: HTML5, CSS3 for The New York Times

Ok, i did some more testing. I encoded now two files and i did it with ffmpeg2theora 0.27, Firefoog and the latest ffmpeg2theora build from firefogg nightly. So its not my encoding.

In the attchement you can see what happens on ogv in Chrome if i seek in the movie.
Would be nice if i where looking for some hollywood effects. Chrome does the pepper’s ghost *lol

That looks like Chrome missed a keyframe after the seek and applied subsequent video frames with the wrong keyframe. You can make this less likely to happen (or recover more quickly) by using shorter time between the keyframes when encoding. (Obviously it’s not a nice effect but trying to avoid it means that it takes longer time to seek when you happened to miss the previous keyframe, so it’s a tradeoff.)

Thanks. I have reproduced the problem in Opera on windows and mac os x, but it worked fine for me in Opera on linux. I’ll try copying the video file and testing locally and on a different server to see if it’s the video file that causes it.

Works fine for me on mac.

Ubuntu Opera 11.11:
ogv and webm working fine expect that there are also is no download progress in the bar.
Does Opera really show somewhere the download progress? Screenshot? How does it look? Light grey like in FX?

Ubuntu Chromium 11:
same problems as in Windows with ogv

I also uploaded the videos to another server and called them directly in the adressbar.
The problems are the same. So its not my html/javascript - this must be Opera and Chrome bugs!

If i call my ogv directly in the adressbar in Opera on Windows, then the site is loading forever…

This one plays, but has no seeker in the bar: http://upload.wikimedia.org/wikipedia/commons/7/79/Big_Buck_Bunny_small.ogv

No.

OK.

Yeah I also noticed that we’d never stop loading with your video.

I guess I’ll have to look at that one as well. :slight_smile:

Nice to have somebody from the scandinavian opera developers here :slight_smile:

Something new about this opera video-tag bug?

Can’t use the video-tag because of opera :frowning:

OGV does not work in opera 11.11 and WebM is loading forever…

Sorry i mean ogv and not webm.

Opera 10.54 = No seeking (ogv)
Opera 10.63 = ogv and webm OK
Opera 11.11 = ogv playing but no seeking and windows mouse arrow keeps loading forever

WebM is loading forever in Opera if you gzip it. Uncompressed it works just fine (see http://www.sitepoint.com/forums/html-xhtml-52/problem-gzipped-webm-opera-763322.html)

Just add the following to your .htaccess and you’re good to go


SetEnvIf REQUEST_URI webm$ no-gzip dont-vary

(assuming you ran into the same problem I did of course)

The videos are not gzipt.

I corrected this one post where i was saying its webm.
The problem is ogv:

Opera 10.54 = No seeking (ogv)
Opera 10.63 = ogv and webm OK
Opera 11.11 = ogv playing but no seeking and windows mouse arrow keeps loading forever