I wanted to use a “proper” camera as a webcam, and ran into some difficulties with compatibility between the camera and the adapter.
TL;DR – if you get ‘No Connection’ outputting HDMI from an Olympus camera, select a lower resolution and data rate. Carefully test higher resolution, frames per second, and data rate options, and work out which ones are not compatible.
A video posted by Justin Reves on YouTube tipped me off to the problem. Here’s some more details.
Like Justin, I was trying to use an Olympus OM-D EM-1 Mk2 camera. Not all Olympus cameras have the option of a clean HDMI feed, such as the EM-1 Mk1. Don’t be like me, and assume it does.
HDMI output is configurable (menu D4, in the ‘cog’ section)
- HDMI output options: C4K, 4K, 1080p, 720p.
- HDMI control on/off
- 50p priority, 60p priority
I run the camera with the video mode selected on the top dial, and I think this comes with a bunch of additional settings in the menus.
In the video menu, set ‘record mode’ as output mode, to get a clean HDMI feed.
There’s more settings in the video menu, under specification settings, where video quality is configured. Image size, compression, bit rate can be changed to settings like: M-JPEG HD, C4K 24p, FHD 50p, 4K 25p.
More on that later.
I bought a generic video capture adapter, £15-£20. I picked one with a USB-C connector, though oddly the specifications say it’s USB2. There are more expensive options from recognizable brands, but I wanted to dip my toe in without too much expense.
Broadly, I’ve found this to be more than adequate.
- Maximum input of 3840×2160@30hz
- 8/10/12 bit colour
- Outputs YUV, JPEG at a maximum of 1920×1080@60hz
It operates as a generic webcam. I’m using it with Ubuntu 18.04, no special software needed.
I had fiddled around with the camera settings, and in the process, ended up with a camera that was refusing to work: it just displayed ‘No Connection’ on the display.
Justin’s video clued me up as to why, I’d selected an output format on the camera that either exceeded the HDMI spec supported by the adapter, or exceeded the resolution it supported.
There’s six configurable options for video resolution, frame rate, compression etc. under ‘specification settings’. Selecting each allows customisation of the settings. These are then available to select from in the camera’s grid menu.
In some cases the frame rate (eg: 25p, 50p etc.) doesn’t seem to affect the data rate that the camera quotes. I guess the camera tackles this via compression, which is also configurable. Fine, Superfine, Normal are IPB, and A-I (All-I) can also be selected.
Options 2 and 3 below, for example, differ only in the compression option picked – but the data rate almost quadruples.
- 102mbps: MOV 4K (3840×2160)
- 52mbps: MOV FHD superfine (IPB) (1920×1080)
- 202mbps: MOV FHD A-I compression option (1920×1080)
- 30mbps: MOV FHD fine (1920×1080)
- 16mbps (50fps), 18mps (60fps): MOV FHD normal (1920×1080)
- 237mbps: C4K 24fps (4096×2160) (C4K only seems to be selectable on the last option)
The HDMI wikipedia page has lots of details on the different specifications etc.
HDMI 1.4 supports 3840×2160 at 24-30hz, which is consistent with the adapter’s specifications, and is the 4K setting on the camera. 1.4 It also supports C4K at 24hz, but the adapter doesn’t.
The C4K (Cinema 4K?) setting definitely triggers ‘No Connection’ to occur. Justin’s experience suggests high data rates can also trigger this – perhaps lower spec adapters, or lower speed USB connections would trigger at, say, 202mbps.
I couldn’t find a high data rate 1080p setting that triggered this with my settings, and the camera seems to have limited options for 4K.
Once triggered, such as accidentally selecting C4K from the grid menu, ‘no connection’ is a bit of a pain – the camera has to be disconnected from HDMI to be reconfigured.
TL;DR I’m using M-JPEG HD
For my purposes, as a webcam, a colleague advised using M-JPEG. I’ve been using the M-JPEG HD setting, which is 1280×720. I’d not fully appreciated that wasn’t 1080p, but I’d also not noticed. The adapter may be upsampling. Either way, it’s in a different league from the laptop webcam.
From wikipedia: “Motion JPEG enjoys broad client support: most major web browsers and players provide native support”. Each frame is compressed, there’s no inter-frame compression (like MPEG, for example). Wikipedia goes on to suggest it’ll look nicer as it’s less prone to compression artifacts.
Given that M-JPEG is well supported client side, it doesn’t make sense for the camera to compress it some other way (IPB or All-I) and for the USB adapter or computer to do more work turning it into MJPEG.
Similarly, as the HDMI-to-USB adapter only outputs 1080p, giving it a 4K signal creates work for it. I don’t think I’ve had any problems with the adapter overheating.