# Chromium skipping in HTML5 videos



## nakal (Feb 5, 2012)

I don't know exactly what is happening in Chromium, but I cannot play many HTML5 videos, because they skip during playback and this is extremely annoying.

Can you please tell me, if you have the same problem?

Here is a video which begins to skip at about 1 min 20 sec (you can also fast forward to this point, it has nothing to do with buffers underrunning):
http://www.youtube.com/watch?v=VzFpg271sm8

Don't forget to setup HTML5 here:
http://www.youtube.com/html5

One more thing... I am *not talking* about Flash(tm), I've never used it and I don't want to use it. So, "install Flash plugin(tm)" is not an option for me.


----------



## adamk (Feb 5, 2012)

Half way through that video, no skipping here with Chromium 16.  What version are you using?  Do other browsers that support HTML5 video work any better for you?

EDIT:  Just finished it...  The only point where there was the slightest problem with playback was when plasma decided to switch wallpapers..


----------



## nakal (Feb 5, 2012)

> What version are you using?



chromium-16.0.912.77



> Do other browsers that support HTML5 video work any better for you?



The video does not work in Firefox 9 at all. The HTML5 video is encoded with h.264 and it is not supported in Firefox.

It starts to skip reproducibly at the time where the guy takes a full wall of blocks and holds them in the air about 2:00. I tried to view the video in full screen mode, I forgot to tell.


----------



## adamk (Feb 5, 2012)

Well, for what it's worth, the video does work in Firefox 9 in FreeBSD: http://thorn.visualtech.com/video-in-firefox.jpg

I will say that full screen, though, the video performs much worse for me in firefox than in chromium.

Now, back to Chromium...  In full screen, the video does not perform as well as it does at its normal size.  There's a slight jitteriness to it any time there's a lot of activity on the screen.  If I had to guess, I'd say that it's either due to both video drivers not being that great and HTML5 video playback just not being optimized for X.  I think I'm going to try in Windows and see what happens, as well as in Slackware with the proprietary drivers from AMD.

Adam


----------



## nakal (Feb 5, 2012)

How can you view this video in a format that Firefox does not support at all? I don't get it? What does the HTML5 site on Youtube tell you about support of h.264? And do you really have HTML5 enabled or do you use Flash Plugin?

I am not talking about slightly skipping, I am talking about stopping totally for several seconds and then skipping frames and stopping again, skipping frames. Sound is also totally unusable.

Two things happen on Chromium when the tab with the video is open (playing or paused, even after 1 hour, when the video is already fully downloaded and buffered):

Network load (incoming) is at about 40-160kB/s.
Chromium writes to disk at 5-20 MB/s, but the used space is not decreasing according to "df -k".

What the hell is going on here!?


----------



## adamk (Feb 5, 2012)

Youtube tells me that h.264 is not supported.  And yes, I'm quite sure I'm not using the flash plugin: http://thorn.visualtech.com/youtube-html5-video.png 

So, presumably, this video is available in webm, and not h.264 (or, perhaps, in addition to h.264).  How are you determining the format being used?

Back to chromium...  I do not experience the skipping you're talking about with the fullscreen video in chrome.  I do experience it with the fullscreen video in firefox, however.  I'm also not seeing the disk usage you're referring to, either.  If you select the "Show video info" option in the context menu for the video, does anything interesting show up?

Adam


----------



## drhowarddrfine (Feb 5, 2012)

Not all videos are being served as HTML5 and that one is not for me. (Yes, I am in the test.)


----------



## adamk (Feb 5, 2012)

If you have flash installed, it will default to flash for that video, whether you are in the trial or not.  Remove the plugin, restart your browser, and it will use HTML5.  Not sure why it does that.

Adam


----------



## nakal (Feb 6, 2012)

> So, presumably, this video is available in webm, and not h.264 (or, perhaps, in addition to h.264). How are you determining the format being used?



Oh sorry... it appears that the VideoDownloader Addon (in Firefox) does some magic behind the download. I thought, it would download the video as it is served.

You are right... I decoded the URI from the source directly and it appears to be WebM VP8.



> If you select the "Show video info" option in the context menu for the video, does anything interesting show up?



No, it even does not mention that thousands of frames are being dropped. It shows 2 or 9, even the video does not move entirely after one minute. The effect which I get here is independent of full screen mode. It happens in the small playback window, too.

I can see several warnings when I start chromium in the terminal, I noticed:

```
[5249:106112000:5866963291:ERROR:platform_thread_posix.cc(253)] Not implemented reached in
     static void base::PlatformThread::SetThreadPriority(pthread*, base::ThreadPriority)
```

I wished I could figure out what causes all the massive write access during viewing of the youtube webpage. But the writes don't cause any space to be allocated on disk (this is also not swap) that's why I am a bit confused.


----------



## nakal (Feb 7, 2012)

I traced it a bit with truss. It's a bit hard, because Chromium crashes very often when trying to attach. I don't know the reason why.

But I now know why I have such a big number of writes. Chromium seems to open thousands of temporary files in /tmp and instantly deletes them again. This looks like below but many, many more.


```
...
open("/tmp/.org.chromium.Chromium.RANDOMSTR",O_RDWR|O_CREAT|O_EXCL,0600) = 121 (0x79)
open("/tmp/.org.chromium.Chromium.RANDOMSTR",O_RDWR|O_CREAT|O_EXCL,0600) = 121 (0x79)
open("/tmp/.org.chromium.Chromium.RANDOMSTR",O_RDWR|O_CREAT|O_EXCL,0600) = 121 (0x79)
...
```

I can imagine that the disk buffers run full after some time and Chromium has to wait until all the weird write accesses are flushed to the disk. And then nothing moves anymore.

Whatever is causing this, this seems to be a bug. I cannot imagine a scenario where a video player needs to open that many temporary files.


----------



## nakal (Feb 16, 2012)

Update:

I filed a bug here. I think the developer identified the problem.

If you know how to provide something like /dev/shm on Linux to Chromium for FreeBSD, please comment on this bug.


----------



## nakal (Feb 17, 2012)

*Chromium needs a bugfix*

Hi people,

Is there anyone who has some time to write a bugfix for Chromium to port it from Linuxish /dev/shm to shm_open(2) and/or other POSIX compliant alternatives to speed up Chromium for FreeBSD?


----------

