AVPro Live Camera


Latest Version 2.9.1 - Released 17 February 2021

The AVPro Live Camera plugin for Unity allows you to capture video camera devices (such as webcams) directly into Unity. Unity already has WebCamTexture but it has poor performance on Windows and doesn’t support many high-end cameras and capture cards.

Available at the Unity Asset Store or download the free trial version from the webpage.

Features:

  • NEW Unity 2020 support
  • NEW XSplit-VCam and transparent virtual webcam support
  • High performance
  • Easy to use
  • Camera settings exposed
  • Blackmagic DeckLink capture card support (see our AVPro DeckLink plugin for full-featured support)
  • TV-card support
  • Supports Unity 5.6 and above
  • Surpasses Unity WebCamTexture by supporting high-end devices and non-RGB camera modes
  • Works in the editor and also in stand-alone builds
  • 5 demos included
  • NGUI component included
  • No scripting required (for most usage)
  • Windows PC only

We see this plugin being useful in the following areas:

  • Interactive Installations
  • Serious Games
  • Scientific Research
  • Training and Simulation
  • Computer vision
  • Kiosks
  • Video Apps

Why not take a look at the website and try the demo?

We developed this plugin for some interactive installations that required high-end capture card support and have since used it on many projects with webcams.

We hope this plugin is useful to other people. Please let us know your comments/suggestions. :smile:

-RenderHeads

The demo has just been updated to allow multiple cameras to stream at once. We also fixed 2 quality bugs with DeckLink capture cards.

There’s already been quite a bit of interest so far, but no action on this forum yet :slight_smile: Anyone have any opinion to offer? Much call for DeckLink / advanced camera support?

:slight_smile:

Hi Andrew,
Looks pretty cool. Couple of questions for you:
Does the type of camera matter much in terms of video quality?
Have you tested this much with Ultra HD video?
Also, is it possible to stack the capture cards on one system?
Have you toyed around with running this on multiple PC’s?
Genlock capability with more than 1 feed?
We don’t have a specific need for this now, but could see using it in a large environment in pretty cool ways. Nice work! thanks,
d

Hi droderick, thanks for your interest in the plugin :slight_smile: To answer your questions:

Yes, the type of camera usually matters when it comes to quality :slight_smile: Lower end digital cameras often perform unwanted filters and chroma-subsampling which are best avoided. I also think it’s best to get a truely progressive camera as interlacing can be a real pain. Our plugin does support deinterlacing though :slight_smile:

We haven’t tested it on UHD as we don’t have access to such equipment but if you’d like to supply it we can have a look :slight_smile: The code currently is limited to a frame buffer of 4K however we have only tested it to up hardware that does 1080p.

I’m not sure what you mean by ‘stack’ capture cards. Certainly it supports multiple capture cards.

Currently it doesn’t support gen-locking but this is something we are thinking of adding in the future.

Thanks!
-Andrew

Hi,

The asset has just been released on the Asset Store! :slight_smile:

We’ve also updated the downloadable demo which now includes the 3 demo scenes that ship with the asset:

  1. Default Camera Demo

This is the most basic demo as it requires no scripting at all. The demo simply draws the default
camera to the screen and is built from drag 'n drop components.

  1. Camera Explorer Demo

This demo doesn’t use any of the drag ‘n drop components (except the required
AVProLiveCameraManager component) and demonstrates how easily the a demo can be written
using a few lines of scripting. The demo is created by a single 120 line script file, most of which is
GUI related.

  1. Material Mapping Demo

This demo shows how to integrate AVProLiveCamera into your 3D scene. No scripting is required and
you can just use either of the 2 included components to map live camera images to your meshes or materials.

For more information, documentation and to download the demo just visit the web site.

Keen to hear your thoughts,

-Andrew

Hi all, I wanted to let everyone know about an exciting new feature we have planned for an upcoming release of AVPro Live Camera: Overlays.

Overlays allow us to display videos in Unity really FAST and using very little CPU. It works by leveraging the graphics API (DirectX and OpenGL) directly and completely bypassing Unitys texture system. Currently our plugin plays camera strems to Unity textures and it works really well, however there is some extra overhead when using DirectX as we can’t update the textures directly like we can in OpenGL.

