smartfilming

Exploring the possibilities of video production with smartphones

#13 The Xiaomi Mi A1 – A good budget option for mobile videography? — 9. May 2018

#13 The Xiaomi Mi A1 – A good budget option for mobile videography?

The Xiaomi Mi A1 is Xiaomi’s first “officially” internationally available phone.

Xiaomi has been a really big name in China’s smartphone market for years, promising high-end specs and good build quality for a budget price tag – but only at the end of last year did they officially enter the global scene with the Mi A1. The Mi A1 is basically a revamped Mi 5X running stock Android software instead of Xiaomi’s custom Mi UI. It’s also part of Google’s Android One program which means it runs a ‚clean‘ Google version of Android that gets quicker and more frequent updates directly from Google. For a very budget-friendly 180€ (current online price in Europe) you get a slick looking phone with dual rear cameras, featuring a 2x optical zoom telephoto lens alongside the primary camera. Sounds like an incredible deal? Here are some thoughts about the Mi A1 regarding its use as a tool for media production, specifically video.

After spending a couple of days with the Mi A1, I would say that this phone is definitely a very interesting budget-choice for mobile photographers. The fact that you get dual rear cameras (the second one is a 2x optical zoom as mentioned before) at this price point is pretty amazing. The photo quality is quite good in decent lighting conditions (low light is problematic but that can be said of most smartphone cameras), you get a manual mode with advanced controls in the native camera app and the portrait mode feature does a surprisingly good job at creating that fancy Bokeh effect blurring the background to single out your on-screen talent. A lot of bang for the buck. Video – which I’m personally more interested in – is a slightly different story though.

Let’s start with a positive aspect: The Xiaomi Mi A1 lets you record in UHD/4K quality which is still a rarity for a budget phone in this price range. And hey, the footage looks quite good in my opinion, especially considering the fact that it’s coming from a (budget) smartphone. I have uploaded some sample footage on YouTube so see for yourself.

The video bitrate for UHD/4K hovers around 40 Mbps in the native app which is ok for a phone but the audio bitrate is a meager 96 Kbps (same in FHD) – so don’t expect full, rich sound. But this is only the beginning of a couple of disappointments when it comes to video: One of the Mi A1’s promising camera features, the 2x optical zoom lens, CANNOT be used in the video mode, only in the photo mode! What a bummer! This goes for both the native camera app and 3rd party apps.

Despite running a stock version of Android and being part of Google’s Android One program, the Camera2 API support level is very disappointing.

Talking about 3rd party camera apps, it’s also a huge let-down that the Camera2 API support (what is Camera2 API?) is only „Legacy“ out of the box, even though the Mi A1 is part of Google’s Android One program. „Legacy“ means that third party camera apps can’t really tap into the new, more advanced camera controls that Google introduced with Android 5 in 2014, like precise exposure control over ISO and shutter speed. Due to this, you can’t install an app like Filmic Pro in the first place and other advanced camera apps like Cinema FV-5, ProShot, Lumio Cam, Cinema 4K, Footej Camera or Open Camera can’t really unleash their full potential. Interestingly, there seems to be a way to „unlock“ full Camera2 support via a special procedure without permanently rooting your device (look here) but even after doing so, Filmic Pro can’t be installed, probably because the PlayStore keeps the device’s original Camera2 support information in its database to check if the app is compatible without actually probing the current state of the phone. This is just an educated guess however. Still, many of us might not feel comfortable messing around with their phone in that way and it’s a pity Xiaomi doesn’t provide this out-of-the-box on the Mi A1.

UI of the video mode in Xiaomi’s native camera app on the Mi A1. You can tap to focus and adjust the exposure (+/- 2 EV), but not lock it.

Lackluster Camera2 API support can be remedied by a good native camera app but unlike with photos, there is no pro or manual mode for videos on the Mi A1, it’s actually extremely limited. While you can lock the focus by tapping (there are two focus modes, tap-to-focus and continuous auto-focus), you are only able to adjust the auto-exposure within a certain range (EV), not lock it. There’s also no way to influence the white balance. Shooting in a higher frame rate (60fps)? Not possible, not even in 720p (there’s a not-too-bad 720p slow-motion feature though). Apropos frame rates: I noticed that while the regular frame rate is the usual 30fps, the native camera app reduces the fps to 24 (actually 23.98 to be precise) when shooting under low-light conditions to gain a little bit more light for each frame. That’s also the reason why I made two different YouTube videos with sample footage so I was able to keep the original frame rate of the clips. I have experienced this behaviour of dropping the frame rate in low-light in quite a few (native) camera apps on other phones as well and from the standpoint of a run-of-the-mill smartphone user taking video this is actually an acceptable compromise in my opinion (as long as you don’t go below 20fps) to help tackle the fact that most smartphone cameras still aren’t naturally nocturnal creatures. It can however be a problem for more dedicated smartphone videographers that want to edit their footage as it’s not really good to have clips in one project that differ so much in terms of fps. 3rd party apps might help keeping the fps more constant.

