Edit reStream.sh and README
This commit is contained in:
33
README.md
33
README.md
@ -10,8 +10,14 @@ reMarkable screen sharing over SSH.
|
||||
## Installation
|
||||
|
||||
1. Clone this repository: `git clone https://github.com/rien/reStream`.
|
||||
2. (Optional but recommended) [Install lz4 on your host and reMarkable](#sub-second-latency).
|
||||
2. Install `lz4` on your host with your usual package manager. On Ubuntu,
|
||||
`apt install liblz4-tool` will do the trick.
|
||||
3. [Set up an SSH key and add it to the ssh-agent](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent), then add your key to the reMarkable with `ssh-copy-id root@10.11.99.1`.
|
||||
4. Copy the `restream` executable to the reMarkable and make it executable.
|
||||
```
|
||||
# scp restream.arm.static root@10.11.99.1:/home/root/restream
|
||||
# ssh root@10.11.99.1 'chmod +x /home/root/restream'
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
@ -27,7 +33,7 @@ reMarkable screen sharing over SSH.
|
||||
- `-s --source`: the ssh destination of the reMarkable (default: `root@10.11.99.1`)
|
||||
- `-o --output`: path of the output where the video should be recorded, as understood by `ffmpeg`; if this is `-`, the video is displayed in a new window and not recorded anywhere (default: `-`)
|
||||
- `-f --format`: when recording to an output, this option is used to force the encoding format; if this is `-`, `ffmpeg`’s auto format detection based on the file extension is used (default: `-`).
|
||||
- `-w --webcam`: record to a video4linux2 web cam device. By default the first found web cam is taken, this can be overwritten with `-o`. The video is scaled to 1280x720 to ensure compatibility with MS Teams, Skype for business and other programs which need this specific format.
|
||||
- `-w --webcam`: record to a video4linux2 web cam device. By default the first found web cam is taken, this can be overwritten with `-o`. The video is scaled to 1280x720 to ensure compatibility with MS Teams, Skype for business and other programs which need this specific format. See [video4linux loopback](#video4linux-loopback) for installation instructions.
|
||||
- `-m --measure`: use `pv` to measure how much data throughput you have (good to experiment with parameters to speed up the pipeline)
|
||||
- `-t --title`: set a custom window title for the video stream. The default title is "reStream". This option is disabled when using `-o --output`
|
||||
|
||||
@ -41,24 +47,7 @@ On your **host** machine:
|
||||
- ssh
|
||||
- Video4Linux loopback kernel module if you want to use `--webcam`
|
||||
|
||||
On your **reMarkable** nothing is needed, unless you want...
|
||||
|
||||
### Sub-second latency
|
||||
|
||||
To achieve sub-second latency, you'll need [lz4](https://github.com/lz4/lz4)
|
||||
on your host and on your reMarkable.
|
||||
|
||||
You can install `lz4` on your host with your usual package manager. On Ubuntu,
|
||||
`apt install liblz4-tool` will do the trick.
|
||||
|
||||
On your **reMarkable** you'll need a binary of `lz4` build for the arm platform,
|
||||
you can do this yourself by [installing the reMarkable toolchain](https://remarkablewiki.com/devel/qt_creator#toolchain)
|
||||
and compiling `lz4` from source with the toolchain enabled, or you can use the
|
||||
statically linked binary I have already built and put in this repo.
|
||||
|
||||
Copy the `lz4` program to your reMarkable with
|
||||
`scp lz4.arm.static root@10.11.99.1:/home/root/lz4`, make it executable with
|
||||
`ssh root@10.11.99.1 'chmod +x /home/root/lz4'` and you're ready to go.
|
||||
On your **reMarkable** you need the `restream` binary (see [installation instructions](#installation)).
|
||||
|
||||
### Video4Linux Loopback
|
||||
|
||||
@ -89,3 +78,7 @@ The result should contain a line with "platform:v4l2loopback".
|
||||
Steps you can try if the script isn't working:
|
||||
- [Set up an SSH key](#installation)
|
||||
- Update `ffmpeg` to version 4.
|
||||
|
||||
## Development
|
||||
|
||||
If you want to play with the `restream` code, you will have to [install Rust](https://www.rust-lang.org/learn/get-started) and [setup the reMarkable toolchain](https://github.com/canselcik/libremarkable#setting-up-the-toolchain) to do cross-platform development.
|
||||
|
Reference in New Issue
Block a user