My video capture test needed a pixel reference beyond currentTime

A video-capture assertion can appear precise while checking the same value twice. I request 2.117 seconds, read back 2.117, and call the frame correct. What has that established about the pixels? In my paused-seek test, Firefox’s callback metadata also reported 2.117 seconds, while the canvas contained frame 63 of a 30 fps fixture. Its frame start time was 2.100 seconds. The agreement between two time values was not an independent image check.
To give the test a separate reference, I generated a 640×360 H.264 video with a frame number encoded in the pixels. It contained 180 frames at 30 fps and no B-frames. I made versions with fixed GOP lengths of 15, 60, and 180 frames. After drawing a frame into a canvas, the test read its binary number from pixel values. It did not infer the number from currentTime, and it did not rely on recognizing a printed timestamp with OCR.
I tested twelve target positions for each GOP version in Chromium 149, Firefox 151, and a WebKit 26.5 test build, for 108 seek operations. At a target of 2.117 seconds, the completed seek drew frame 63 across the three GOP lengths. That frame starts at 63 divided by 30, or 2.100 seconds; the following frame starts at about 2.133 seconds. A requested time can lie within a frame interval without being identical to its start timestamp.
This later illustration reloads the existing fixtures and draws after seeked. The pictures are generated measurement frames, not camera footage or an ImgIng interface. Their visible number is consistent with the independently decoded pixel marker. The illustration supports the chosen-frame comparison; it is not a screenshot of the original Firefox callback metadata. That distinction keeps the visible evidence from claiming more than it shows.
The Firefox observation changed how I would describe a test failure. In this paused-seek condition, its callback’s mediaTime matched the request, while the pixels identified the frame starting seventeen milliseconds earlier. That does not by itself mean Firefox returned an incorrect image: 2.117 falls inside the interval represented by frame 63. It means I cannot use that callback value alone as an independent measurement of frame identity in this setup. A test that requires exact equality could reject a reasonable result for the wrong reason.
The same fixture also caught a simpler mistake. Drawing immediately after assigning the new time returned the previously presented frame in 99 of the 108 operations. The remaining nine were initial same-frame moves from zero to 0.017 seconds. A fresh time property and a non-empty canvas were therefore insufficient together. The fixture had to distinguish pixels that satisfied the requested frame interval from pixels left over from a different interval.
I kept a product operation separate from that precision test. Using ImgIng, I opened its Chinese video-matting Beta workbench, loaded a six-second waves clip, moved to 2.117 seconds, and ran the current-frame preview after seeking. It reported no obvious subject. That confirms the observed processing result, not exact temporal accuracy of the product’s preview. I did not inspect its capture code or validate a thumbnail-export path.
The waves used for that product check came from Alexander Grebenkov’s Ocean waves at Lækjavik beach, Iceland, under CC BY 3.0, with trimming, resizing, and transcoding. The numbered fixture was generated separately. These were desktop tests, and the WebKit build was not released Safari. Variable frame rate, B-frames, and edited timelines were outside the fixture’s coverage; multiplying time by 30 would not be a valid universal reference.
For the next capture test, I would define the expected frame interval before writing the assertion, then retain requested time, callback metadata, and independently observed pixels in separate fields. The numbered fixture can verify the implementation under controlled timing. Real footage still needs checks through its actual input path. The useful guarantee is a result tied to an independent reference, with its coverage stated, rather than two identical numbers that happen to agree.