And there are still two other big reasons to use a 3rd party app on the Mi A1 despite the lack of proper Camera2 API support: locking exposure and using an external microphone via the headphone jack (yes, there is one!). One more important shortcoming to talk about: It’s not too surprising maybe that there is no optical image stabilization (OIS) on a phone in this price range but given the fact that you can shoot 4K, I would have expected electronic image stabilization (EIS) at least when shooting in 1080p resolution. But there’s no EIS in 1080p which means that you should put the phone on a tripod or use a gimbal most of the time to avoid getting shaky footage. With a bit of practice you might pull off a decent handheld pan or tilt however to avoid having only static shots.

So I’ve talked about the video capturing part, what about editing video on the Mi A1? The phone sports a Snapdragon 625 which is a slightly dated but still quite capable mid-ranger chipset from Qualcomm. You can work with up to two layers (total of three video tracks) of FHD video in KineMaster and PowerDirector (the two most advanced Android video editing apps) which will suffice for most users. Important note: DON’T run the hardware analysis test in KineMaster though! It’s a hardware probing procedure meant to better determine the device’s capabilities in terms of editing video in the app. While the device capability information originally says you can have two QHD (1440p) video layers, it will downgrade you to two 720p (!) layers after running the analysis – quite strange. Don’t worry though if your evil twin grabs your phone and runs the test anyway – you just have to uninstall and then reinstall KineMaster to get back to the original setting. I ran some quick tests with FHD 1080p layers and it worked fine so just leave everything as is. Since the phone can shoot in UHD/4K resolution you might ask if you can edit this footage on the device. While you can’t edit 4K in KineMaster on the Mi A1 at all (when trying to import 4K footage the app will offer you to import a transcoded QHD version of the clip to work with) you can import and work with UHD/4K in PowerDirector, but only as a single video track, layers are not possible.

So let’s wrap this up: Xiaomi’s first internationally available phone is a great budget option for mobile photographers but the video recording department is let down by a couple of things which makes other options in this price range more appealing to the smartphone videographer if advanced manual controls and certain pro apps are of importance. As I pointed out though, it’s not all bad: It’s still hard to find a phone for that price that offers UHD/4K video recording – and the footage looks even pretty good in decent lighting conditions. So if you happen to have a Mi A1 – there’s no reason at all to not create cool video content with it – if you achieve a nice video package you can even be more proud than someone with a flagship phone! 😉

#10 Important update on the subject of Camera2 API — 26. March 2018

#10 Important update on the subject of Camera2 API

So some time ago I made a blog post about the topic of Camera2 API on Android devices and why it is important if you are interested in doing more advanced videography on your smartphone. If you don’t have a clue about what Camera2 API is, please check out my previous article before continuing to read this. One of the things that my previous article suggested was that you need a device with „Full“ or „Level 3“ Camera2 API support built into the Android OS by the manufacturer of the phone to take advantage of pro video recording apps. If your device has only „Legacy“ or „Limited“ Camera2 API support then you are not able to even install an app like Filmic Pro. However, after recently getting an Honor 6A into my hands, I need to differentiate and clarify some things.

The Honor 6A is a budget device from Huawei’s sub-brand Honor and shows „Limited“ Camera2 API support level, when testing with a probing app like Camera2 probe. I do own a fair amount of different smartphones to test with, but I realized that before getting the Honor 6A, I had only had phones with either „Legacy“ support level or „Full“/„Level 3“, none with the in-between „Limited“. And while the „Limited“ status does mean that you can’t install Filmic Pro at all and not activate the pro-mode in Lumio Cam, other pro video recording apps are not that picky and salvage what the „Limited“ support level gives them over „Legacy“ (the worst Camera2 API support level out of the four mentioned) instead of blocking the installation altogether. The other pro video recording apps I am talking about are Open Camera, ProShot, Footej Camera and Vimojo. If your device has „Limited“ Camera2 API support that includes manual exposure etc. you will be able to use these features (for instance control of ISO and shutter speed) in the aforementioned apps. Please note that when using ProShot, Footej Camera or Vimojo, Camera2 API is automatically activated whereas with Open Camera you will have to go into the settings, activate the usage of Camera2 API and restart the app.

Manual exposure controls in Open Camera.

