Paul-Louis Ageneau cd68d1dba7 Use make_shared where possible 4 years ago
..
samples b39fe51365 Add h264 and opus samples 4 years ago
uwp 6b21637dd5 Make examples in /media, /sfu-media, and /streamer work in UWP. 4 years ago
ArgParser.cpp 4d407cf15e Replace getopt with custom arg parser 4 years ago
ArgParser.hpp 4d407cf15e Replace getopt with custom arg parser 4 years ago
CMakeLists.txt 6b21637dd5 Make examples in /media, /sfu-media, and /streamer work in UWP. 4 years ago
README.md b765cba3d2 Enhanced Readmes in examples 4 years ago
client.js 7730496bf9 Fix streamer example for safari 4 years ago
dispatchqueue.cpp d9aa1818b2 Add example project for h264 and opus streaming 4 years ago
dispatchqueue.hpp 226e849915 Include <functional> in dispatchqueue.hpp 4 years ago
fileparser.cpp 58fbc83df3 Fixed indentation 4 years ago
fileparser.hpp d9aa1818b2 Add example project for h264 and opus streaming 4 years ago
h264fileparser.cpp 4ca78db146 Reorganized stuff to make plog private 4 years ago
h264fileparser.hpp d9aa1818b2 Add example project for h264 and opus streaming 4 years ago
helpers.cpp c929be592b Fixed struct timeval undeclared on Windows 4 years ago
helpers.hpp b5699239cc Rename RtcpSRReporter to RtcpSrReporter for naming consistency 4 years ago
index.html 7730496bf9 Fix streamer example for safari 4 years ago
main.cpp cd68d1dba7 Use make_shared where possible 4 years ago
opusfileparser.cpp d9aa1818b2 Add example project for h264 and opus streaming 4 years ago
opusfileparser.hpp d9aa1818b2 Add example project for h264 and opus streaming 4 years ago
stream.cpp 4ca78db146 Reorganized stuff to make plog private 4 years ago
stream.hpp d9aa1818b2 Add example project for h264 and opus streaming 4 years ago

README.md

Streaming H264 and opus

This example streams H264 and opus1 samples to the connected browser client.

Start a signaling server

$ python3 ../signaling-server-python/signaling-server.py

Start a web server

$ python3 -m http.server --bind 127.0.0.1 8080

Now you can open the demo at http://127.0.0.1:8080.

Arguments

  • -a Directory with OPUS samples (default: ../../../../examples/streamer/samples/opus/).
  • -b Directory with H264 samples (default: ../../../../examples/streamer/samples/h264/).
  • -d Signaling server IP address (default: 127.0.0.1).
  • -p Signaling server port (default: 8000).
  • -v Enable debug logs.
  • -h Print this help and exit.

Generating H264 and Opus samples

You can generate H264 and Opus sample with samples/generate_h264.py and samples/generate_opus.py respectively. This require ffmpeg, python3 and kaitaistruct library to be installed. Use -h/--help to learn more about arguments.

1 Opus samples are generated from music downloaded at bensound.