• Stars
    star
    117
  • Rank 300,795 (Top 6 %)
  • Language
    HTML
  • License
    BSD 3-Clause "New...
  • Created over 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

WebRTC Examples

wowza media systems logo

Wowza Media Systems WebRTC client examples

Welcome 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.

Contents

About WebRTC

WebRTC 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.

Getting started

Set up WebRTC

You'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.

Directory structure

In the src folder, you'll find examples for jQuery and React:

  • jquery-example
    • css and images - Assets used by the example HTML pages.
    • lib - JavaScript files for managing the WebRTC setup.
      • AvMenu.js - Controls the selected input for publishing and screen sharing.
      • Settings.js - Creates a set of configuration settings and copy functionality.
      • SoundMeter.js - Provides an audio meter.
      • WowzaMungeSDP.js - Generates an SDP for peer signaling.
      • WowzaPeerConnectionPlay.js - Manages the signaling process for playback.
      • WowzaPeerConnectionPublish.js - Manages the signaling process for publishing.
      • WowzaWebRTCPlay.js - Controls the playback state.
      • WowzaWebRTCPublish.js - Controls the publishing state.
    • dev-view-publish.html - Example HTML page that can publish a WebRTC stream to Wowza Streaming Engine with video, audio, and screen share input.
    • dev-view-play.html - Example HTML page that can play back a WebRTC stream from Wowza Streaming Engine.
    • 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.
  • react-example
    • src
      • components - React components for the composite, meeting, play, and publish examples.
        • 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.
          • Composite.js
          • CompositePublisher.js
          • Compositor.js
        • media
          • CompositorUserMedia.js
        • meeting - JavaScript files that use components imported from other files to control the setup for publishing a WebRTC stream with multiple participants.
        • play - JavaScript files that use components imported from other files to control the WebRTC setup for playing streams.
        • publish - JavaScript files that use components imported from other files to control the WebRTC setup for publishing streams.
      • webrtc - JavaScript files for managing the WebRTC setup.
        • replaceAudioTrack.js
        • replaceVideoTrack.js

Run the example code

Note: If you're not running the examples from localhost, an HTTPS connection is required for WebRTC to access local devices.

React

In the react-example directory, run the following command:

 $ npm start

jQuery

In the jquery-example directory, run the following command:

 $ npx serve

Go to localhost:5000/src/ to view the examples.

More resources

Contact us

Wowza Media Systemsā„¢, LLC

Wowza Media Systems provides developers with a platform to create streaming applications and solutions. See the Wowza Developer Portal to learn more about our APIs and SDKs.

License

This code is distributed under the BSD 3-Clause License.

More Repositories

1

wse-rest-library-php

PHP library that wraps the Wowza Streaming Engineā„¢ REST API
PHP
64
star
2

gocoder-sdk-samples-android

A sample app for Android that demonstrates the capabilities of the Wowza GoCoderā„¢ SDK.
Java
53
star
3

gocoder-sdk-samples-ios

Sample apps for iOS that demonstrate the capabilities of the Wowza GoCoderā„¢ SDK.
Objective-C
37
star
4

wse-example-pushpublish-hls

Wowza Streaming Engineā„¢ sample and documentation for implementing an HLS Push Publishing (Stream Target) profile.
Java
34
star
5

wse-plugin-streampublisher

Wowza Streaming Engineā„¢ server listener and application module for creating a schedule of streams and playlists.
Java
32
star
6

wse-plugin-s3upload

Wowza Streaming Engineā„¢ module that uses the AWS Java SDK to automatically upload recorded media files to an Amazon S3 bucket.
Java
28
star
7

wse-example-ad-insertion

Example code and sample ad content to demonstrate Wowza Streaming Engineā„¢ support for player-side ad insertion.
Java
19
star
8

wse-plugin-avmix

Wowza Streaming Engineā„¢ module that combines separate audio and video sources into a single stream.
Java
16
star
9

gocoder-sdk-camera2-shaders

Live streaming with real-time video filters using the Wowza GoCoder SDK
Java
10
star
10

wsc-sdk-java

The official Java SDK for the Wowza Streaming Cloud service by Wowza Media Systems
HTML
9
star
11

germinator

A Rails Gem to implement and manage sequential/incremental seed files.
Ruby
8
star
12

wse-plugin-autorecord

Wowza Streaming Engineā„¢ module to record incoming live streams using application StreamRecorder parameters.
Java
7
star
13

wse-plugin-transcodertimedsnapshot

