1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>WebRTC Internals</title>
<link rel="stylesheet" href="webrtc_internals.css" />
<script type="module" src="webrtc_internals.js"></script>
</head>
<body>
<details class="peer-connection-dump-root">
<summary>Create a WebRTC-Internals dump</summary>
<div id="dump">
<button id="dump-click-target">
Download the "webrtc-internals dump"
</button>
<label>
<input type="checkbox" id="dump-checkbox" />
Compress result
</label>
<p class="dumps-info">
The "webrtc-internals" dump is a JSON file containing API calls,
events and getStats-like information about RTCPeerConnection objects
as well as getUsermedia/getDisplayMedia API calls.
</p>
</div>
</details>
<details class="peer-connection-dump-root">
<summary>Create diagnostic audio recordings</summary>
<div>
<p id="audio-recording-click-target">
<label>
<input type="checkbox" id="audio-recording-checkbox" />
Enable diagnostic audio recordings
</label>
</p>
<p class="dumps-info">
A diagnostic audio recording is used for analyzing audio problems. It
consists of several files and contains the audio played out to the
speaker (output) and captured from the microphone (input). The data
is saved locally. Checking this box will enable recordings of all
ongoing input and output audio streams (including non-WebRTC streams)
and for future audio streams. When the box is unchecked or this page
is closed, all ongoing recordings will be stopped and this recording
functionality disabled. Recording audio from multiple tabs is
supported as well as multiple recordings from the same tab.
</p>
<p>
When enabling, select a base filename to which the following suffixes
will be added:
</p>
<div>
<base filename>.<render process ID>.aec_dump.<AEC dump
recording ID>
</div>
<div><base filename>.input.<stream recording ID>.wav</div>
<div><base filename>.output.<stream recording ID>.wav</div>
<p class="dumps-info">
It is recommended to choose a new base filename each time the feature
is enabled to avoid ending up with partially overwritten or unusable
audio files.
</p>
</div>
</details>
<details class="peer-connection-dump-root">
<summary>Create diagnostic packet recordings</summary>
<div id="packet-recording">
<p id="packet-recording-click-target">
<label id="packet-recording-label">
<input type="checkbox" id="packet-recording-checkbox" disabled />
Enable diagnostic packet and event recording
</label>
</p>
<p class="dumps-info">
A diagnostic packet and event recording can be used for analyzing
various issues related to thread starvation, jitter buffers or
bandwidth estimation. Two types of data are logged. First, incoming
and outgoing RTP headers and RTCP packets are logged. These do not
include any audio or video information, nor any other types of
personally identifiable information (so no IP addresses or URLs).
Checking this box will enable the recording for ongoing WebRTC calls
and for future WebRTC calls. When the box is unchecked or this page
is closed, all ongoing recordings will be stopped and this recording
functionality will be disabled for future WebRTC calls. Recording in
multiple tabs or multiple recordings in the same tab will cause
multiple log files to be created. When enabling, a filename for the
recording can be entered. The entered filename is used as a base, to
which the following suffixes will be appended.
</p>
<p>
<base filename>_<date>_<timestamp>_<render
process ID>_<recording ID>
</p>
<p class="dumps-info">
If a file with the same name already exists, it will be overwritten.
No more than 5 logfiles will be created, and each of them is limited
to 60MB of storage. On Android these limits are 3 files of at most
10MB each. When the limit is reached, the checkbox must be unchecked
and rechecked to resume logging.
</p>
</div>
</details>
<details class="peer-connection-dump-root">
<summary>Create DataChannel message recordings</summary>
<div id="datachannel-recording">
<p id="datachannel-recording-click-target">
<label id="datachannel-recording-label">
<input type="checkbox" id="datachannel-recording-checkbox"/>
Enable DataChannel message recordings
</label>
</p>
<p class="dumps-info">
<b>
NOTE: DataChannel messages will also be recorded in incognito mode!
</b>
</p>
<p class="dumps-info">
A DataChannel message recording records all text and binary message
sent over a PeerConnection. Text messages are recorded in plain text,
and binary messages are recorded using base64 encoding. One file is
created per PeerConnection. Checking this box will enable recording
for ongoing and future PeerConnections. When the box is unchecked all
ongoing recordings will be stopped and this recording functionality
will be disabled for future PeerConnections. DataChannel message
recording use the following file format:
</p>
<p>
<base filename>_<date>_<timestamp>_<render
process ID>_<recording ID>
</p>
<p class="dumps-info">
If a file with the same name already exists, it will be overwritten.
No more than 5 logfiles will be created, and each of them is limited
to 100MB of storage. On Android these limits are 3 files of at most
10MB each. When the limit is reached, the checkbox must be unchecked
and rechecked to resume logging.
</p>
</div>
</details>
<p id="content-root"></p>
<template id="statsrow-template"><td></td><td></td><td><a></a></td></template>
<template id="summary-template"><td><details><summary></summary></details></td></template>
<template id="container-template"><div></div><div><canvas></canvas></div></template>
<template id="summary-span-template"><summary><span></span></summary></template>
<template id="checkbox-template"><input type="checkbox" checked></template>
<template id="trth-template"><tbody><tr><th colspan=2></th></tr></tbody></template>
<template id="td-colspan-template"><td colspan=2></td></template>
<template id="time-event-template"><tbody><tr><th>Time</th><th class="update-log-header-event">Event</th></tr></tbody></template>
</body>
</html>
|