RPI4 - video playback

Raspberry Pi 4: Chronicling the Desktop Experience – Screencasting – Week 13

This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers.

Given the multimedia strengths of the RPI4, I’ve spent a few weeks covering video streaming, then examining the viability of the RPI4 to play locally stored video, before turning to examining the RPI4 as a home theater. Continuing this theme, for this week’s blog I look at the RPI4 as a screencaster (i.e. screen recording).

In the field of open source video recording, my preferred application is OBS Studio. It’s a truly first class cross-platform application that’s excellent for both video recording and live streaming. Open source at its very best. Sadly, the software is not available in the Raspbian repositories. I did expend considerable effort trying to compile the software on the RPI4. While I got fairly close, I wasn’t able to successfully build the software. If you’ve got OBS Studio running on the RPI4, I’d love to hear from you. [Update: 11 March 2020 – Thanks to the community, I now have OBS Studio running on Raspbian – See Week 20 of my blog].

There are a few screencasters present in the Raspbian repositories. I’ve looked at vokoscreen and Peek. Let’s start with vokoscreen. The Raspbian repositories host version 2.5.0 which is an old version that uses FFmpeg to record. The developers of vokoscreen have moved away from FFmpeg, and use GStreamer instead, renaming the project vokoscreenNG in the process. The Raspbian repositories don’t offer vokoscreenNG so you miss out on a lot of recent development improvements in the software.

If you’re concerned whether the RPI4 has sufficient grunt to create full screen screencasts, you’d be right. Unless your screen resolution is very low, you’ll be disappointed with performance. The RPI4 isn’t powerful enough to offer full screen smooth video capture using vokoscreen.

Things are a lot better if you only need to capture a window with vokoscreen. In the video below, I’m capturing a game of chess with the StingRay interface and fruit chess engine. The window size is 1000 x 778 pixels.

We’re capturing at 30 frames per second in the mp4 format. The video is far from perfectly smooth, but it’s reasonable. From a technical perspective, FFmpeg was consuming around 165% of CPU (i.e 1.65 of the 4 cores) when capturing this video. You also need to take into account the extra burden on Xorg, which adds another 26% of CPU. Even though there were plenty of spare CPU cycles (taking into account CPU used by StingRay and fruit), video capture in this instance wasn’t great.

Performance is much better if you capture smaller windows. If you’re looking to capture screencasts of terminal emulator sessions, things are good. I was able to create a tutorial series of mp4 videos for colleagues on the RPI4 with vokoscreen.

An alternative to vokoscreen is Peek. Peek is designed to make short screencasts. It’s not a general purpose screencast application like OBS Studio. Instead, peek captures silent screencasts of part of the screen. Examples of its usage including demonstrating user interface features of software, or creating a visual bug report. The software supports recording in GIF, APNG, WebM and MP4 formats. Even though Peek uses the same underlying software (FFmpeg) to capture the video, it uses more CPU cycles. I’m investigating why this is the case.

There are other screencasting software in the Raspbian directories. Examples include recordMyDesktop (together with its GTK frontend), Kazam, SimpleScreenRecorder, and Byzanz. If you’ve used these programs, do share your feedback below.

Summary

When it comes to creating full screen screencasts, the RPI4 doesn’t really have sufficient grunt unless you’re running at low resolutions. But for capturing video from small windows, it’s more than capable. Just make sure you don’t push the frames per second too far, and keep the capture window size reasonably modest.

It’s disappointing that I couldn’t get OBS Studio running on the RPI4. This is a recurring problem with ARM architecture. There’s lots of great software that’s not available in the Raspbian repositories. And compiling software on ARM isn’t always trivial. Software developers have enough problems providing support for the huge myriad of Linux distributions. Being able to also support architectures like ARM is often a bridge too far.

UPDATE – thanks to the community, I’ve got OBS Studio running on the RPI4. See Week 20.


Read all my blog posts about the RPI4.

Raspberry Pi 4 Blog
Week 36Manage your personal collections on the RPI4
Week 35Survey of terminal emulators
Week 34Search the desktop with the latest version of Recoll
Week 33Personal Information Managers on the RPI4
Week 32Keep a diary with the RPI4
Week 31Process complex mathematical functions, plot 2D and 3D graphs with calculators
Week 30Internet radio on this tiny computer. A detailed survey of open source software
Week 29Professionally manage your photo collection with digiKam
Week 28Typeset beautifully with LyX
Week 27Software that teaches young people how to learn basic computing skills and beyond
Week 26Firefox revisited - Raspbian now offers a real alternative to Chromium
Week 25Turn the Raspberry Pi 4 into a low power writing machine
Week 24Keep the kids learning and having fun
Week 23Lots of choices to view images
Week 22Listening to podcasts on the RPI4
Week 21File management on the RPI4
Week 20Open Broadcaster Software (OBS Studio) on the RPI4
Week 19Keep up-to-date with these news aggregators
Week 18Web Browsers Again: Firefox
Week 17Retro gaming on the RPI4
Week 16Screen capturing with the RPI4
Week 15Emulate the Amiga, ZX Spectrum, and the Atari ST on the RPI4
Week 14Choose the right model of the RPI4 for your desktop needs
Week 13Using the RPI4 as a screencaster
Week 12Have fun reading comics on the RPI4 with YACReader, MComix, and more
Week 11Turn the RPI4 into a complete home theater
Week 10Watching locally stored video with VLC, OMXPlayer, and others
Week 9PDF viewing on the RPI4
Week 8Access the RPI4 remotely running GUI apps
Week 7e-book tools are put under the microscope
Week 6The office suite is the archetypal business software. LibreOffice is tested
Week 5Managing your email box with the RPI4
Week 4Web surfing on the RPI4 looking at Chromium, Vivaldi, Firefox, and Midori
Week 3Video streaming with Chromium & omxplayerGUI as well as streamlink
Week 2A survey of open source music players on the RPI4 including Tauon Music Box
Week 1An introduction to the world of the RPI4 looking at musikcube and PiPackages

This blog is written on the RPI4.

Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.