| <!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> |