Introduction

This application note describes the method to run H.264 video streaming over the Ethernet demo. This solution is developed using PolarFire® SoC FPGA video kit, which features an MPFS250T PolarFire SoC device. Microchip's PolarFire SoC devices combine RISC-V® based 5x core Microprocessor Subsystem (MSS), capable of running Linux®, and the PolarFire Fabric in a single device. This combination enables the partitioning of user designs between the MSS (C Source code) and fabric (RTL). Microchip's Libero® SoC enables the rapid development of RTL based designs for PolarFire SoC and many other device families. It also provides a wide range of IPs for a variety of applications such as video and imaging, signal processing, wired and wireless communications, and networking. Microchip's SoftConsole enables the rapid development of the C/C++ source code based applications targeted for all Microchip FPGA and SoC device families.

This demo design captures live stream from a camera on the PolarFire SoC video kit and performs H.264 compression in the fabric logic. Webserver application running on MSS allows user to connect to the PolarFire SoC video kit through Ethernet using the IP address of the video kit from the web browser. The web page on the browser allows user to control streaming of the live video from PolarFire SoC video kit to the connected computer system. On initiating the streaming from the web page, application triggers MSS that reads compressed stream of data from fabric and sends encoded H.264 RTP ethernet packets with the IP address of the system from which the stream request was initiated. User can play the video on computer using VLC Player, Gstreamer, or FFPlay applications. Web page allows user to download and pass the SDP file to the video player application after streaming is initiated.

PolarFire SoC FPGA video kit enables prototyping of Video and Imaging solutions. The kit supports the following key features among others:

  • MPFS250T PolarFire SoC FPGA device
  • MIPI CSI-2 interface
  • FPGA Mezzanine Card (FMC) connector
  • SD and eMMC card, LPDDR4, and DDR4 memories
  • HDMI, Ethernet, PCIe®, and other interfaces
  • CAN and mikroBUS

For more information about the video kit, see MPFS250-VIDEO-KIT.