I would like to run a multimedia windows application to run on a compact single board computer.

Here are the requirements:

  1. 4K@30fps HDMI input
  2. 4K@30fps HDMI output
  3. 2 USB 3.0
  4. Windows OS
  5. Powerful board capable of encoding and decoding 4K video

I am wondering if there is any Single board that can match the above requirents?

  • Hello there. Afaik there isn't a compact board with an HDMI Input integrated. You will need to use a PCI-E slot for a video capture card or an external USB 3.0 capture card. Why is it that you need a single board? You will always have USB or PCIe slots available even in a very compact PC. – Natsu Kage Jan 24 at 19:20
  • No SBC x86 CPU is powerful enough to encode a 9 Gbps video stream (8-bit, 4K, 60hz, YUV 4:2:0 over HDMI) in real time. You're going to need a dedicated hardware encoder chipset. That's the sort of tech you get on those USB 3.0 or PCIe capture devices, but even those record 4K at just 30 fps or down-scale the video to 1080p to keep up with 60 fps. Any SBC that has an encoding chip is not likely to outperform those dedicated encoding devices. – Romen Jan 24 at 21:19
  • Agree with what's been said so far. I will ask though, why do you need Windows? There are Jetson-based SBCs that can keep up with a 4K@60 encode and can accept HDMI input with a little finagling. Is it just because that's what you happen to know? If so, I would be happy to recommend alternative software. – JMY1000 Jan 25 at 3:50
  • @JMY1000 I have used direct show in my Software and few other windows API's so I have this as a requirement. I have tried connecting Jetson Nano with an External adapter and attached a Capture card for HDMI Input. But, Jetson Nano doesn't seem to detect the PCIe x4 device. – Veera Jan 25 at 9:43
  • @NatsuKage I would need an SBC as I would like to integrate it to my other products and the size of the SBC is very important for my product. – Veera Jan 25 at 9:49

There is no board that fits your exact requirements. Get an add-in capture card.

Assuming we allow 4K@30 output, getting 4K out is a pretty simple task since most every board supports HDMI 1.4. Unfortunately, encoding a 4K stream, even at 30 Hz, is an extremely demanding task, and putting that requirement on an SBC makes things... complicated. Let's run through some of the options.

x86 boards with video input

Intel embed-oriented processors—namely Apollo Lake and Cherry Trail—contain support for the MIPI-CSI interface, and there are a variety of boards with support for these processor lines. However, only a few actually have a the requisite connector on the board. From most to least powerful, they are the UP² and PICO-APL3, UP Core Plus, Up Core and ROCK Pi X.

Interfacing with the MIPI-CSI port can be accomplished through the use of an HDMI to CSI bridge. Toshiba manufactures three such chips: the TC358743XBG, TC358840XBG, and TC358870XBG, the latter two of which support 3840x2160@30. However, there is no reference or development board available to my knowledge, and the only consumer boards available—the Auvidea B100, B101, and B102—use the TC358743XBG. Additionally, these boards rely on a V4L2 driver to interface properly—something that obviously isn't available on Windows. While it's possible that they'd work just fine with Windows, it's hard to say. Outside of these, you'd be resorting to designing your own board or trolling AliExpress for an appropriate board.

Further, Apollo Lake and Cherry Trail processors are... not powerful. I wouldn't trust them to perform a high quality software encode, and given they only have HD Graphics 505 at best, I wouldn't trust them to handle it with Quick Sync Video either.

Powerful ARM boards with CSI video input

I know you've already discussed it to some extent, but the Jetson does make a fairly compelling case. It's got the most powerful GPU of any SBC I know, and 4K encode with NVENC should be will within reach—and NVENC looks good, even compared to a software encoder. Unfortunately, it's obviously not going to run standard Windows, so unless your application happens to run on Windows 10 on ARM, you'd have to refactor your application. Further, it uses MIPI-CSI for video input, not HDMI, which puts us back in the same situation as the x86 boards where there's (as of yet) no adapter.

ARM boards with HDMI video input

Similarly, there are a number of boards with HDMI video input. Unfortunately, most of these boards aren't particularly powerful, nor do they support standard desktop Windows, giving us many of the same problems as before.

  • i.MX boards: Several i.MX SoCs include built-in support for MIPI-DSI video input, making them a popular and simple choice. Unfortunately, they're generally not powerful.
    • Ventana GW5510: i.MX6 ARM 1c A9 @ 800 MHz. Only lists support for 1080p@60 input and output.
    • Geniatech NXP i.MX 8M: 4c i.MX 8M ARM 4c A53 + M4 @ 1.5 GHz. Supports 2160p@60 out, but only 1080p@60 in.
    • Boundary Devices BD_HDMI_MIPI: Isn't an SBC itself, but allows any i.MX6 or i.MX8 board to use an HDMI input over CSI. However, since it uses the TC358743XBG, it only supports 1080p@60.
  • INFORCE 6420: 4c Snapdragon 600E ARM 4c @ 1.7 GHz. Only supports 1080p in and out.
  • Orange Pi RK3399: 4c RK3399 ARM A53 + 2c ARM @ 2.0 GHz. Supports 2160p@60 out, but unknown in.
  • Tronsmart PAVO M9: Some random settop box that happens to have HDMI in. No idea what the specs are, technically not an SBC, but someone did manage to get something going with it.

Powerful x86 boards without video input

This is probably the most reasonable option. Given the availability of USB and PCI-e based capture cards, using a capture card with a powerful board would allow for everything to work—just with some extra effort and hardware. Given the widespread availability of this type of SBC (and similar NUCs), I won't attempt to enumerate every possible board. However, using software, Intel's Quick Sync Video, Nvidia's NVENC, or AMD's VCE are all possible depending on which exact hardware you get (though you should note that VCE in particular falls behind the others.) Some manufacturers you may want to look at include Udoo, Up, Aaeon, and Ibase.

| improve this answer | |
  • 1
    Thank you for the detailed and very useful explanation. I will check with other boards and make changes to my application for running under Linux Environment. I have tried using a Capture card with RockChip and Jetson Board. Unluckily, Capture card drivers are not compatible with RK3399 as it overwrites the internal drivers and blanks the display. But, the capture card is detected. NVIDIA PCIe Key E doesn't seem to support PCIe x4 card. I tried changing the PCIe E key to M key adapters but still didnot detect the capture card. – Veera Jan 27 at 10:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.