Wowza Streaming Engineā„¢ module that takes periodic thumbnail snapshots of Wowza Transcoder streams.
Java
6
star
14

wse-plugin-mediacachelocalcontent

Wowza Streaming Engineā„¢ Media Reader that enables streaming from local storage and remote Media Cache sources.
Java
6
star
15

wsc-api-examples-ruby

Example application, written in Ruby, for Wowza Streaming Cloudā„¢ REST API live stream workflow.
Ruby
6
star
16

wse-plugin-referervalidate

Wowza Streaming Engineā„¢ module that controls access to your streams by validating the domain of the requestor.
Java
6
star
17

wse-plugin-analytics

Wowza Streaming Engineā„¢ module to send streaming statistics to Google Analytics.
Java
5
star
18

wse-plugin-streamresolver

Wowza Streaming Engineā„¢ module that dynamically resolves stream requests in origin/edge configurations.
Java
5
star
19

wse-plugin-duplicatestreams

Wowza Streaming Engineā„¢ module that duplicates streams from one application instance to another on the same server.
Java
4
star
20

wse-plugin-transcodercontrol

Wowza Streaming Engineā„¢ module that controls which streams are transcoded by Wowza Transcoder.
Java
4
star
21

wse-plugin-transcoderkeyframecontrol

Wowza Streaming Engineā„¢ module that inserts aligned keyframes into Wowza Transcoder streams.
Java
3
star
22

wse-plugin-timeddisconnect

Wowza Streaming Engineā„¢ module that disconnects players after a specified amount of time.
Java
3
star
23

wse-plugin-addaudiotrack

Wowza Streaming Engineā„¢ module that adds an audio track to a video-only live stream.
Java
3
star
24

wse-plugin-banstreams

Wowza Streaming Engineā„¢ Server Listener and HTTP Provider that blocks published streams.
Java
2
star
25

wse-plugin-cupertinoliveattachpicture

Wowza Streaming Engineā„¢ module that adds poster images to audio-only iOS streams.
Java
2
star
26

wse-plugin-limitstreamviewers

Wowza Streaming Engineā„¢ module that limits the number of clients that can view a stream at the same time.
Java
2
star
27

wse-plugin-limitpublishedstreambandwidth

Wowza Streaming Engineā„¢ module that automatically disconnects RTMP sources that exceed a bandwidth limit.
Java
2
star
28

wse-plugin-packetizercontrol

Wowza Streaming Engineā„¢ module that controls which streams get packetized for HTTP streaming.
Java
2
star
29

wse-plugin-loadandlockappinstances

Wowza Streaming Engineā„¢ server listener that loads applications and keeps them loaded until the server is shut down.
Java
2
star
30

wsc-sdk-ruby

The official Ruby SDK for the Wowza Streaming Cloud service by Wowza Media Systems.
Ruby
2
star
31

wse-plugin-akamaivalidate

Wowza Streaming Engineā„¢ VHost Listener that validates HTTP connections originating from Akamai servers.
Java
1
star
32

wowza-rts-docs

Documentation for the Wowza Real Time Streaming SDK
HTML
1
star
33

clearcaster-example-graphql-request-signing

Java
1
star
34

wse-plugin-fixstreampath

Wowza Streaming Engineā„¢ module that fixes a stream path issue that affects some Flash players.
Java
1
star
35

wse-plugin-geoip

Wowza Streaming Engineā„¢ module that enables applications to allow or block connections based on the country they originate from.
Java
1
star
36

wse-plugin-multitrackvod

Wowza Streaming Engineā„¢ module that selects which audio, video, and data tracks are sent to players.
Java
1
star
37

wse-plugin-pathselector

Wowza Streaming Engineā„¢ module that stores SMIL files and associated VOD assets in different content directory paths.
Java
1
star
38

wse-plugin-cupertinoautomultibitratefilter

Wowza Streaming Engineā„¢ module that creates an audio-only rendition of a stream for Apple iOS devices.
Java
1
star
39

wsc-fastly-token-auth-examples

PHP
1
star
40

wse-plugin-dvrrecordercontrol

Wowza Streaming Engineā„¢ module that controls which streams are recorded by Wowza nDVR.
Java
1
star
41

public_cve

repo for cves that have been made public
1
star
42

wse-plugin-httpstreamcontrol

Wowza Streaming Engineā„¢ HTTP Provider that is used to control Stream class streams and playlists through HTTP requests.
Java
1
star