Anyway, this is very good news for all those rocking an Android device that has only „Limited“ Camera2 API support: Prominent examples of such devices would be fairly recent Huawei phones including their flagship P-series (starting with the P9 / P9 Lite & newer, same should go for their Honor sub-brand) and fairly recent iterations of Samsung’s mid-range A-series (A3, A5, A7) – possibly also the entry-level J-series (J3, J5, J7). You still can’t use FilmicPro on these devices, but other pro video recording apps come to the rescue and do give you more advanced controls.

P.S.: These findings are also of relevance to owners of Sony phones. As I explained in my first blog post about Camera2 API, FilmicPro has (still) blacklisted Sony phones (even those with „Full“ or „Level 3“ support level) because of severe problems that they encountered during testing.

#7 The cheapest Android phone with relevant pro video specs? — 10. July 2017

#7 The cheapest Android phone with relevant pro video specs?

The Nextbit Robin

I’ve been spending quite some time in the last months doing research on what device could qualify as the cheapest budget Android phone that still has certain relevant pro specs for doing mobile video. While it might be up to discussion what specs are the most important (depending on who you ask), I have defined the following for my purposes: 1) decent camera that can record at least in FHD/1080p resolution, 2) proper Camera2 API support to run pro camera apps with manual controls like Filmic Pro (check out my last post about what Camera2 API is), 3) powerful enough chipset that allows the use of video layers in pro video editing apps like KineMaster and PowerDirector, 4) support for external microphones (preferably featuring a headphone jack as long as there are no good all-wireless solutions available).

The greatest obstacle in this turned out to be No. 2 on the list, proper Camera2 API support. Apart from Google’s (abandoned?) Nexus line which also includes a budget option with the Nexus 5X (currently retailing for around 250€), phone makers (so far) have only equipped their flagship phones with adequate Camera2 API support (meaning the hardware support level is either ‘Full’ or ‘Level 3’) while mid-range and entry-level devices are left behind.

Recently, I happened to come across a rather exotic Android phone, the Nextbit Robin. The Nextbit Robin is a crowdfunded phone that came out last year. Its most notable special feature was the included 100GB of cloud storage on top of the 32GB internal storage. While the crowdfunding campaign itself was successful and the phone was actually released, regular sales apparently have been somewhat underwhelming as the phone’s price has dropped significantly. Originally selling for a mid-range price of 399$, it can now be snagged for around 150€ online (Amazon US even has it for 129$). As far as I know, it is now the cheapest Android device that checks all the aforementioned boxes regarding pro video features, INCLUDING full Camera2 API support! Sure, it has some shortcomings like mediocre battery life (the battery is also non-replaceable – but that’s unfortunately all too common these days) and the lack of a microSD storage option (would have been more useful than the cloud thing). It also gets warm relatively quick and it’s not the most rugged phone out there. But it does have a lot going for it otherwise: The camera appears to be reasonably good (of course not in the same league as the ones from Samsung’s or LG’s latest flagships), it even records video in UHD/4K – though it’s no low light champion. The Robin’s chipset is the Snapdragon 808 which has aged a bit but in combination with 3GB of RAM, it’s still a quite capable representative of Qualcomm’s 800-series and powerful enough to handle FHD video layers in editing apps like KineMaster and PowerDirector which is essential if you want to do any kind of a/b-roll editing on your video project. It also features a 3.5mm headphone jack which makes it easy to use external microphones when recording video with apps that support external mics. The most surprising thing however is that Nextbit implemented full Camera2 API support in its version of Android which means it can run Filmic Pro (quite well, too, from what I can tell so far!) and other advanced video recording apps like Lumio Cam and Cinema 4K with full manual controls like focus, shutter speed & ISO. One more thing: The Robin’s Android version is pretty much as up-to-date as it gets: While it has Android 6 Marshmallow out of the box, you can upgrade to 7.1.1 Nougat (the latest version is 7.1.2).

So should you buy it? If you don’t mind shelling out big bucks for one of the latest Android flagship phones and you really want the best camera and fastest chipset currently available, then maybe no. But if you are looking for an incredible deal that gives you a phone with a solid camera and a whole bunch of pro video specs at a super-low price, then look no further – you won’t find that kind of package for less at the moment.

#6 What the hell is Camera2 API and why should I know about it? — 17. June 2017

#6 What the hell is Camera2 API and why should I know about it?

 

Manual controls for exposure and focus in Filmic Pro V6 (current Android beta version).

This blog post is trying to shed some light into one of Android’s fragmentation corners – one that’s mainly relevant for people interested in more advanced photography and videography apps to take manual control over their image composition.

First off, I have to say that I’m not a coder / software expert at all so this comes from a layman’s point of view and I will – for obvious reasons – not dig too deep into the more technical aspects underneath the surface.

