Skip to content

Instantly share code, notes, and snippets.

@vjeux
Created December 5, 2025 06:18
Show Gist options
  • Select an option

  • Save vjeux/30e90bd00f8d3ff565c76b3a41bfcf67 to your computer and use it in GitHub Desktop.

Select an option

Save vjeux/30e90bd00f8d3ff565c76b3a41bfcf67 to your computer and use it in GitHub Desktop.
webcodecs-node-results
RUN v4.0.15 /Users/vjeux/random/webcodecs-harness
✓ test/node-webcodecs/video-decoder.test.ts (13 tests) 7ms
❯ test/node-webcodecs/core-types.test.ts (22 tests | 2 failed) 8ms
✓ should create a VideoFrame from RGBA buffer 1ms
✓ should create a VideoFrame from I420 buffer 0ms
× should throw if required parameters are missing 2ms
✓ should return correct size for RGBA 0ms
✓ should return correct size for I420 0ms
✓ should create an independent copy 0ms
✓ should prevent further operations 0ms
× should create AudioData from f32 buffer 2ms
✓ should throw if required parameters are missing 0ms
✓ should return correct size for interleaved format 0ms
✓ should return correct size for planar format 0ms
✓ should create an independent copy 0ms
✓ should create a key chunk 0ms
✓ should create a delta chunk with duration 0ms
✓ should throw for invalid type 0ms
✓ should copy data to destination buffer 0ms
✓ should throw if destination is too small 0ms
✓ should create an audio chunk 0ms
✓ should copy data to destination buffer 0ms
✓ should use default values when no init provided 0ms
✓ should accept init values 0ms
✓ should serialize to JSON 0ms
stderr | test/node-webcodecs/integration/hevc-av1-encode-decode.test.js > HEVCEncodeSingleFrame
Encoder error: Error: FFmpeg: x265 [info]: HEVC encoder version 4.1+1-1d117be
x265 [info]: build info [Mac OS X][clang 17.0.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: NEON Neon_DotProd Neon_I8MM
x265 [info]: Main profile, Level-2 (Main tier)
at Socket.<anonymous> (file:///Users/vjeux/random/webcodecs-harness/node_modules/webcodecs-node/dist/ffmpeg/FFmpegProcess.js:278:32)
at Socket.emit (node:events:507:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)
stderr | test/node-webcodecs/integration/hevc-av1-encode-decode.test.js > HEVCEncodeMultipleFrames
Encoder error: Error: FFmpeg: x265 [info]: Thread pool created using 10 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 3 / wpp(4 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 20 / 2 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : ABR-500 kbps / 0.60
x265 [info]: VBV/HRD buffer / max-rate / init : 1000 / 750 / 0.750
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing deblock sao
at Socket.<anonymous> (file:///Users/vjeux/random/webcodecs-harness/node_modules/webcodecs-node/dist/ffmpeg/FFmpegProcess.js:278:32)
at Socket.emit (node:events:507:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)
stderr | test/node-webcodecs/integration/hevc-av1-encode-decode.test.js > HEVCEncodeMultipleFrames
Encoder error: Error: FFmpeg: x265 [info]: frame I: 1, Avg QP:29.75 kb/s: 31.92
encoded 1 frames in 0.01s (75.35 fps), 31.92 kb/s, Avg QP:29.75
at Socket.<anonymous> (file:///Users/vjeux/random/webcodecs-harness/node_modules/webcodecs-node/dist/ffmpeg/FFmpegProcess.js:278:32)
at Socket.emit (node:events:507:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)
❯ test/webcodecs-polyfill/video-encoder.test.ts (3 tests | 2 failed) 209ms
× VideoEncoder lifecycle 8ms
✓ AVC & Annex B 105ms
× HEVC & Annex B 95ms
❯ test/webcodecs-polyfill/audio-encoder.test.ts (3 tests | 2 failed) 199ms
× AudioEncoder lifecycle 9ms
✓ AAC in ADTS format 93ms
× FLAC description 96ms
✓ test/node-webcodecs/video-encoder.test.ts (11 tests) 4ms
stderr | test/node-webcodecs/integration/encode-decode.test.js > EncodeI420Frame
Encoder error: Error: FFmpeg: [rawvideo @ 0x79b030e00] Invalid buffer size, packet size 96000 < expected frame_size 115200
[vist#0:0/rawvideo @ 0x79ac4c180] [dec:rawvideo @ 0x79b024280] Error submitting packet to decoder: Invalid argument
at Socket.<anonymous> (file:///Users/vjeux/random/webcodecs-harness/node_modules/webcodecs-node/dist/ffmpeg/FFmpegProcess.js:278:32)
at Socket.emit (node:events:507:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)
stderr | test/node-webcodecs/integration/encode-decode.test.js > EncodeDecode
Encoder error: Error: FFmpeg: [vist#0:0/rawvideo @ 0x79ac4c180] [dec:rawvideo @ 0x79b024280] Decode error rate 1 exceeds maximum 0.666667
[vist#0:0/rawvideo @ 0x79ac4c180] [dec:rawvideo @ 0x79b024280] Task finished with error code: -1145393733 (Error number -1145393733 occurred)
[vist#0:0/rawvideo @ 0x79ac4c180] [dec:rawvideo @ 0x79b024280] Terminating thread with return code -1145393733 (Error number -1145393733 occurred)
at Socket.<anonymous> (file:///Users/vjeux/random/webcodecs-harness/node_modules/webcodecs-node/dist/ffmpeg/FFmpegProcess.js:278:32)
at Socket.emit (node:events:507:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)
❯ test/webcodecs-polyfill/video-decoder.test.ts (1 test | 1 failed) 23ms
× VideoDecoder lifecycle 22ms
❯ test/webcodecs-polyfill/audio-decoder.test.ts (1 test | 1 failed) 11ms
× AudioDecoder lifecycle 11ms
❯ test/node-webcodecs/integration/encode-decode.test.js (4 tests | 1 failed) 428ms
✓ EncodeSingleFrame 70ms
✓ EncodeMultipleFrames 104ms
× EncodeI420Frame 116ms
✓ EncodeDecode 137ms
❯ test/node-webcodecs/integration/hevc-av1-encode-decode.test.js (5 tests | 3 failed) 501ms
× HEVCEncodeSingleFrame 84ms
× HEVCEncodeMultipleFrames 74ms
× HEVCEncodeDecode 109ms
✓ AV1EncodeSingleFrame 109ms
✓ AV1EncodeDecode 123ms
✓ test/node-webcodecs/integration/audio-encode-decode.test.js (4 tests) 175ms
✓ test/node-webcodecs/integration/vp8-vp9-encode-decode.test.js (7 tests) 593ms
stdout | test/webcodecs-polyfill/video-conversion.test.ts > Conversion: encode and decode HEVC
Error when probing encoder support. Falling back to rerender path. Error:
at VideoEncoderWrapper.ensureEncoder (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/media-source.js:335:30)
at VideoEncoderWrapper.add (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/media-source.js:236:26)
at VideoSampleSource.add (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/media-source.js:782:30)
at Conversion._processVideoTrack (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/conversion.js:588:42)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at Conversion._init (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/conversion.js:296:17)
at Conversion.init (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/conversion.js:133:9)
at /Users/vjeux/random/webcodecs-harness/test/webcodecs-polyfill/video-conversion.test.ts:85:21
at file:///Users/vjeux/random/webcodecs-harness/node_modules/@vitest/runner/dist/index.js:915:20
stderr | test/webcodecs-polyfill/video-conversion.test.ts > Conversion: encode and decode HEVC
Output has already been finalized.
stdout | test/webcodecs-polyfill/video-conversion.test.ts > Conversion: encode and decode VP9
Error when probing encoder support. Falling back to rerender path. Error: First packet must be a key packet.
at IsobmffMuxer.validateAndNormalizeTimestamp (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/muxer.js:28:23)
at IsobmffMuxer.addEncodedVideoPacket (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-muxer.js:298:36)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
stderr | test/webcodecs-polyfill/video-conversion.test.ts > Conversion: encode and decode VP9
Output has already been finalized.
stdout | test/webcodecs-polyfill/video-conversion.test.ts > Conversion: encode and decode AV1
Error when probing encoder support. Falling back to rerender path. Error: First packet must be a key packet.
at IsobmffMuxer.validateAndNormalizeTimestamp (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/muxer.js:28:23)
at IsobmffMuxer.addEncodedVideoPacket (file:///Users/vjeux/random/webcodecs-harness/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-muxer.js:298:36)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
stderr | test/webcodecs-polyfill/video-conversion.test.ts > Conversion: encode and decode AV1
Output has already been finalized.
❯ test/webcodecs-polyfill/video-conversion.test.ts (5 tests | 5 failed) 50013ms
× Conversion: encode and decode AVC 10003ms
× Conversion: encode and decode HEVC 10003ms
× Conversion: encode and decode VP8 10002ms
× Conversion: encode and decode VP9 10000ms
× Conversion: encode and decode AV1 10002ms
❯ test/webcodecs-polyfill/audio-conversion.test.ts 3/5
Test Files 8 failed | 4 passed (13)
Tests 20 failed | 62 passed (84)
Start at 22:14:48
Duration 164.66s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment