Skip to content

easychen/windrecorder

Repository files navigation

WindRecorder

中文说明

TLDR

Wind Recorder is a docker image for recording "self-playing web pages". You can try it out with a quick test.

First build a "self-playing web page":

  1. cd demo && yarn install && yarn start

Run the docker command:

  1. open demo.sh
  2. change dd.ftqq.com to be the LAN IP
  3. Run the command bash demo.sh

After running, you can view the recorded video in the root directory.Click here to view recorded video directly.

What is Wind Recorder

WindMark.pro is a free online tool for video production using the Tailwind CSS framework and Markdown.

The principle is to create autoplay web pages using web technology and record them as videos when accessed through a browser.

Wind Recorder] is the open source project used by WindMark.pro to record not only the web pages generated by WindMark.pro, but also any web pages that can be rendered normally in a browser.

With Wind Recorder you only need to run one line of Docker command to complete the video recording.

docker run --rm -p 5900:5900 -p 80:80 -v "$(pwd):/data" easychen/windrec:latest https://video.windmark.pro

Just replace https://video.windmark.pro in the above command with the URL of the autoplay page you want to record.

The recording result can be seen in this video → How to use WindMark.pro

How Wind Recorder works

The Wind Recorder installs a browser in the container and starts a web service. When /start is accessed, recording via ffmpeg starts; when /stop is accessed, recording stops.

In addition to the /start and /stop control from outside the container via http active access to the container, the recorded web pages inside the container can also be controlled by https://localhost/start and https://localhost/stop calls via JavaScript.

VNC

Despite the simple control interface, the container remains a black box for us when it comes to recording. Therefore Wind Recorder has a built-in VNC service. When the container is started, you can connect to port 5900 to see the internal browser screen via tools like VNC Viewer, which is very useful when doing compatibility debugging.

FAQ

Why does the recorded video lag?

Please keep the network of the machine running docker commands good and the container has at least 4G memory, the more complex the page, the more memory is needed.

Why does the audio and video not sync?

This kind of problem occurs when there is not enough memory, if you encounter it, please increase the memory of the container.

Also, since the recording is written to mp4 as an append, if you encounter slight out of sync, you can use tools like HandBrake to compress and optimize the video again to correct it.

Thanks

The code for the recording part of this project is heavily referenced from highattendance-aws-meeting-recording and is distributed using the Apache2.0 protocol.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published