PerfectStream: A DPDK-based Video Gateway

0 0
  • 0 Collaborators

PerfectStream is a flexible Video Gateway that receives streams, stores and/or distributes to a large set of end devices. ...learn more

HPC, Networking

Overview / Usage

PerfectStream is primarily a Video Gateway that receives multiple streams, stores the feed and/or relays the feed as needed in the way the client prefers.

The challenges today are:

  • Content distribution devices are expensive and use proprietary technology
  • There is no efficient use of network bandwidth.
  • Outburst of use of wireless communication.
  • There is an outburst of end devices with varying capabilities and needs: Wearables, Smartphones, Tablets, Laptops and SmartTVs
  • The demand for video and live streaming is ever-growing.

The key features are:

  • Flexible as a receiver: By supporting multiple formats, protocols, etc. it is very flexible as a reciever.
  • Flexible as a sender: Also, as a sender, it is very flexible. It offers multiple choices and goes by what the client prefers for coding format, rate, size, security, etc.
  • Efficient use of hardware: Tries to maximize hardware use as well as the intrinsic capabilities of hardware.
  • Use of right hardware: Although CPU will be primarily used in the early stages, use of GPU/GP-GPU, Intel MIC and other hardware will be used.

The project involves several modules and provides many features. They are briefly described below:

PerfectCode: Stream is received in various video formats and the received video is re-encoded in various formats to suit the end devices.

PerfectRate: Multiple streams will be generated for various bitrates and frame rates.

PerfectSize: The video stream is resized to various sizes to suit various end devices.

PerfectCopy: A single stream is replicated at the right layer as many times as needed for each end device.

PerfectCrypt: The incoming video stream received over a secure session is decrypted as needed, using the capabilities of AES-NI. Similarly, the video stream is encrypted based on the choice of the end device.

PerfectTransport: PerfectStorm supports a variety of transport protocols. For e.g. UDP, TCP, http, https, etc.

PerfectStore: Received video stream can be stored in flash disk.

PerfectCast: The incoming video is relayed to multiple destination after various stages of processing.

PerfectPlay: Any video stream stored can be played at any time.

PerfectChain: PerfectStorm devices can be daisy-chained for wider deployment and content distribution.

Some sample applications on top of Perfect Stream:

PerfectBeep: PerfectStorm can be used to introduce broadcast delay to avoid Wardrobe Malfunction telecast incidents. It can also replace the stream with Censor Beep stream for the period.

PerfectPolice: Content received/sent can be monitored for potential copyright violation

The project is really a starburst of ideas and cannot be done in a short time. So, the following section tells what is possible in the first phase:

Key Benefits

The project offers the following benefits:

  • On-demand content delivery like YouTube, Netflix, Apple iTunes, Google Play, Amazon Prime, etc.
  • Live broadcast service like Comcast (Cable operators) with TiVo service (Pause live TV, rewind, etc)
  • Live streaming service like YouTube, Facebook, etc.
  • Interactive video chat such as Apple FaceTime, Google Chat, etc.

Note:

An earlier section covered myriad features and functionalities. However, due to severe time and resource limits, only a subsection will be implemented for the first demo. Here are the details:

PerfectStream

  • Over UDP, receives one or more streams
  • It reassembles the video frame from UDP payload and decodes the frame
  • Trans-rates and transcodes the stream and stores to disk
  • Loads and sends the streams over UDP, encrypting (if needed)
  • The end device displays the streams

Please note that if there are constraints, shortcuts will be taken as needed.

Comments (0)