Record vnc screens to mp4 video using ffmpeg written in go.
Go to file
Daniel Widerin 017af646de
drop fallback with extension
Signed-off-by: Daniel Widerin <daniel@widerin.net>
2020-10-25 09:23:19 +01:00
.gitattributes Add .gitattributes 2019-06-02 12:20:06 +02:00
.gitignore First draft 2019-06-02 12:35:25 +02:00
Dockerfile Upgrade to ffmpeg 4.1 2020-10-25 00:09:04 +02:00
encoder.go drop fallback with extension 2020-10-25 09:23:19 +01:00
go.mod Upgrade urfave cli to v2 2020-10-25 00:01:51 +02:00
go.sum Upgrade urfave cli to v2 2020-10-25 00:01:51 +02:00
LICENSE Initial commit 2019-06-02 12:16:36 +02:00
main.go Make quality configurable 2020-10-25 01:10:18 +02:00
README.md Make quality configurable 2020-10-25 01:10:18 +02:00

VNC recorder

this is wip, don't use in production!

Record VNC screens to mp4 video using ffmpeg. Thanks to amitbet for providing his vnc2video library which made this wrapper possible.

Use

docker run -it widerin/vnc-recorder --help


NAME:
   vnc-recorder - Connect to a vnc server and record the screen to a video.

USAGE:
   vnc-recorder [global options] command [command options] [arguments...]

VERSION:
   1.0

AUTHOR:
   Daniel Widerin <daniel@widerin.net>

COMMANDS:
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --ffmpeg value     Which ffmpeg executable to use (default: "ffmpeg") [$VR_FFMPEG_BIN]
   --host value       VNC host (default: "localhost") [$VR_VNC_HOST]
   --port value       VNC port (default: 5900) [$VR_VNC_PORT]
   --password value   Password to connect to the VNC host (default: "secret") [$VR_VNC_PASSWORD]
   --framerate value  Framerate to record (default: 30) [$VR_FRAMERATE]
   --crf value        Constant Rate Factor (CRF) to record with (default: 35) [$VR_CRF]
   --outfile value    Output file to record to. (default: "output.mp4") [$VR_OUTFILE]
   --help, -h         show help
   --version, -v      print the version

Note: If you run vnc-recorder from your command line and don't use docker you might want to customize the --ffmpeg flag to point to an existing ffmpeg installation.

Build

docker build -t yourbuild .
docker run -it yourbuild --help

TODO

  • Add tests!
  • Add more encoder options
  • Get some patches merged for our dependencies