Fork me on GitHub
#calva
<
2022-05-13
>
pinkfrog00:05:16

@pez Out of curiosity, what screen recording tools are you using?

pez05:05:18

It has varied quite a bit. A while I used OBS. Lately I have been using either the built-in ”Record screen” command on my or the Chronicle plug-in for VS Code. The former if I want to show anything else than one VS Code window, the latter otherwise. Chronicle is great for making a quick recording, where I would sometimes otherwise us GIFs. For GIFs I use GIF Brewery 3, btw.

pez05:05:13

Chronicle does not record sound. And also when recording the with the built-in screen recorder, I often do not let it record sound. If I need sound I do the narration afterwards. I find it difficult to speak coherently and do things at the same time. So I do things in silence, pausing between steps. Then do a voice-over and cut/edit the video as I think is needed.

pez05:05:28

Last year a Calva friend bought me Final Cut Pro, as a way to sponsor and help my Clojure related work. And that is what I use for editing the videos and adding voice-overs and such. I'm a total noob with it, but have learnt a few tricks here and there.

pez06:05:15

Final Cut and all Apple stuff, including the screen recorder produces huge video files. Huge! I always use ffmpeg on them afterwards which cuts them down in size significantly. With the Joyride video https://www.youtube.com/watch?v=V1oTf-1EchU, for instance, Final Cut produced a 4GB file when I had edited and narrated. ffmpeg ate it and spit out a 14MB one. I can't really see a quality difference between the two files.

thanks3 1
pinkfrog06:05:42

> or instance, Final Cut produced a 4GB file when I ad edited and narrated. ffmpeg ate it and spit out a 14MB one Amazing.

pez06:05:45

The size of the file matters in many ways. Youtube processes it much quicker. And if I can get a video down under 10MB I can embed it in markdown files on Github and have them hosting the file. I did this for the Joyride README, even though I wasn't careful enough with the flags so the result is quite low quality.

pez06:05:29

ffmpeg also does another thing for me. The Apple stuff is not only often huge files, many non-Apple devices can't play them. So if I drop them here in Slack they play fine for Mac people, but sometimes not at all for others. ffmpeg produces proper mpeg4 files that all devices can play.

👍 1
pez06:05:34

I've made an AppleScript droplet which I just drop the files on. The interesting part of the script looks like so:

on process_file(macPath)
	set f to POSIX path of macPath
	tell application "Terminal"
		activate
		do script "ffmpeg -i '" & f & "' -pix_fmt yuv420p -vf 'scale=trunc(iw/2)*2:trunc(ih/2)*2' '" & f & "-processed.mp4'"
	end tell
end process_file
There you can see the ffmpeg flags I use, even if you're not on mac.

🙌 1
pinkfrog06:05:21

Great. I asked the right person. 👏

🙏 1
pez06:05:18

I should probably blog some about this. It has taken me quite a while to figure some of the things out.

pez06:05:04

Here's the droplet for anyone who finds use for it.

pez06:05:09

Another trick when recording VS Code (or any browser based thing) for Youtube is to resize the window. I often forget this, but anyway. Open the dev console and evaluate:

window.resizeTo(1920,1080)
Then zoom in to make things show properly for people watching the video. You can use ffmpeg to scale it down to half the screen size afterwards, if that's better for some platform:
ffmpeg -i <input-file> -vf scale="iw/2:ih/2" <output-file>

pez06:05:07

I would like to be able to do that resize using the Joyride REPL, but unfortunately it can't reach out to the Electron parts of VS Code.

pez06:05:37

Another thing I do for my VS Code recordings is that I enable Screencast Mode and set it to display command names with groups. Here are my screencast settings, you can see the indicators showing which ones are not default:

😮 1
pez06:05:25

If you ask me that setting for showing command names is a great addition to VS Code, but I am very biased about it. 😃

pinkfrog06:05:34

First time heard of screencast mode.

pez06:05:44

With the addition to show command names it gets extra nice because regular key stroke recorders can't do that.

pez09:05:00

I don't think I've tried that particular one. I might have tried all other options though. 😃 What speaks for Kap, would you say, @U2DART3HA?

Geoffrey Gaillard09:05:56

Easieness. It's bundling what's needed for most use cases, with sensible defaults. You can record screen, window, region, optionally sound. You can resize , trim, export to most common formats, all in one view. If you need more control, save the raw file and edit it in final cut or pass it to ffmpeg. UI is a little bit slow, but it's a minor annoyance.

pez11:05:27

idk. I managed to see the controls once. Then opened preferences and now the app doesn't seem to start. 😃

pez11:05:20

Question before I give up, @U2DART3HA. Does it allow for saving recording region preferences? That is the only thing I miss from the built-in recording. I want to be able to specify some presets.

Geoffrey Gaillard12:05:51

I don't remember seeing this feature

pez12:05:01

It's too bug ridden anyway. Or I am stupid. Haven't gotten it to record anything. 😃

leifericf13:05:27

Can I just say… I love the standalone REPL! Today, two coworkers walked by my desk and asked about Clojure (because I run the local meetup group in Oslo). I already had VS Code open, but I worked on some Python stuff. In less than 30 seconds, I could open a new window in VS Code, fire up a standalone REPL and show them some basic stuff. It’s an incredibly valuable tool for quickly demoing stuff ad hoc at the office.

calva 7
❤️ 4
🙏 1
1
pez13:05:38

When you have familiarized yourself some with #joyride, I hope you will find that helpful in these situations as well. You can use it to do fuzz-buzz stuff as well as do possibly eye opening stuff with VS Code itself. Extra easy to do when you are working with Python stuff since then you won't have a Clojure project competing for Calva's REPL connection.

👍 1