It’s been nice to really see this project make so much progress.
I was wondering what the current state on recording video is? I couldn’t find any demos.
Specifically, I am interested if the Librem 5 has good audio/video sync and frame rate. I’ve had issues recording video on my Linux laptop where I get bad sync because the processor is not prioritizing the video. Will the Librem have similar “real-time” capture as Android devices?
Currently, I believe that they are only able to kind of make phone calls work which doesn’t even work so great yet and the camera not being able to work at all in anyway yet so this seems still a long ways away. From a person who isn’t optimistic practically ever in his life, I think video will have good audio and video sync, terrible camera quality, pretty low but not a horrific frame rate, poor audio quality and possibly bad echo for video calls.
If you are not satisfied with advice here on the forums or you would like a demo, try contacting the purism team via email and simply asking for a demo or if you think they may create a bias in their demo video, try contacting L5 owners to ask them to make a demo video when support for the camera to work is added in the next software update. If no L5 owner here wants to do something like that on here, search up those that have done testing with the L5 on youtube and ask them there or on their other social media.
edit: it is firstname.lastname@example.org for general questions and other emails are shown on this thread: How to properly send emails to Purism
The cameras are not yet supported in the Librem 5. Watch these bug reports to see when they are supported: Support front phone camera and Support rear phone camera.
If I remember correctly, there was a Linux kernel commit to support the front camera, but I can’ t find it, so either I’m not searching in the right place or I’m miss-remembering.
What you are probably seeing is the hardware video encoding provided by the Snapdragon, Exynos or MediaTek Helio. Unfortunately, the i.MX 8M Quad in the Librem 5, doesn’t offer hardware video encoding, nor does it have an image signal processor. It is hard to say what it will do without testing it, but I wouldn’t expect anything special.
The i.MX 8M Plus in the Fir batch will do better, since it has an image signal processor and it has a sample application that records 4K at 30 fps.
One more thing on the image signal processor (ISP) in the Fir batch. The i.MX 8M Plus fact sheet says “Dual Camera ISP (2x HD/1x 12MP) HDR, dewarp” and “Up to 375 MP/s”. Usually “2x HD” just means two 720p video streams, but the fact that they got 4K video at 30fps to work tells me that the ISP is more powerful than what NXP is listing in its spec sheet.
Another question is whether we will have free/open drivers to use the hardware encoders for H.264 and H.265 1080p video in the Plus. It is taking quite a while to get support in mainline Linux for the Hantro H1/H2 video decoders in the i.MX 8M Quad, so I wouldn’t be surprised if we have the same problem with the hardware video encoders in the Plus.
What we know is that video encoding on the Librem 5 Evergreen will have to be done in software. Software video encoding is usually done by the CPU and more CPU cores helps, but the four Cortex-A53 cores in the i.MX 8M Quad aren’t very powerful. If some of the encoding work can be passed to the GPU, that will definitely help, since the GPU in the i.MX 8M Quad is decent. Either way, software video encoding in Evergreen is going to use up a lot of battery and generate a lot of heat.
Hopefully we will get an option to do raw video recording, which will take up a lot of space and depends on how fast data can be written to the eMMC or uSD, but it might allow for higher resolution video, because the video encoding processing can be done later. It looks like we are getting Samsung image sensors, but still don’t know the particular model. If we know the model, we can investigate if its mainline Linux driver will provide an option for raw video recording.
Wow, thank you for the well researched responses. I’m pretty comfortable with Linux but this topic of hardware is way more complex than I imagined. Sounds like there are multiple ways to achieve the same result (excluding battery life) hopefully a good solution develops. I would love to drop some money on one of these devices but I guess I’ll have to wait until after another hardware update.