Chrome HTML 5 Video Tests

1. One video, no autoplay

Test: One video, no autoplay
Desired behavior: Page loads, video is displayed and the number 0 should be in each of the circles of the preview video frame.

Notes from Windows 7 with Chrome 23:

Begin with default Chrome settings:

1. Go to the page for the first time, video should appear and the number 6 is in each of the circles of the preview video frame. This is not the desired behavior.

2. Open up chrome settings: chrome://flags/ and turn off gpu acceleration.

3. Reload the page.

The video should appear and now the number 0 is in each of the circles of the preview video frame. This is the desired behavior.


The above can be seen in Chrome 23 on Windows 7. Chrome 24 (beta) and Chrome 25 (nightly) do not have this problem on Windows 7. Chrome 23 on MacOS does not have this problem either.

Conclusion:
Chrome 23 with GPU acceleration enabled in Windows 7 initially displays half a second (the video is 12 frames a second) into the video when it first displays it. The time reported by video.currentTime is 0 in both the cases of gpu acceleration being on or off.

This is why we are initially seeing the leaders of our time machine videos in Windows 7 with gpu acceleration enabled. This additional test depicts the same issue but with one of our videos containing leaders. With gpu acceleration on, we see the static for the preview frame. With it off, we initially see black. Once we click play with gpu acceleration on, we see static when a new video is brought in (this happens every 5 seconds). With it off, we just see a flash. This all matches the behavior of our time machine viewer with Chrome 23 on Windows 7.

Interestingly, if the videos are cached (ie let it play through until it loops with the panning) then we don't always see the static.



2. Two videos, same url

Test: 2 videos, same url (Time Machine website encoded videos)
Desired behavior: Page loads, both videos load and autoplay.

Notes from Windows 7/MacOS 10.7.4 with Chrome 23:

Begin with default Chrome settings:

1. Go to the page for the first time, both videos load and autoplay.

2. Reload the page. Only one of the videos starts (the one on the left).

Wait until ~1:06 sec into the first and the second video starts playing. This amount of time is probably just related to the amount of data buffered for the first video

3. Reload the page.

Seek ~10 seconds into the first video by clicking on the timeline. Sometimes the second video will start, sometimes it wont. Sometimes when the second video does start by seeking the first video, the first video will then freeze. You can reproduce this freeze much more easily by just clicking the time handler. When the first video is frozen, it will unfreeze by seeking in the second video. I can then alternate the freezing by clicking the time handler of each. Sometimes I can get both to remain frozen and clicking play/pause or seeking on the timeline does nothing.

4. Clear cache. Reload the page. Both videos load and autoplay.

5. Reload the page. Only one of the videos starts (the one on the left).

6. Disable cache. Load the page. Both videos load and autoplay.

7. Reload the page. Both vidoes load and autoplay.

8. Reload again. Both videos still load and autoplay. Also unable to get the videos to freeze with the cache disabled.


The above can be seen in Chrome 23, Chrome 24 (beta), and Chrome 25 (nightly) on both Windows 7 and MacOS 10.7.4

Using a different mp4 video though does not reproduce the issues above. See this page. It's the exact same test but with a different mp4 file.

Note: It seems that the number of frames in the video is a factor in all this. Using shorter videos such as the one linked to above or Blue Marble don't exhibit the issues just described.

Conclusion:
Chrome's cache does not play well with our mp4 videos. Improper encoding on our part? Proper encoding but Chrome is tripping on some setting of the video?