insertable-streams

command
v4.0.0-...-92400fa Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2024 License: MIT Imports: 13 Imported by: 0

README

insertable-streams

insertable-streams demonstrates how to use insertable streams with Pion. This example modifies the video with a single-byte XOR cipher before sending, and then decrypts in Javascript.

insertable-streams allows the browser to process encoded video. You could implement E2E encryption, add metadata or insert a completely different video feed!

Instructions

Create IVF named output.ivf that contains a VP8 track
ffmpeg -i $INPUT_FILE -g 30 output.ivf
Download insertable-streams
go install github.com/pion/webrtc/v4/examples/insertable-streams@latest
Open insertable-streams example page

jsfiddle.net you should see two text-areas and a 'Start Session' button. You will also have a 'Decrypt' checkbox. When unchecked the browser will not decrypt the incoming video stream, so it will stop playing or display certificates.

Run insertable-streams with your browsers SessionDescription as stdin

The output.ivf you created should be in the same directory as insertable-streams. In the jsfiddle the top textarea is your browser, copy that and:

Linux/macOS

Run echo $BROWSER_SDP | insertable-streams

Windows
  1. Paste the SessionDescription into a file.
  2. Run insertable-streams < my_file
Input insertable-streams's SessionDescription into your browser

Copy the text that insertable-streams just emitted and copy into second text area

Hit 'Start Session' in jsfiddle, enjoy your video!

A video should start playing in your browser above the input boxes. insertable-streams will exit when the file reaches the end.

To stop decrypting the stream uncheck the box and the video will not be viewable.

Congrats, you have used Pion WebRTC! Now start building something cool

Documentation

Overview

insertable-streams demonstrates how to use insertable streams with Pion

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL