{"id":27515,"date":"2019-09-23T11:48:05","date_gmt":"2019-09-23T18:48:05","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=27515"},"modified":"2022-02-22T13:14:57","modified_gmt":"2022-02-22T21:14:57","slug":"build-a-cheap-quick-and-powerful-video-streaming-system","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/build-a-cheap-quick-and-powerful-video-streaming-system\/","title":{"rendered":"Build a Cheap, Quick (and Powerful!) Video Streaming System"},"content":{"rendered":"\r\n<p>Picture this scenario: you need to develop an embedded vision application \u2013 something like an object detection system or real time digital video processing \u2013 but you don\u2019t have the time or money to build out the whole thing. You need something\u00a0quick,\u00a0you need something flexible, and you need something that is powerful enough for the job.\u00a0\u00a0<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/media.giphy.com\/media\/DfsTRlWb3Mwda\/giphy.gif\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Since <a href=\"https:\/\/www.embedded-vision.com\/what-is-embedded-vision\">embedded vision<\/a> has become more ubiquitous in the past decade across a wide range of industries, you\u2019d think the scenario posed above would have a clear, definitive answer, right? Surprisingly enough, there\u00a0<em>aren\u2019t\u00a0<\/em>many options for easily prototyping solutions that will bring your design from idea to fruition that are fast, reliable, AND cost effective.\u00a0 You\u2019re in luck today, though, as we have a solid option that we think will take your video streaming capabilities to the next level.\u00a0\u00a0<\/p>\r\n\r\n\r\n\r\n<p><strong>The Process\u00a0<\/strong><\/p>\r\n\r\n\r\n\r\n<p>When putting together a system like this,\u00a0you needn\u2019t go any farther than your own desk. You do need a couple of tools, though:\u00a0<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>A\u00a0high-powered\u00a0FPGA development board (<a href=\"https:\/\/digilent.com\/shop\/zedboard-zynq-7000-arm-fpga-soc-development-board\/\" target=\"_blank\" rel=\"noreferrer noopener\">ZedBoard<\/a>\u00a0works great) with an FMC connector\u00a0<\/li>\r\n<li><a href=\"https:\/\/digilent.com\/shop\/fmc-pcam-adapter\/\" target=\"_blank\" rel=\"noreferrer noopener\">FMC\u00a0Pcam\u00a0Adapter<\/a>\u00a0<\/li>\r\n<li>Camera extensions (<a href=\"https:\/\/digilent.com\/shop\/pcam-5c-5-mp-fixed-focus-color-camera-module\/\" target=\"_blank\" rel=\"noreferrer noopener\">we\u2019ll use two Pcam 5C\u2019s<\/a>, but up to 4 are supported)\u00a0<\/li>\r\n<li>VGA monitor &amp; cable\u00a0<\/li>\r\n<li>12V\u00a0power supply\u00a0<\/li>\r\n<li>2 micro-USB cables\u00a0<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"322\" class=\"wp-image-27517\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/09\/Image-Processing-Kit-InUse-4cam-580-1.png\" alt=\"\" \/><\/figure>\r\n\r\n\r\n\r\n<p>To make sure we have the processing power\u00a0needed\u00a0to stream\u00a0multiple\u00a0camera inputs at a good rate, we\u2019re using the\u00a0ZedBoard,\u00a0loaded with a Xilinx Zynq-7000 AP SoC, which features ARM processor cores and FPGA fabric. As an added benefit of using the FMC\u00a0Pcam\u00a0Adapter,\u00a0<em>any\u00a0<\/em>of our FPGA boards with an FMC connector will work, though for the purpose of this walkthrough, we\u2019ll be focusing on using the\u00a0ZedBoard.\u00a0<\/p>\r\n\r\n\r\n\r\n<p><em>Step 1<\/em> \u2013\u00a0Follow the instructions that are listed in the \u201cDemo Setup\u201d section of the\u00a0<a href=\"https:\/\/github.com\/Digilent\/ZedBoard-FMC-Pcam-Adapter-Dual-Camera\/releases\/download\/v2018.2-1\/ZedBoard-FMC-Pcam-Adapter-2018.2-1.zip?_ga=2.151813113.1750931810.1568047098-559533301.1567628960\" target=\"_blank\" rel=\"noreferrer noopener\">README file found in the project repository and ZIP archive<\/a>. Keep in mind that the hardware platform and bitstream file must be exported before launching SDK.\u00a0<\/p>\r\n\r\n\r\n\r\n<p><em>Step 2<\/em> \u2013\u00a0<a href=\"https:\/\/digilent.com\/reference\/learn\/programmable-logic\/tutorials\/zedboard-fmc-pcam-adapter-dual-camera-demo\/start\" target=\"_blank\" rel=\"noreferrer noopener\">Head over to the full demo<\/a>\u00a0for a complete run down of setting up your highly efficient, yet remarkably easy vision system.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Typically, you would need to purchase the\u00a0ZedBoard,\u00a0FMC\u00a0Pcam\u00a0Adapter, and\u00a0Pcams\u00a0separately (approx. $840 MSRP), but starting this month,\u00a0Digilent\u00a0is offering a pretty sweet bundle that includes the main components of what you\u2019ll need to get up and running. We\u2019re calling it the\u00a0ZedBoard Advanced Image Processing Kit, and for only $669, it comes with the\u00a0Zedboard, FMC Adapter, AND two\u00a0Pcam\u00a05C\u2019s. You can upgrade to a quad cam kit for only $50 more.\u00a0<\/p>\r\n\r\n\r\n\r\n<p>Let us know in the comments below if you were able to use this cheap and powerful embedded video streaming system setup!\u00a0\u00a0<\/p>\r\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-27515 jlk' data-task='like' data-post_id='27515' data-nonce='0a2140b8b1' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-27515 lc'>+4<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-27515 jlk' data-task='unlike' data-post_id='27515' data-nonce='0a2140b8b1' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-27515 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-27515 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Picture this scenario: you need to develop an embedded vision application \u2013 something like an object detection system or real time digital video processing \u2013 but you don\u2019t have the &hellip; <\/p>\n","protected":false},"author":50,"featured_media":27517,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[38,4327,35,1563],"tags":[845,1662,104],"ppma_author":[4502],"class_list":["post-27515","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-expansion-modules","category-projects","category-fpga","category-guide","tag-embedded-systems","tag-fpga","tag-project-2"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/09\/Image-Processing-Kit-InUse-4cam-580-1.png","jetpack_sharing_enabled":true,"authors":[{"term_id":4502,"user_id":50,"is_guest":0,"slug":"davidh","display_name":"David Horn","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/917c337136844f075c76fcf4a0c3b94aa8c225366009ebf63c08fcb9ce6d0e52?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/27515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=27515"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/27515\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/27517"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=27515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=27515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=27515"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=27515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}