SlideShare a Scribd company logo
Video Transcoding with
Raspberry Pi
June 2016
A Team-centric vision…
 The culture of Creativity
 Enjoy what you do, and how you do it
 Grow as a professional, grow as a person
 Make it sustainable
 Talent enjoys talent. Talent attracts talent
… and it is built for purpose
 Let’s build something
awesome!, let’s make it
Epic!
Agenda
• Starting with some context
• Toolbox
–Raspberry PI
–nginx
–ffmpeg
–Hardware acceleration components
• Putting all together
• Benchmark
3
Starting with some context
❖ Media encoders working with high quality streams (10 Mbps)
❖ Need of monitoring streams:
➢ From external tools/platform that could be out of device
network
➢ Without the need of sending HD streams to the monitoring
tools
➢ Preprocessing of the stream
■ Audio extraction
■ Audio spectrum analyzer
❖ RPI to the rescue!
❖ Low cost computer
❖ Optimized for video
➢ HW Acceleration
➢ Up to 1080p and 50Mbps
➢ Did I say RPI is a computer?
❖ Pretty flexible
➢ It can do tons of things!
Toolbox - Raspberry PI
❖ Nginx: High performance HTTP
reverse proxy.
❖ Why a HTTP reverse proxy???
➢ nginx-rtmp-module!
➢ Flexible
➢ Easy to install, deploy and
configure rtmp relay server
❖ And not just RTMP!
➢ HLS repackaging
➢ DASH repackaging
Toolbox - nginx
Toolbox - ffmpeg
❖ Available for many different
platforms and cpus (RPI included)
❖ Easy to use tool to:
➢ Transcode
➢ Forward streams from one point
to other
But what about the
CPU???
Toolbox - Hardware acceleration
• FFmpeg with hardware encoding/decoding support
– MMAL (--enable-mmal)
– OMX (--enable-omx --enable-omx-rpi )
Putting all together
ffmpeg
10 Mbps
300 Kbps
Benchmark
• Software decoding/encoding
– libx264 encoding
– 98% CPU load
• Software decoding/hardware encoding
– OMX HW encoding
– 60-65% CPU load
• Hardware decoding/encoding
– MMAL HW decoding
– OMX HW encoding
– 20-25% CPU load
ffmpeg -i bbb_sunflower_1080p_30fps_normal.mp4 -vcodec libx264 -b:v 100k -s
320x200 -map v -f flv rtmp://localhost/small/test
ffmpeg -i bbb_sunflower_1080p_30fps_normal.mp4 -vcodec h264_omx -b:v 100k -s
320x200 -map v -f flv rtmp://localhost/small/test
ffmpeg -vcodec h264_mmal -i bbb_sunflower_1080p_30fps_normal.mp4 -vcodec
h264_omx -b:v 100k -s 320x200 -map v -f flv rtmp://localhost/small/test
#BeEpic!
epiclabs.io

More Related Content

PPT
OpenMAX Overview
PDF
IOMX in Android
PDF
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
PDF
Isn’t it Ironic that a Redfish is software defining you
PPTX
Embedded c c++ programming fundamentals master
PDF
Audio in linux embedded
PDF
LAS16-TR06: Remoteproc & rpmsg development
PPT
Ipmi Server Management
OpenMAX Overview
IOMX in Android
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
Isn’t it Ironic that a Redfish is software defining you
Embedded c c++ programming fundamentals master
Audio in linux embedded
LAS16-TR06: Remoteproc & rpmsg development
Ipmi Server Management

What's hot (20)

PDF
Embedded Android : System Development - Part IV
PDF
LAS16-200: SCMI - System Management and Control Interface
PDF
LAS16-400: Mini Conference 3 AOSP (Session 1)
PDF
Embedded Android : System Development - Part III (Audio / Video HAL)
PDF
IPMI is dead, Long live Redfish
PDF
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
PDF
LAS16-305: Smart City Big Data Visualization on 96Boards
PDF
Embedded Recipes 2018 - SoC+FPGA update in 2018 - Marek Vasut
PDF
Embedded Erlang, Nerves, and SumoBots
PDF
Building a Network IP Camera using Erlang
PDF
08 android multimedia_framework_overview
PDF
Embedded Linux Kernel - Build your custom kernel
PDF
Using Erlang on the RaspberryPi to interact with the physical world
PDF
MIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 Cameras
PDF
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
PDF
BKK16-309A Open Platform support in UEFI
PDF
Porting linux to a new architecture
PPT
H.263 Video Codec
PDF
Introduction to visual DSP++
Embedded Android : System Development - Part IV
LAS16-200: SCMI - System Management and Control Interface
LAS16-400: Mini Conference 3 AOSP (Session 1)
Embedded Android : System Development - Part III (Audio / Video HAL)
IPMI is dead, Long live Redfish
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
LAS16-305: Smart City Big Data Visualization on 96Boards
Embedded Recipes 2018 - SoC+FPGA update in 2018 - Marek Vasut
Embedded Erlang, Nerves, and SumoBots
Building a Network IP Camera using Erlang
08 android multimedia_framework_overview
Embedded Linux Kernel - Build your custom kernel
Using Erlang on the RaspberryPi to interact with the physical world
MIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 Cameras
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
BKK16-309A Open Platform support in UEFI
Porting linux to a new architecture
H.263 Video Codec
Introduction to visual DSP++
Ad

