{"id":13692095,"url":"https://github.com/WowzaMediaSystems/webrtc-examples","last_synced_at":"2025-05-02T19:31:15.119Z","repository":{"id":54814418,"uuid":"252774185","full_name":"WowzaMediaSystems/webrtc-examples","owner":"WowzaMediaSystems","description":"WebRTC Examples","archived":false,"fork":false,"pushed_at":"2024-08-15T13:49:23.000Z","size":591,"stargazers_count":119,"open_issues_count":4,"forks_count":43,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-04-08T06:49:11.204Z","etag":null,"topics":["webrtc","webrtc-demos"],"latest_commit_sha":null,"homepage":"https://www.wowza.com/developer/webrtc/dev-view-publish","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WowzaMediaSystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-03T15:42:14.000Z","updated_at":"2025-03-14T11:55:47.000Z","dependencies_parsed_at":"2024-08-14T19:34:58.038Z","dependency_job_id":"975c897c-dc02-4f7f-849e-ec5736d71d26","html_url":"https://github.com/WowzaMediaSystems/webrtc-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WowzaMediaSystems%2Fwebrtc-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WowzaMediaSystems%2Fwebrtc-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WowzaMediaSystems%2Fwebrtc-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WowzaMediaSystems%2Fwebrtc-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WowzaMediaSystems","download_url":"https://codeload.github.com/WowzaMediaSystems/webrtc-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252095201,"owners_count":21693873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["webrtc","webrtc-demos"],"created_at":"2024-08-02T17:00:53.610Z","updated_at":"2025-05-02T19:31:14.533Z","avatar_url":"https://github.com/WowzaMediaSystems.png","language":"HTML","funding_links":[],"categories":["Samples","HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"![wowza media systems logo](images/wowza-logo.png)\n# Wowza Media Systems WebRTC client examples\n\nWelcome to the official Wowza Media Systems Web Real-time Communication (WebRTC) client examples. These examples are intended to help developers bring live streaming into their applications using WebRTC.\n\n## Contents\n\n- [About WebRTC](#about-webrtc)\n- [Getting Started](#getting-started)\n  - [Set up WebRTC](#set-up-webrtc)\n  - [Directory Structure](#directory-structure)\n  - [Run the example code](#run-the-example-code)\n- [Resources](#more-resources)\n- [Contact](#contact-us)\n- [License](#license)\n\n## About WebRTC\nWebRTC is an open source project to enable real-time communication of audio, video, and data in web browsers and native apps. WebRTC is designed for peer-to-peer connections but includes fallbacks in case direct connections fail. Encryption is mandatory for WebRTC streams, so you must host the examples on a web server using SSL encryption.\n\n## Getting started\n\n### Set up WebRTC\nYou'll need to set up WebRTC for Wowza Streaming Engine to run the examples. For more information, see [Set up WebRTC streaming with Wowza Streaming Engine](https://www.wowza.com/docs/how-to-use-webrtc-with-wowza-streaming-engine).\n\n### Directory structure\n\nIn the `src` folder, you'll find examples for jQuery and React:\n\n- `jquery-example`\n    - `css` and `images` - Assets used by the example HTML pages.\n    - `lib` - JavaScript files for managing the WebRTC setup.\n        - `AvMenu.js` - Controls the selected input for publishing and screen sharing.\n        - `Settings.js` - Creates a set of configuration settings and copy functionality.\n        - `SoundMeter.js` - Provides an audio meter.\n        - `WowzaMungeSDP.js` - Generates an SDP for peer signaling.\n        - `WowzaPeerConnectionPlay.js` - Manages the signaling process for playback.\n        - `WowzaPeerConnectionPublish.js` - Manages the signaling process for publishing.\n        - `WowzaWebRTCPlay.js` - Controls the playback state.\n        - `WowzaWebRTCPublish.js` - Controls the publishing state.\n        - 'SecureToken.js' - Builds a secure token hash.\n    - `dev-view-publish.html` - Example HTML page that can publish a WebRTC stream to Wowza Streaming Engine with video, audio, and screen share input.\n    - `dev-view-play.html` - Example HTML page that can play back a WebRTC stream from Wowza Streaming Engine.\n    - `play.js` and `publish.js` - JavaScript files that use files imported from the `lib` folder to control the WebRTC setup for publishing and playing streams.\n- `react-example`\n    - `src`\n        - `components` - React components for the composite, meeting, play, and publish examples.\n            - `composite` - CSS and JavaScript files that use components imported from other files to control the setup for compositing a WebRTC stream with multiple video and audio tracks.\n                - `Composite.js`\n                - `CompositePublisher.js`\n                - `Compositor.js`\n            - `media`\n                - `CompositorUserMedia.js`\n            - `meeting` - JavaScript files that use components imported from other files to control the setup for publishing a WebRTC stream with multiple participants.\n            - `play` -  JavaScript files that use components imported from other files to control the WebRTC setup for playing streams.\n            - `publish` - JavaScript files that use components imported from other files to control the WebRTC setup for publishing streams.\n        - `webrtc` - JavaScript files for managing the WebRTC setup.\n            - `replaceAudioTrack.js`\n            - `replaceVideoTrack.js`\n\n### Run the example code\n\n\u003e\t**Note:**\n\u003e   If you're not running the examples from `localhost`, an HTTPS connection is required for WebRTC to access local devices.\n\n#### React\n\nIn the `react-example` directory, run the following command:\n```bash\n $ npm start\n ```\n\n#### jQuery\n\nIn the `jquery-example` directory, run the following command:\n```bash\n $ npx serve\n ```\n\nGo to `localhost:5000/src/` to view the examples.\n\n## More resources\n\n- [WebRTC workflows in Wowza Streaming Engine](https://www.wowza.com/docs/webrtc-workflows-in-wowza-streaming-engine)\n\n## Contact us\n\nWowza Media Systems™, LLC\n\nWowza Media Systems provides developers with a platform to create streaming applications and solutions. See the [Wowza Developer Portal](https://www.wowza.com/resources/developers) to learn more about our APIs and SDKs.\n\n## License\n\nThis code is distributed under the [BSD 3-Clause License](LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWowzaMediaSystems%2Fwebrtc-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWowzaMediaSystems%2Fwebrtc-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWowzaMediaSystems%2Fwebrtc-examples/lists"}