FFMPEG Recording Test - Kmsgrab, Wayland (& TTY), VAAPI

Channel:
Subscribers:
5,840
Published on ● Video Link: https://www.youtube.com/watch?v=sYu1ZkYrFKc



THE EDITOR
Game:
THE EDITOR (2023)
Duration: 0:00
284 views
14


Testing only* ffmpeg scripts (+ mpv for the webcam, but ffplay or ffmpeg output to sdl works too) to record videos with monitor capture, a webcam preview or overlay on the screen, and microphone audio.

I wanted to see if this worked to:
Replace OBS studio for recordings
Have access to a bunch of video/audio filters
Record video/audio in a plain tty, without any WM/DE
Have a consistent framerate with a visible webcam preview

*I also use izotope rx in wine to clean up audio if needed, usually the "breath control" gentle suppression preset, and "mouth de-click" low latency preset. Hoping to get a good enough audio filter setup to not need these.

Live streaming should be a similar setup, but would output to an rtmp:// url instead of a file, and probably use different formats like flv. Maybe you could use a "2nd stage" script that takes in the 1st output file with the video/audio/overlay, and "streams" that file to the rtmp endpoint.

Let me know if you have suggestions on any audio/video setup for this stuff, or if there is any way to do a "live" webcam preview on the framebuffer in the TTY.
I know the gain and mic placement was bad for room noise or in general, will work on that.

*Update a few days later: Ended up using -itsoffset 200ms for kmsgrab, which lines up the screen capture with the live webcam preview, and removed the delay from the audio capture. This seems to line up audio better visually with both typing on screen and the webcam.

ffmpeg copying or extracting video/audio streams and adding/removing filters is really nice and easy, might make some video edit scripts to not even need a video editor...

Links:
https://ffmpeg.org/ffmpeg-all.html
https://mpv.io/manual/stable/

The record.sh scripts and other config file are in my dot-files repo:
https://codeberg.org/queso_fuego/dot-files/src/branch/master/alpine

Join the Community Discord: https://discord.gg/yKm4T89QFn

Contact: https://queso_fuego.codeberg.page/contact.html
Support: https://queso_fuego.codeberg.page/support.html

Misc. notes/workflow:
I don't use any login manager or auto login script or anything, and my setup doesn't really matter, but if you're curious, I manually call a startwayland.sh script which functions similarly to X11's startx command & .xinitrc file:
https://codeberg.org/queso_fuego/dot-files/src/branch/master/alpine/startwayland.sh
That starts the sway window manager. I use wmenu instead of dmenu, and hide window borders, titles, etc.:
https://codeberg.org/queso_fuego/dot-files/src/branch/master/.config/sway/config

The terminal emulator is "foot" (foo terminal), with the default colorscheme, but the white text is e6e6e6 instead of ffffff, which was a bit too bright.
The font is Iosevka Fixed, size 32.

For workspaces (WS), I just do fullscreen or a 2 window split usually, and stick to a browser on WS 1, programming &| documentation or video editor on WS 2, other program windows or documentation on WS 3, and recording scripts/obs/other things/etc. on WS 4+.

The OS is Alpine Linux on bare metal, not in a docker container or anything. I use this as my main desktop PC/workstation.

Also said "regardless" a lot, for some reason I tend to repeat specific words in videos, as if my brain gets stuck on those and can't think of other words like a proper thesaurus. I'm not sure why.

Music credits:
In The End - HoliznaCC0
https://holiznacc0.bandcamp.com/track/in-the-end

#ffmpeg #recording #kmsgrab