From 8ab2db2335e99637996ee703a8e1f26a4dd2eab0 Mon Sep 17 00:00:00 2001 From: TheRealOrange Date: Tue, 22 Feb 2022 13:34:07 +0800 Subject: [PATCH] update readme and added binary --- README.md | 8 +++++++- tvp | Bin 0 -> 38792 bytes 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100755 tvp diff --git a/README.md b/README.md index ca7de3d..ad4d95a 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,18 @@ This is a cursed terminal video player. This improves on some previous designs b Mileage may vary depending on how fast your terminal is. In my testing, I've found that [alacritty](https://github.com/alacritty/alacritty) works rather well. -``` +```sh .\tvp filename [threshold] ``` The threshold has to be an integer from 0 to 255, and defaults to 10. The threshold affects how much the colour of a certain pixel has to change before it will be redrawn. A lower threshold results in more redraws in most cases, and leads to choppy video. +Built on Manjaro with this command: + +```sh +g++ src/main.cpp -O3 -o ./tvp `pkg-config --cflags --libs opencv4` +``` + Below is a preview of how it looks: ![video playing in terminal](imgs/video.gif) \ No newline at end of file diff --git a/tvp b/tvp new file mode 100755 index 0000000000000000000000000000000000000000..f300679b34f0fd52530101534164940cb2ac60e9 GIT binary patch literal 38792 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 AS^xk5 literal 0 HcmV?d00001