Record vnc screens to mp4 video using ffmpeg written in go.
Go to file
Daniel Widerin 9f06939cdc
Merge pull request #8 from bdhood/master
Add -pix_fmt yuv420p
2022-03-07 10:28:16 +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 Add -pix_fmt yuv420p 2021-04-09 22:53:34 -05: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 better logging and var-naming 2020-10-25 14:28:33 +01:00
README.md fix version in readme 2020-10-25 14:31:55 +01: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:
   0.3.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