[[PageOutline]] = AVC8000nano - 8x D1 Video Capture Card for Mini-PCIe on Gateworks SBC = [[Image(https://www.ampltd.com/wp-content/uploads/2017/06/avc8000nano-t.jpg, 256px)]][[Image(http://trac.gateworks.com/raw-attachment/wiki/OpenWrt/wireless/relayd/gw5100realsmall.png, 256px)]] This card is a mini-pcie video capture card that can be used with Gateworks Single Board Computers. From the manufacturer's webpage: ''The AVC8000nano is a high-performance 8-channel video capture and overlay controller on a single Mini PCIExpress card. The AVC8000nano provides a powerful and flexible solution for capturing up to eight concurrent analog video inputs for local system display or software analysis and processing, ideal for embedded Situational Awareness systems in the most demanding environment.'' Gateworks has a driver built in to their [https://github.com/Gateworks/linux-imx6/tree/gateworks_fslc_3.14_1.0.x_ga gateworks_fslc_3.14_1.0.x_ga] kernel branch that supports this card on the Ventana Family of Single Board Computers. Allowing for 8 video inputs is very useful! The frame rate and resolution of streaming from multiple cameras simultaneously (compositing) will impact performance. Even if you won't be compositing the streams and instead allowing a user to switch between cameras as needed, performance should still be considered. We have not gone through all the various combinations of FPS and resolution with single/dual/quad core iMX6 and 32/64-bit memory buses but these are factors to consider when selecting the right SBC for your project. Here are a few links on our wiki to help with your decision: Ventana Video Processing (GPU, codecs, etc): * http://trac.gateworks.com/wiki/ventana/graphics * http://trac.gateworks.com/wiki/Yocto/gstreamer/compositing#Displaying8camerainputsontoanHDMImonitorusingAVC8000nano * http://trac.gateworks.com/wiki/Yocto/gstreamer/compositing#CompositorExamplewith8VideoCameras * http://trac.gateworks.com/wiki/Yocto/gstreamer/compositing#CompositingwithlimitedCPUlowmemorybandwidth If resolution or FPS are important for your use and/or you intend to composite more than a few input streams, you should consider a high-performing platform such as the GW5304 or GW5404 (quad core, 64-bit memory bus). == Highlights == One of the things about this card that Gateworks is so excited about is the fact that one can directly capture frames through DMA (meaning increased performance and decreased latency). Gateworks currently supports this capability in the {{{gstreamer-imx}}} plugin: {{{imxv4l2videosrc}}}, which is in the 1.8 and master branches in Yocto. This allows for capabilities to scale all 8 (dependent on the processor used) video frames individually, rotation, cropping etc. For anyone doing surveillance applications or some other application requiring more than our standard 2 video inputs, this card may prove to be something worth looking into, especially since it's now supported out of the box (if using Gateworks Yocto BSP). == Blog Posts == In depth Blog posts using this card: * [http://blog.gateworks.com/?p=235 Capturing 8 Video Inputs on Gateworks Ventana SBCs] * [http://blog.gateworks.com/?p=240 GStreamer Compositing for Streaming H.264 Video] == How to Use == * Connect video input card to Mini-PCIe slot on Gateworks SBC with SBC powered off * Connect u.Fl connector to card and then to composite output of a camera or source while board powered off * Be sure to be using [wiki:Yocto Yocto 1.8 or later] * '''Software Examples''' - [wiki:Yocto/gstreamer/compositing Video Compositing with GStreamer] - Compositing many camera inputs into one screen is discussed on this wiki page * [wiki:Yocto/gstreamer GStreamer] is used to access this card in general === Example Usage === This card can be used to capture 8 camera inputs and then either display them on a local monitor or stream them over the network. * The [http://opencv.org/ OpenCV] software library could be used to stitch the different inputs together to create a seamless panorama [[Image(final_screen_cameras.jpg)]] Figure 1: Screen capture of 8 analog cameras displayed on a monitor using the Gateworks Ventana SBC [[Image(final_camerasonboard.jpg)]] Figure 2: Eight analog video cameras mounted in a circular fashion for a panoramic capture [[Image(final_pictureofcard.jpg)]] Figure 3: The AVC8000nano installed on a Gateworks Ventana SBC with 8 analog cameras connected [wiki:/Yocto/gstreamer/compositing#CompositingwithlimitedCPUlowmemorybandwidth See compositing with low memory bandwidth] == Driver The AVC8000 has an !Intersil/Techwell TW6869 on it which has a Linux driver in drivers/media/pci/tw686x (VIDEO_TW686X). == References == * [http://www.ampltd.com/mini-pcie/video/avc8000nano.php Advanced Micro Peripherals (AMP) AVC8000nano]