Now, what is an API? API stands for „application programming interface“. An operating system uses APIs to give (third party) developers tools and access to certain parts of the system to use them for their application. In reverse, this means that the maker of the operating system can also restrict access to certain parts of the system. To quote from Wikipedia: „In general terms, it is a set of clearly defined methods of communication between various software components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer.“ Now you know it.

Up to version 4.4 (KitKat) of Android, the standard API to access the camera functionality embedded in the OS was very limited. With version 5 (Lollipop), Google introduced the so-called Camera2 API to give camera app developers better access to more advanced controls of the camera, like manual exposure (ISO, shutter speed), focus, RAW capture etc. While the phone makers themselves are not necessarily fully dependent on Google’s new API, because they can customize their own version of the Android OS, third party app developers are to a large extend – they can only work with the tools they are given.

So does every Android device running Lollipop have the new Camera 2 API? Yes and no. While Camera2 API is the new standard Camera API since Android Lollipop, there are different levels of implementation of this API which vary between different phone makers and devices. There are four different levels of Camera2 implementation: Legacy, Limited, Full and Level 3. ‚Legacy‘ means that only the features from the old Camera1 API are available, ‚Limited‘ means that some features of the new API are available, ‚Full‘ means that all basic new features of Camera2 are available and ‚Level 3‘ adds some bonus features like RAW capture on top of that.

From the official Android documentation for developers.

Depending on the level of implementation, you can use those features in advanced image capturing apps – or not. An app like Filmic Pro can only be installed if the Camera2 support level is at least ‚Full‘ – otherwise you can only install the less feature-packed Filmic Plus. Lumio Cam on the other hand can be installed on most devices but you can only activate the pro mode with manual exposure and focus if the support level is at least ‚Full‘ again. So if you’re interested in using advanced third party apps for capturing photos or recording video with manual exposure controls etc. you want to have a device that at least has ‚Full‘ Camera2 API support.

But what devices have ‚Full‘ Camera2 support? Currently there are two main categories: Google hardware (phones) and (many/most) flagship phones that were released after Android Lollipop came out. Actually, it seems that the latter really only got going with Android 6 Marshmallow (I guess phone makers needed some time to figure out what this was all about ;)) It doesn’t come as a surprise that Google gives their own devices full support (Nexus & Pixel lines). That means even an almost ancient, pre-Lollipop device like the original Nexus 5 has received full support in the meantime (via OS update). Of course all Nexus phones after that (Nexus 6, Nexus 5X, Nexus 6P) are included and it goes without saying Google’s Pixel phones as well.

Now let’s head over to other smartphone manufacturers (so-called OEMs, Original Equipment Manufacturers) like Samsung, LG, HTC, Huawei, Sony, Lenovo/Motorola, OnePlus etc. Many of them offer at least the crucial ‚Full‘ support level on their flagships that came out with Android 6 Marshmallow installed, some already on the ones that came out with Android 5 Lollipop: Samsung with it’s S-series (S6, S6 Edge, S6 Edge Plus via update, S7, S7 Edge etc.), LG with its G-series (starting with the G4) and V-series (starting with the V10), HTC (starting with the HTC 10), Lenovo/Motorola (starting with the Moto Z), OnePlus (starting with the OnePlus 3/3T), and Sony (starting with the Xperia Z5 via update as far as I know). Sony however is a special case: Their Xperia series has been blacklisted by the developers of FilmicPro/Plus because of major issues that occurred with their devices – you can’t install their apps on a Sony phone at the moment. On the other hand, there are also a few major smartphone OEMs that yet have to offer full Camera2 support for their flagships, the most prominent black sheep being Huawei with its P & Mate series, even the brand new Huawei P10 with all its camera prowess has only limited support. The same goes – unsurprisingly – for Huawei’s budget brand Honor. Other OEMs that don’t offer full Camera2 support in their flagships include Asus (Zenfone 3) and Blackberry (KeyOne). Let’s hope that they will soon add this support and let’s also hope that proper support trickles down to the mid-range and maybe even entry-level phones of the Android universe.

Are you curious what Camera2 support level your phone has? You can use two different apps (both free) on the Google Play Store to test the level of Camera2 implementation on your device. Camera2 probe & Camera2 Probe.

You can also find a (naturally incomplete) list of Android devices and their level of Camera2 API support here, created and maintained by the developer of the app „Camera2 probe“:

https://github.com/TobiasWeis/android-camera2probe/wiki

If you have a device that is not listed, you can help expanding the list by sending your device’s results (no personal data though) to the developer (there’s a special button at the bottom of the app).

For more in-depth information about Camera2 API, check out these sources:

https://spectrastudy.com/camera2-api-on-mwc-2015-devices/

https://developer.android.com/reference/android/hardware/camera2/package-summary.html

If you have questions or comments, feel free to get in touch!