Similar to Video Transcoding with Raspberry Pi (20)

PDF
Serverless Media Workflow
PDF
Realtime video streaming the open source way
PDF
Nimble Streamer Transcoder overview
PPTX
Raspberry Pi Introduction
PPT
Smart Wireless Surveillance Monitoring using RASPBERRY PI
PDF
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
PDF
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
PDF
Video Transcoding at the ABC with Microservices at GOTO Chicago
PDF
Video Transcoding at Scale for ABC iview (NDC Sydney)
PDF
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
PDF
Janus RTP forwarders @ FOSDEM 2020
PDF
Baking a Raspberry PI with Chef Rob
PPSX
Low Cost HD Surveillance Camera using Raspberry PI
PDF
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
PDF
WebRTC Real time media P2P, Server, Infrastructure, and Platform
PPTX
Raspberry pi
PDF
Janus Workshop pt.2 @ ClueCon 2021
PPS
Moving Pictures - Web 2.0 Expo NYC
Serverless Media Workflow
Realtime video streaming the open source way
Nimble Streamer Transcoder overview
Raspberry Pi Introduction
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Video Transcoding at the ABC with Microservices at GOTO Chicago
Video Transcoding at Scale for ABC iview (NDC Sydney)
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
Janus RTP forwarders @ FOSDEM 2020
Baking a Raspberry PI with Chef Rob
Low Cost HD Surveillance Camera using Raspberry PI
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
WebRTC Real time media P2P, Server, Infrastructure, and Platform
Raspberry pi
Janus Workshop pt.2 @ ClueCon 2021
Moving Pictures - Web 2.0 Expo NYC
Ad

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Transform Your Business with a Software ERP System
PPTX
history of c programming in notes for students .pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Introduction to Artificial Intelligence
PPTX
assetexplorer- product-overview - presentation
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
System and Network Administration Chapter 2
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
top salesforce developer skills in 2025.pdf
medical staffing services at VALiNTRY
Understanding Forklifts - TECH EHS Solution
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Transform Your Business with a Software ERP System
history of c programming in notes for students .pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Design an Analysis of Algorithms II-SECS-1021-03
Computer Software and OS of computer science of grade 11.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Introduction to Artificial Intelligence
assetexplorer- product-overview - presentation
Navsoft: AI-Powered Business Solutions & Custom Software Development
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Designing Intelligence for the Shop Floor.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Upgrade and Innovation Strategies for SAP ERP Customers
System and Network Administration Chapter 2
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
top salesforce developer skills in 2025.pdf

Video Transcoding with Raspberry Pi

  • 2. A Team-centric vision…  The culture of Creativity  Enjoy what you do, and how you do it  Grow as a professional, grow as a person  Make it sustainable  Talent enjoys talent. Talent attracts talent … and it is built for purpose  Let’s build something awesome!, let’s make it Epic!
  • 3. Agenda • Starting with some context • Toolbox –Raspberry PI –nginx –ffmpeg –Hardware acceleration components • Putting all together • Benchmark 3
  • 4. Starting with some context ❖ Media encoders working with high quality streams (10 Mbps) ❖ Need of monitoring streams: ➢ From external tools/platform that could be out of device network ➢ Without the need of sending HD streams to the monitoring tools ➢ Preprocessing of the stream ■ Audio extraction ■ Audio spectrum analyzer
  • 5. ❖ RPI to the rescue! ❖ Low cost computer ❖ Optimized for video ➢ HW Acceleration ➢ Up to 1080p and 50Mbps ➢ Did I say RPI is a computer? ❖ Pretty flexible ➢ It can do tons of things! Toolbox - Raspberry PI
  • 6. ❖ Nginx: High performance HTTP reverse proxy. ❖ Why a HTTP reverse proxy??? ➢ nginx-rtmp-module! ➢ Flexible ➢ Easy to install, deploy and configure rtmp relay server ❖ And not just RTMP! ➢ HLS repackaging ➢ DASH repackaging Toolbox - nginx
  • 7. Toolbox - ffmpeg ❖ Available for many different platforms and cpus (RPI included) ❖ Easy to use tool to: ➢ Transcode ➢ Forward streams from one point to other But what about the CPU???
  • 8. Toolbox - Hardware acceleration • FFmpeg with hardware encoding/decoding support – MMAL (--enable-mmal) – OMX (--enable-omx --enable-omx-rpi )
  • 10. Benchmark • Software decoding/encoding – libx264 encoding – 98% CPU load • Software decoding/hardware encoding – OMX HW encoding – 60-65% CPU load • Hardware decoding/encoding – MMAL HW decoding – OMX HW encoding – 20-25% CPU load ffmpeg -i bbb_sunflower_1080p_30fps_normal.mp4 -vcodec libx264 -b:v 100k -s 320x200 -map v -f flv rtmp://localhost/small/test ffmpeg -i bbb_sunflower_1080p_30fps_normal.mp4 -vcodec h264_omx -b:v 100k -s 320x200 -map v -f flv rtmp://localhost/small/test ffmpeg -vcodec h264_mmal -i bbb_sunflower_1080p_30fps_normal.mp4 -vcodec h264_omx -b:v 100k -s 320x200 -map v -f flv rtmp://localhost/small/test