The current method of camera streams to Unity textures will remain however we will offer the new Overlay mode as an extra option for those that need faster video playback using DirectX.

The overlays are 2D rectangles that are drawn on top of the final scene. They can be positioned, alpha blended and have their depth set.

If you have any comments or questions about this upcoming feature let us know!

Hi! Version 1.2 has just been released and new features include:

  • Added support for devices with crossbars including TV-cards and capture cards with multiple inputs (eg AVerMedia).
  • Faster device enumeration (startup).
  • Added colour to AVProLiveCameraGUIDisplay component
  • Inspector UI improvements.
  • Fixed a texture size bug in OpenGL mode.

Why not try the updated demo (10MB)?

The support for TV-card devices was a user requested feature. Is there a feature you would like to see? Let us know.

We just bought it at Interativa and it works really good, we are really satisfied by the results.
One question, AndrewRH:

  • Do you know any good way to make the video in FULL HD to run with better FPS?
    Currently it is running under ~15 FPS, using a Core i7 with 8GB Win7 64Bits, with a good 1 GB graphic card.
    With HD resolution it is really good.

Best,

Hi xandeck,

AndrewRH is off spreading the good word (real-time graphics that is) so I’ll try and help instead.

First of all could you please provide as much detail about the camera you are capturing from as possible please? Including the video capture format.

Also, did you try running in OpenGL mode using the -force-opengl switch?

Cheers,

Nathan

Hello Nathan,

We are capturing from 2 cameras (tests purposes):
Microsoft LifeCam (HD)
Logitech HD Pro Webcam C920 (FULL HD)

I did not try the force-opengl yet (I think)… but I can and let you know…

Thanks

Hi xandeck,

You should also verify the incoming framerate from the webcam(s). Not all webcams can actually capture at 30 fps in 1080p - as you increase the resolution, the framerate in general decreases. Many webcams only do 15 fps in 1080p so it might be worth checking that first. Also check the exposure settings - in anything else other than a bright environment, many webcams automatically increase exposure time which can make the video look jerky instead of smooth.

You can use a utility like VirtualDub to play around with camera settings.

Cheers,

Nathan

Thanks Nathan, we will try your suggestions.

Cheers

Hi, Nathan
Whether to support Blackmagic decklink Intensity Shuttle USB3.0?
It is an USB3.0 external device。

Hi cooli2012,

We have actually successfully used AVPro Live Camera on a project using Blackmagic Ultrastudio SDI, which looks like a very similar product:

http://www.blackmagicdesign.com/products/ultrastudiosdi/

I think it should work.

Cheers,

Nathan

Hi
You write that DirectX soon will be supported in AV PRO.

Is there DirectX in the 1.2 demo? If not, do you have a release date?

I’m working on a project where we have many camera feeds into unity.
Maybe DirectX could help with the speed.

By the way, your program works with a Deltacast card I work with.

Thanks
Mads

Yes, we also use it with the Intensity Shuttle USB 3.0 and it works well :slight_smile:

@Mads Thanks for the info about the Deltacast :slight_smile:

All versions work with DirectX and OpenGL, however it works fastest in OpenGL mode. We plan to add a fast ‘overlay’ mode that’ll also run fast in DirectX but only for 2D overlay rendering. We may wait to see whether Unity 4.0 supports DirectX texture access, in which case we’ll skip the ‘overlay’ mode implimentation.

Also a lot of those ‘full hd’ cameras only support 1080p using strange pixel formats that aren’t commonly supported. If you’re still having trouble drop us an email (contact@renderheads.com) and we’ll try to figure out which pixel format the webcam is using and add support to it for you.

Hello

We are trying now to use it with the Blackmagic Decklink. Looks like it reads from driver (because it is showing in Unity GUI test).
Also drivers are well installed. Do I have to do anything more to make it running? Right now is not running, but because we cannot make the input video to work (we will try with HDMI soon).

It should work just fine as we’ve used it with several BlackMagic devices. One thing we found was that it can be tricky working out exactly which mode to set it to. There’s no automatic mode selection, instead you have to make sure the mode you set your DeckLink to is the exact mode of the camera you plug in to it. Have a fiddle and let us know how you get on.