I've noticed your implementation uses websockets, which are built on top of TCP. we used UDP and encapsulated everything is a pretty simple to use (and easily the most well documented part of the project) p2plib.c. the fear was that video and audio can get backed up if we were to use TCP. so audio and video were sent via UDP packets and rendered every time a UDP packet was recieved.
Another thing I'd like to try to get a bit more resolution is to perhaps use the braille character set in combination with 256 color mode: https://github.com/asciimoo/drawille
Also, some terminals are starting to support 24bit color (iTerm2 nightlies) which could pretty drastically improve the possibilities of terminal based video: https://github.com/frytaz/txtcam/tree/color :)
Do you have any good examples of calculating the right foreground/background colors to use?
and possibly other clones too. Might help improve the visuals.
I made a similar project to this (but without sound).
Which uses SSH connection, 256-colors, Unicode block characters and CIE94 algorithm to compute color distance when mapping colors to 256 palette.
Watch it in action: https://www.youtube.com/watch?v=pAa-pGda9kY
Nice use case for IPv6.
sudo apt-get install libncurses5-dev
sudo apt-get install libpulse-dev
"VIDIOC_STREAMON: Invalid argument
libv4l2: error turning on stream: Invalid argument
Can't seem to get it to work trying anything on github etc and want to get enough around to file a real issue.
I like it.
I wouldn't rely on terrible quality video for plausible deniability but if you want to there are of course many ways to make your webcam feed shitty looking.
Note you can tunnel arbitrary ports in ssh for data if that's what you're thinking of.
One request - what's the bitrate? (I know it's probably possible to measure in 1 line of shell)
I remember watching the world cup on an ASCII terminal