11'use strict' ;
22
33let preferredResolution ;
4- let mediaStream , bitrate = 100000 ;
4+ let mediaStream , bitrate = 300000 ;
55let stopped = false ;
66let preferredCodec = "H264" ;
77let mode = "L1T1" ;
@@ -59,27 +59,34 @@ function metrics_update(data) {
5959
6060function 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 720@33.7
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