Skip to content

Commit 2c47490

Browse files
authored
Merge pull request #833 from w3c/aboba-patch-5
Encode/decode in worker sample: Update default settings and codec strings
2 parents 07bf77b + 9c6cb47 commit 2c47490

File tree

1 file changed

+20
-12
lines changed
  • samples/encode-decode-worker/js

1 file changed

+20
-12
lines changed

samples/encode-decode-worker/js/main.js

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
let preferredResolution;
4-
let mediaStream, bitrate = 100000;
4+
let mediaStream, bitrate = 300000;
55
let stopped = false;
66
let preferredCodec ="H264";
77
let mode = "L1T1";
@@ -59,27 +59,34 @@ function metrics_update(data) {
5959

6060
function metrics_report() {
6161
metrics.all.sort((a, b) => {
62-
return (100000 * (a.mediaTime - b.mediaTime) + a.output - b.output);
62+
return (100000 * (b.captureTime - a.captureTime) + b.output - a.output);
6363
});
64+
//addToEventLog('Metrics dump: ' + JSON.stringify(metrics.all));
6465
const len = metrics.all.length;
65-
let j = 0;
66+
if (len < 2) return;
6667
for (let i = 0; i < len ; i++ ) {
6768
if (metrics.all[i].output == 1) {
6869
const frameno = metrics.all[i].presentedFrames;
69-
const g2g = metrics.all[i].expectedDisplayTime - metrics.all[i-1].captureTime;
70+
const fps = metrics.all[i].fps;
71+
const elapsed = metrics.all[i].elapsed;
7072
const mediaTime = metrics.all[i].mediaTime;
71-
const captureTime = metrics.all[i-1].captureTime;
73+
const captureTime = metrics.all[i].captureTime;
7274
const expectedDisplayTime = metrics.all[i].expectedDisplayTime;
73-
const delay = metrics.all[i].expectedDisplayTime - metrics.all[i-1].expectedDisplayTime;
75+
const processingDuration = metrics.all[i].processingDuration;
76+
const receiveTime = metrics.all[i].receiveTime;
77+
const rtpTimestamp = metrics.all[i].rtpTimestamp;
78+
const g2g = Math.max(0, expectedDisplayTime - captureTime);
7479
const data = [frameno, g2g];
75-
const info = {frameno: frameno, g2g: g2g, mediaTime: mediaTime, captureTime: captureTime, expectedDisplayTime: expectedDisplayTime, delay: delay};
80+
const info = {frameno: frameno, elapsed: elapsed, g2g: g2g, captureTime: captureTime, expectedDisplayTime: expectedDisplayTime,
81+
processingDuration: processingDuration, fps: fps, mediaTime: mediaTime, rtpTimestamp: rtpTimestamp, receiveTime: receiveTime};
7682
e2e.all.push(data);
7783
display_metrics.all.push(info);
7884
}
7985
}
80-
// addToEventLog('Data dump: ' + JSON.stringify(e2e.all));
86+
//addToEventLog('E2E Data dump: ' + JSON.stringify(e2e.all));
87+
//addToEventLog('Output Data dump: ' + JSON.stringify(display_metrics.all));
8188
return {
82-
count: e2e.all.length
89+
count: metrics.all.length
8390
};
8491
}
8592

@@ -387,13 +394,14 @@ document.addEventListener('DOMContentLoaded', async function(event) {
387394

388395
switch(preferredCodec){
389396
case "H264":
390-
config.codec = "avc1.42002A"; // baseline profile, level 4.2
397+
config.codec = "avc1.42002A"; // baseline profile, level 4.2
391398
/* config.codec = "avc1.640028"; */
392399
config.avc = { format: "annexb" };
393400
config.pt = 1;
394401
break;
395402
case "H265":
396-
config.codec = "hvc1.1.6.L123.00"; // Main profile, level 4.1, main Tier
403+
config.codec = "hvc1.1.6.L120.00"; // Main profile, level 4.0, main Tier
404+
// config.codec = "hev1.1.6.L93.B0"; // Main profile, level 3.1, up to 1280 x [email protected]
397405
config.hevc = { format: "annexb" };
398406
config.pt = 2;
399407
break;
@@ -406,7 +414,7 @@ document.addEventListener('DOMContentLoaded', async function(event) {
406414
config.pt = 4;
407415
break;
408416
case "AV1":
409-
config.codec = "av01.0.08M.10.0.110.09" // AV1 Main Profile, level 4.0, Main tier, 10-bit content, non-monochrome, with 4:2:0 chroma subsampling
417+
config.codec = "av01.0.08M.08.0.110.09" // AV1 Main Profile, level 4.0, Main tier, 8-bit content, non-monochrome, with 4:2:0 chroma subsampling
410418
config.pt = 5;
411419
break;
412420
}

0 commit comments

Comments
 (0)