Set up and play your first live stream with Wowza Streaming Engine (WSE), and FlowPlayer to create a custom web experience. The code samnples provided here are for demonstration purposes only, and are provided via the Wowza Public License.
To view the video tutorial, visit https://www.wowza.com/developer.
- Sign up for a free trial of Wowza Streaming Engine.
- Once you've completed the registration process, you'll get your trial license key.
- Sign in to the Wowza portal to get your Flowplayer video player trial token - you'll need this to later embed it in a custom page.
- Go to My Account --> Products, start a Wowza Video trial and then launch Wowza Video.

- Create a new Flowplayer trial token and store it in a secure place.

Clone our Dev Guides Github repo locally - it has Docker files for easily deploying Wowza Streaming Engine, sample code for creating backend modules, and frontend code samples, too.
https://github.com/WowzaMediaSystems/dev-guides
- Download and install Docker on your computer.
- Create a
.envfile within the/1_first_livestreamsubfolder of the Dev Guides repo:- Copy the
.env.examplefile to.env: - Open
.envand add your Wowza Streaming Engine license key:
WSE_LICENSE_KEY=YOUR_LICENSE_KEY_HERE - Copy the
- The Docker Compose setup will automatically use the value from your
.envfile. You can also set your admin username and password indocker-compose.yamlif you want to change them from the default.
- Start the Docker images. Open a terminal window, go to the
1_first_livestreamfolder and run the following command:docker compose up
- The
.env.examplefile provides a template for required environment variables. Copy it to.envand fill in your values. - The
.envfile is ignored by git and should not be committed to version control. - The license key in
.envis required to start the container.
OBS Studio is free and open source software for video recording and live streaming. We'll use this to create a live stream from your local computer using your webcam and microphone.
- Open OBS Studio
- Add a new Video Capture Device
-
In the Destination section, set the Server and Stream Key
Server: rtmp://localhost/live
Stream Key: myStream
- Click OK, then click
Start Streaming.
Let's take a quick look inside Wowza Streaming Engine Manager to make sure our feed from OBS is streaming correctly.
-
Log in to Wowza Streaming Engine Manager using the admin credentials you set in the docker-compose.yaml file.

-
Once you've signed in, click on Applications in the top navigation, then on
live --> Incoming Streams. You should seemyStreamthat you started from OBS is now active and Wowza Streaming Engine is receiving the stream data.
Open the /frontend subfolder in the repo to see how to embed Wowza Streaming Engine streams using Wowza FlowPlayer, the HTML5 video player for HLS and MPEG-DASH playback for browsers and devices.
https://github.com/WowzaMediaSystems/dev-guides/tree/main/frontend
-
Make sure
node.jsis installed on your machine. If not, follow these installation instructions. -
In a terminal window, navigate to the
/frontendfolder and install the node packages by typingnpm install. Included in thepackage.jsonfile are the FlowPlayer React components to embed them in your web page:
@flowplayer/player
@flowplayer/react-flowplayer
-
Copy the
.env.examplefile in the/frontendfolder to.env:cp .env.example .env
-
Open
.envand add your Flowplayer trial token:FLOWPLAYER_TOKEN=YOUR_FLOWPLAYER_TOKEN_HERE -
The web app will automatically use the value from your
.envfile for secure configuration. -
Start the web app by typing
npm run dev. The web app is listening on localhost:8080.npm run dev
- Open http://localhost:8080/ and you'll see the live stream embedded in the web page.
- Embedding FlowPlayer in the page requires providing the stream URL from Wowza Streaming Engine as well as the FlowPlayer token you got as part of the trial signup process.
- In the
frontendapp these variables are set inconfig.ts.
- In the
<Flowplayer
src={videoUrl}
token={FLOWPLAYER_TOKEN}
ref={playerRef}
opts={{
ui: 1024,
asel: true,
fullscreen: false,
autoplay: true,
lang: "en",
}}
onError={(error) => {
console.error("Flowplayer component error:", error);
}}
/>- The
.env.examplefile in/frontendprovides a template for required environment variables. Copy it to.envand fill in your values. - The
.envfile is ignored by git and should not be committed to version control. - The Flowplayer token in
.envis required to embed the player in your web app.
In subsequent guides, we'll go deeper into:
- Customizing Wowza Streaming Engine to add custom modules and graphical overlays
- Customizing the user experience in FlowPlayer
- Using new and upcoming AI features to provide live subtitling, language translation, and object detection.






