Recording toolset for vloggers🎙️📹🎬
GPL-3.0 License
Video and audio recording toolset for vloggers🎙️📹🎬
Designed to record vlogs with classical jump cuts using camera of Android-based device and microphone of GNU/Linux machine. I use it with Pitivi for my YouTube channel.
Currently can keep functioning well even if you experience temporary USB phone connection failure.
Two possible pipelines:
vlog-record
, apply vlog-render
vlog-add
and vlog-render
641f2f4
)
base
and/or medium
are recommended)git clone [email protected]:alopatindev/vlog-toolset.git && cd vlog-toolset && ./configure
cd vlog-toolset
./bin/vlog-record -h
Usage: vlog-record -p project_dir/ [other options]
-p, --project <dir> Project directory
-t, --trim <duration> Trim duration of beginning and ending of each clip (default: 0.2)
-s <arecord-args>, Additional arecord arguments (default: "--device=default --format=dat")
--sound-settings
-A, --android-device <device-id> Android device id
-o, --opencamera-dir <dir> Open Camera directory path on Android device (default: "/storage/emulated/0/DCIM/OpenCamera")
-b <true|false>, Set lowest brightness to save device power (default: false)
--change-brightness
-m, --mpv-args <mpv-args> Additional mpv arguments (default: "--vf=hflip --volume-max=300 --volume=130 --speed=1.2)"
-P <seconds>, Minimum pause between shots for auto trimming (default: 2.0)
--pause-between-shots
-a, --aggressiveness <0..1> How aggressively to filter out non-speech (default: 0.4)
-d, --debug <true|false> Show debug messages (default: false)
./bin/vlog-record -p ~/video/new-cool-video-project
...
----------------------------------------------------------------------
R - (RE)START clip recording (loses unsaved clip)
S - STOP and SAVE current clip
Shift + S - STOP and SAVE current clip, DON'T use auto silence removal
D - STOP and DELETE current clip
P - PLAY last saved clip
F - FOCUS camera on center
----------------------------------------------------------------------
Shift + R - (RE)START SILENCE recording attempt
----------------------------------------------------------------------
H - show HELP
Q - QUIT
[ ⬜ ] [ 💻 | 💾 466G ] [ 📞 | 🔋100% / 41°C | 💾 18G ]
Usage: vlog-render -p project_dir/ -w path/to/whisper.cpp/ [other options]
-p, --project <dir> Project directory
-P, --preview <true|false> Preview mode. It will also start a video player by a given position (default: true)
-n, --tmux-nvim <true|false> Plain text video editing: open render.conf (during preview mode or when render.conf was just generated) in Neovim via Tmux if they are available (default: true)
-f, --fps <num> Constant frame rate (default: 30)
-S, --speed <num> Speed factor (default: 1.2)
-V, --video-filters <filters> ffmpeg video filters (default: "hqdn3d,hflip,vignette")
-c, --cleanup <true|false> Remove temporary files, instead of reusing them in future (default: false)
-w, --whisper-cpp-dir <dir> whisper.cpp directory
-W, --whisper-cpp-args <dir> Additional whisper.cpp arguments (default: "--model models/ggml-base.bin --language auto")
-y, --youtube <true|false> Additionally optimize for YouTube (default: false)
-I, --ios <true|false> Additionally optimize for iOS video editors (default: false)
./bin/vlog-render -p ~/video/new-cool-video-project --preview false --whisper-cpp-dir path/to/whisper-cpp-dir
project_dir/output/
project_dir/output.mp4
#
in the beginning of line you want to ignore (or just remove the entire line)vi ~/video/new-cool-video-project/render.conf
Usage: vlog-add -p project_dir/ [other options]
Project directory must contain inputvoice_000001.mp4, inputother_000002.mp4 ... as input files (also optionally inputvoice_000001.wav, inputother_000002.wav ... with highest audio quality)
-p, --project <dir> Project directory
-P <seconds>, Minimum pause between shots for auto trimming (default: 2.0)
--pause-between-shots
-a, --aggressiveness <0..1> How aggressively to filter out non-speech (default: 0.4)
pull
performance comparing android-tools
? for USB 2 and 3I'm currently investing all my time in FOSS projects.
If you found this repo useful and you want to support me, please
Your support keeps me going ❤️ (◕‿◕)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; read LICENSE.txt for details.
Copyright (C) 2018—∞ Alexander Lopatin <alopatindev ät codonaft dot com>