Pitahaya is a node.js script which demonstrates encoding and decoding binary data over a video channel.
To try it out without installing anything, drag this bookmarklet Pitahaya v0.1.6 ← to your bookmark bar and open it on this youtube video: https://youtu.be/GyATVQ8Y57Y.
Note: Make sure the video is set to 360p and not Auto. More bookmarklet info here.
First install node.js. Then install Pitahaya via
npm install -g pitahaya
Or get the source here.
Pitahaya has two distinct operating modes, privacy mode and archival mode. Each mode was created with different goals in mind..
In privacy mode, the video will appear to be silent upon opening the video. (Video example). However, the video channel actually contains mp3 audio data and can be decoded in real time by anyone using the Pitahaya decoder. This mode was designed to:
Videos encoded in privacy mode have a resolution of 360p. More information on privacy mode here.
- allow a private transmission to be broadcasted in real time as a live stream
- use as little cpu as possible to encode and decode the video
- minimize the amount of bandwidth required to transmit the video
- allow a user to listen to the audio directly in the browser via a bookmarklet decoder
In archival mode, audio can be heard by anyone opening the video. (Video example). Additionally, the video data contains a high quality copy of the audible audio playing in the video. This mode:
Videos encoded in archival mode have a resolution of 1080p. More information on archival mode here.
- contains raw, 16bit 44.1 kHz PCM uncompressed audio in the video, unlike privacy mode, which uses compressed audio
- is not intended for live streaming because it uses a lot of bandwidth
- currently does not work with the bookmarklet decoder
The current version of Pitahaya is 0.1.6
Page last updated November 16, 2020 by fanfare