General tips
- Use large fonts and buttons where possible. This can usually be set in the settings for your window manager on Unix-like operating systems and can be set in the display settings on Windows. I find 18–22px sufficient in most cases, though the vast majority (nearly 90%) of my viewers are from the United States and tend to watch in high definition on a computer.
- Create smaller segments of video and provide a short description for each. I like to add a schedule to the beginning of my videos during editing (by adding an image as a placeholder, rendering at a lower resolution, setting the timings in the image, and rendering at full resolution). If you use a service like YouTube to host your videos, you can also add links to particular times in the description of the video. I do this because very few people will watch the entire video (according to YouTube Analytics, only twenty percent of my viewers watch my videos on science-related topics to completion) and I want viewers to find what they're looking for and not waste time.
- Make editing easier for yourself! Number your video and audio clips and know what you're planning to make before you start recording.
- Provide closed captions or a transcript if at all possible. This can be very helpful to people watching in an office environment. Some content creators who don't record themselves speaking, like "Primitive Technology," use it as an optional description of what's being done.
- If you don't have a microphone, you can use a cell phone (with applications like "Voice Recorder") and add the audio in post. It might be worth getting a cardioid microphone, however, to minimize clicking and typing noises.
- It's possible to record on multiple platforms with FFmpeg, though you'll need to be comfortable with the command line. The syntax is quite simple and is documented well. To record Linux at 30 FPS and a resolution of 1920 by 1080 pixels, for instance, you could use
You can record multiple monitors by changing the resolution (it works quite intuitively) or specify the monitor by adding an offset from the monitor it would have recorded, such as
Code: Select all
ffmpeg -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0 output.mp4
to start recording 1920 pixels to the right of your current screen (measured from the top left corner).Code: Select all
ffmpeg -video_size 1920x1080 -f x11grab -r 30 -i :0.0+1920,0 output.mp4
FFmpeg is also very useful for converting videos and correcting those made with software that doesn't play nicely with others (QuickTime Player on macOS, for instance, doesn't have a set framerate).will ensure the framerate is 30 FPS. The scale option allows you to convert videos with sizes that are not divisible by 2 (which is not permitted by libx264) because it halves the video size, truncates it, then multiplies it by 2 so it's guaranteed to be even. This saves a lot of headaches.Code: Select all
ffmpeg -y -i input.mp4 -r 30 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -b:v 3M -strict -2 -movflags faststart output.mp4
- Open Broadcaster Software has been mentioned here before. It works very well for more complex recordings because it's made for video game streamers who tend to add images and other content to videos and record only part of the screen.
- macOS has a built-in recording utility in QuickTime Player, but the output isn't the best and may have inconsistent framerates and compression (it uses QuickTime File Format). Kap is a similar program that tends to have more consistent compression (but still has issues with framerates). You can fix this with FFmpeg (see above).
- Blender has the Video Sequence Editor to edit videos. This isn't supported as well as the three-dimensional modeling capabilities and some things you would expect to find in video editors may be broken or missing entirely. It's very powerful, however, and has support for compositing; masking; transformations (like zooming and moving about the screen); audio; images; custom resolutions, framerates, and codecs; and color correction.
- OpenShot is a simple video editor that can be used to split and combine segments of audio and video. It's not nearly as powerful as Blender, but it's much easier to use.
- Audacity can record and edit audio. I record with Audacity and match audio and video when editing my videos. It has some very useful features that I use to reduce noise and make sure I have a consistent volume across segments of audio.
- Inkscape is what I use for images. It is used to edit and create vector graphics and can export in raster formats. GIMP can be used to edit raster images and has limited support for vectors.
I've stumbled with all the tools I've mentioned over the years and can probably offer advice to those who are struggling. I use macOS, Linux, and Windows for work (which is why I tend to choose cross-platform software) and should be able to walk through using much of the software I've included in this post. Please, don't hesitate to ask if you have any questions!