Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mofarrell/p2pvc
A point to point color terminal video chat.
https://github.com/mofarrell/p2pvc
Last synced: 28 days ago
JSON representation
A point to point color terminal video chat.
- Host: GitHub
- URL: https://github.com/mofarrell/p2pvc
- Owner: mofarrell
- License: mit
- Created: 2015-02-07T02:24:58.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2023-11-01T18:13:31.000Z (about 1 year ago)
- Last Synced: 2024-10-01T18:21:14.684Z (about 1 month ago)
- Language: C
- Size: 12.2 MB
- Stars: 2,894
- Watchers: 110
- Forks: 211
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# p2pvc
A point to point color terminal video chat.![Demo](http://giant.gfycat.com/HideousSpiffyAdder.gif)
[and here's a still image](http://i.imgur.com/ziRPCWE.png)
# Installation
Arch users can install `p2pvc-git` from [the AUR](https://aur.archlinux.org/packages/p2pvc-git/)
### Dependencies
* OpenCV
* PortAudio
* ncurses#### Ubuntu:
sudo apt-get install libncurses-dev libopencv-dev portaudio19-dev
#### OS X (with Homebrew):
brew install ncurses portaudio opencv
#### OS X (with MacPorts):
sudo port install ncurses portaudio opencv
### Compilation
Make the binary.make
Video chat with yourself to test the camera. (Be sure to mute your mic or speakers or you'll get feedback!)
./p2pvc 127.0.0.1 -v
# Usage
#### Audio only
./p2pvc [ip address]
#### Flags
`-v` enables video chat.
./p2pvc [ip address] -v
`-d` sets the dimension of the video in `[width]x[height]` format.
./p2pvc [ip address] -v -d 200x50
`-A` and `-V` allow you to specify the port the audio and video run on respectively.
./p2pvc [ip address] -v -A 1337 -V 1338
`-b` displays incoming bandwidth in the top-right of the video display.
./p2pvc [ip address] -v -b`-e` to print stderr (which is by default routed to /dev/null).
./p2pvc [ip address] -e
`-B` renders in Braille Unicode characters. Note that the dimensions must both be divisible by 4../p2pvc [ip address] -v -B -d 200x152
`-I` sets the threshold for turning pixels on (when using the `-B` flag). Ranges from 1 - 99, defaults 25.
./p2pvc [ip address] -v -B -I 50
`-E` sets and edge filter with `[lower]:[upper]` bounds.
./p2pvc [ip address] -v -B -E 100:300
`-c` sets the color of the video. Used in the form `[r]:[g]:[b]`. Each color ranges from 0 - 100.
./p2pvc [ip address] -v -c 0:100:0
`-s` sets the saturation of the colors in the video. 0.0 is greyscale, 2.0 is default.
./p2pvc [ip address] -v -s 3.0
`-a` sets custom ASCII character maps. Repeat characters to weight their frequency../p2pvc [ip address] -v -a " ......#####"
`-r` sets the refresh rate../p2pvc [ip address] -v -r 10
![Demo](http://fat.gfycat.com/WideRecklessChinesecrocodilelizard.gif)
# Known problems and resolutions#### Black and white
This happens when p2pvc thinks the terminal doesn't have enough colors to display all 256. Try `export TERM=xterm-256color` or equivalent to get it working.
#### No connection made
p2pvc does not get around NAT, so you may need to port forward. It uses ports 55555 and 55556 for audio and video respectively.