SlideShare uma empresa Scribd logo
1 de 25
<Your Logo
Here>
Native IP decoding of MPEG-TS
video to Uncompressed IP (and
vice versa) on COTS hardware
Kieran Kunhya <kierank@obe.tv>
<Your Logo
Here>
Introduction
• Many facilities have large numbers of outside
sources, hundreds of single 1U encoders and
decoders, single channel
– Often not much in the way of switchers
– Basic processing, graphics, commentary
• Using entirely COTS hardware for encoding
and decoding to/from Uncompressed IP
– Complex software engineering problems
– Multidisciplinary: Broadcast, Networking, Multimedia
• First half of presentation about operational
challenges, second part is deep dive into
Software Engineering problems
<Your Logo
Here>
Who we are?
• Company specialising in software-
based encoders and decoders for
Sport, News and Channel
contribution (B2B)
• Based in Central London
• Build everything in house:
– Hardware, firmware, software
<Your Logo
Here>
Where it all began?
• Major UK News Channel moving building
– Approached in 2015 about possibility of future update to 2022-6
– Hundreds of encoders and decoders for contribution
• In the end run as SDI for 1.5 years, then “lift-and-shift”
– Designed process for operators to migrate equipment overnight
<Your Logo
Here>
Why do this?
• Reduce use of encapsulators
• Beyond historical-re-enactment
– Using native IP devices to process video at scale
– Don’t invent the internet to use it to send more faxes
• Still a lot of 2022-6, not going away. Useful in linear
environments with freerunning sources, no need for PTP
<Your Logo
Here>
Challenges
• Selection of Network Interface Card (NIC) in 2015!
– Limited choice (10GbE) and capabilities
– Chose Intel 82599
• No analysis equipment until ~2016-17
• Limited availability of 2022-6 equipment
• Mixed SD/HD and PAL/NTSC including 720p59.94
<Your Logo
Here>
Broadcast as an IT service
• Large amount of compute
– Hundreds of cores (small supercomputer)
– Usable for other things (e.g transcode)
• Managed using Ansible
– “open-source software provisioning,
configuration management,
and application-deployment tool”
• COTS hardware to reduce costs, time
to deployment
<Your Logo
Here>
Hardware provisioning
• Well known methods for large scale hardware
provisioning of IT hardware
– Ubuntu Preseed to flash precise software onto hardware, inc.
IP addresses etc
– Ship anywhere in the world, plug-in, go
• Used by CDNs which colocate equipment on other
people’s network
<Your Logo
Here>
Spin up and spin down
• Goal to allow spin up and spin
down production
– e.g Sports, Elections
• Weekend operators did this by
themselves over the weekend!
– Doubled decode capacity on
same hardware
• Cloud-style usage models
– Pay per usage
<Your Logo
Here>
Step forward to 2019/20
• Well known consumer brand doing sports
– Based at large production house
– 2.5 months from commission to deploy (!!)
• World Feed of Sport decoded to 2110 for
downstream processing
– 15-20Mbps H.264, 4-8 pairs of audio
• 1080i25 or 29.97, 16ch single flow @ 125us
• Up to 15 simultaneous matches
<Your Logo
Here>
Incredible density vs SDI
• 2 full racks of decoders or
encoders replaced with 2U
of blade servers
• Add CPUs/RAM to nodes as
needed
• Envisage cloud like racks of
this in near-future
• 64+ Channels in 2U
<Your Logo
Here>
The software engineering
<Your Logo
Here>
High Level Overview of Challenges
• High data rates of UDP traffic
– Many Gbps
• Unusual pixel formats, software
works in 8/16-bit, packed 10-bit in
2022-6/2110
• Very tight timing requirements:
– Order of us
• 2022-7 skew
• Internal multicast routing
<Your Logo
Here>
Kernel Bypass
• Standard OSs not designed for
volume of UDP traffic
– Might change in future as HTTP3
deployed which uses UDP
• Direct path to NIC memory
– Craft packets yourself IP/UDP headers
• We chose netmap, support Intel
and Mellanox cards
– Can’t use vendor specific libraries
<Your Logo
Here>
Packet pacing
• Need to space packets evenly
• Canonical method of NIC assisted pacing
– Send using a TX queue, ratelimit queue
– Grace et. Al, BBC R&D 2016
– Ideally let the OS do PTP, ping, IGMP
• Fix all the hardware bugs in pacer
– Mellanox and Intel had large drift (sometimes 1000ppm)
– Fractional framerate compensation
<Your Logo
Here>
2022-7 skew
• Many problems
– Cannot send two packets exactly at the same time
– After loss of a path, queue empties
– Tricky to realign queue, continually moving target
• Would love to have hardware duplicate packets
– Send once, header rewrite using NIC eSwitch
<Your Logo
Here>
Accelerated pixel processing
• Hand written SIMD code, multiple pixels processed at
once
– Many permutations pixel formats, dozens of functions
– Around 25 times faster than naïve implementations!
• Pixel transformations straight into NIC memory
– SIMD + Kernel Bypass = 100-200x speed improvement!
• More detailed explanation at Demuxed 2017
presentation: www.youtu.be/watch?v=A4L5xEXXlas
<Your Logo
Here>
Implementing SDI (2022-6) in software
• SDI CRC is CPU intensive
– 10-bit data, 25-bit polynomial
– Useless in IP
• Pixel spanning multiple packets…
• SDI Level B, painful to handle
• Cursed mixed cadence in NTSC
– 1601/1602 on each audio group
• However, single code base across baseband
and 2022-6
– Regression tests based on real-world captures
<Your Logo
Here>
2110 software challenges (video)
• 3 coupled variables
– Frequency
– Phase
– Packet Bursts
• NIC dependent, difference between Narrow and Wide
• Change one and the others move from target!
<Your Logo
Here>
2110 software challenges (video)
• Software senders can’t just create a
gap for the vertical blanking
– Stuff with other traffic (audio etc)
• Phase is hard, don’t know where you start
– Start sending and drift your way back to PTP epoch
– Start too late and some devices will never recover!
– Many NICs have hardware transmit timestamps
– Filter some timestamps that go back in the past..
• 50/59.94fps harder, less time to react
<Your Logo
Here>
2110 software challenges (audio)
• 125us audio is tight. Bypass is overkill for 30Mbps of traffic
• Seen one vendor send two packets at the same time (250us gap)
<Your Logo
Here>
General software comments
• Challenging to maintain a modular codebase with
Uncompressed IP
– Technical debt accumulation
• Hard to use standard paradigms such as reference
counting (especially with tiny 125us buffers)
• Very tight integration with application
<Your Logo
Here>
Interoperability…
• One decapsulator expects source port to match destination port…
• Many don’t verify IP checksums
• Not all receivers can handle 16ch flows
• Some analysers and receivers just crash
– Sometimes within minutes, sometimes days
– Expecting SDI-like flows…
• Clear that some receivers using packet arrival time for audio and
not timestamps
• Some transmitters miles off the epoch
– Operators route freerunning sources, causes problems for native IP devices
<Your Logo
Here>
Where next?
• Packet Pacing is a crutch
– Hardware packet pacers are buggy
– Easier to send line rate and multiplex ourselves
• Not container/VM friendly
• Docker containers
– How do have different 2110 implementations coexist?
• True remote production
– Use off-prem compute hardware, spin-up and down
<Your Logo
Here>
Questions, also outside booth 13

Mais conteúdo relacionado

Mais procurados

Tackling 400 MHz Timing Closure
Tackling 400 MHz Timing ClosureTackling 400 MHz Timing Closure
Tackling 400 MHz Timing ClosureShepard Siegel
 
DVB-S2 migration - A user's experience - EUMETCast User Forum 2014
DVB-S2 migration - A user's experience - EUMETCast User Forum 2014DVB-S2 migration - A user's experience - EUMETCast User Forum 2014
DVB-S2 migration - A user's experience - EUMETCast User Forum 2014EUMETSAT
 
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...Brad Fortner
 
Broadcast day-2007-tandberg-ipxasi
Broadcast day-2007-tandberg-ipxasiBroadcast day-2007-tandberg-ipxasi
Broadcast day-2007-tandberg-ipxasiSSPI Brasil
 
EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014
EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014
EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014EUMETSAT
 
Technology at the cutting edge of broadcasting
Technology at the cutting edge of broadcastingTechnology at the cutting edge of broadcasting
Technology at the cutting edge of broadcastingTeleste Corporation
 
QNAP Surveillance Solutions
QNAP Surveillance SolutionsQNAP Surveillance Solutions
QNAP Surveillance SolutionsCK Chen
 
Qnap Surveillance Solutions
Qnap Surveillance Solutions Qnap Surveillance Solutions
Qnap Surveillance Solutions Hernan Lopez
 
Janet access solutions
Janet access solutionsJanet access solutions
Janet access solutionsJisc
 
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...Brad Fortner
 
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIDevelop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIEnablex io
 
How to switch from analog or ISDN to VoIP - webinar 2016, English
How to switch from analog or ISDN to VoIP - webinar 2016, EnglishHow to switch from analog or ISDN to VoIP - webinar 2016, English
How to switch from analog or ISDN to VoIP - webinar 2016, EnglishAskozia
 
MAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 TechnologyMAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 TechnologyAkira Nakagawa
 
PLNOG 4: Pranav Desai - SIP Trunking
PLNOG 4: Pranav Desai - SIP Trunking PLNOG 4: Pranav Desai - SIP Trunking
PLNOG 4: Pranav Desai - SIP Trunking PROIDEA
 
Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108qnapivan
 

Mais procurados (19)

Tackling 400 MHz Timing Closure
Tackling 400 MHz Timing ClosureTackling 400 MHz Timing Closure
Tackling 400 MHz Timing Closure
 
DVB-S2 migration - A user's experience - EUMETCast User Forum 2014
DVB-S2 migration - A user's experience - EUMETCast User Forum 2014DVB-S2 migration - A user's experience - EUMETCast User Forum 2014
DVB-S2 migration - A user's experience - EUMETCast User Forum 2014
 
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
 
Broadcast day-2007-tandberg-ipxasi
Broadcast day-2007-tandberg-ipxasiBroadcast day-2007-tandberg-ipxasi
Broadcast day-2007-tandberg-ipxasi
 
EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014
EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014
EUMETCast system & DVB-S2 migration - EUMETCast User Forum 2014
 
Technology at the cutting edge of broadcasting
Technology at the cutting edge of broadcastingTechnology at the cutting edge of broadcasting
Technology at the cutting edge of broadcasting
 
QNAP Surveillance Solutions
QNAP Surveillance SolutionsQNAP Surveillance Solutions
QNAP Surveillance Solutions
 
Faxing Q and A
Faxing Q and AFaxing Q and A
Faxing Q and A
 
Qnap Surveillance Solutions
Qnap Surveillance Solutions Qnap Surveillance Solutions
Qnap Surveillance Solutions
 
AVB intro
AVB introAVB intro
AVB intro
 
Janet access solutions
Janet access solutionsJanet access solutions
Janet access solutions
 
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
 
Software defined networking: Primer
Software defined networking: PrimerSoftware defined networking: Primer
Software defined networking: Primer
 
Lecture1
Lecture1Lecture1
Lecture1
 
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIDevelop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
 
How to switch from analog or ISDN to VoIP - webinar 2016, English
How to switch from analog or ISDN to VoIP - webinar 2016, EnglishHow to switch from analog or ISDN to VoIP - webinar 2016, English
How to switch from analog or ISDN to VoIP - webinar 2016, English
 
MAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 TechnologyMAP-E as IPv4 over IPv6 Technology
MAP-E as IPv4 over IPv6 Technology
 
PLNOG 4: Pranav Desai - SIP Trunking
PLNOG 4: Pranav Desai - SIP Trunking PLNOG 4: Pranav Desai - SIP Trunking
PLNOG 4: Pranav Desai - SIP Trunking
 
Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108
 

Semelhante a Native IP Decoding MPEG-TS Video to Uncompressed IP (and Vice versa) on COTS Hardware

Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...Kieran Kunhya
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Adam Dunkels
 
Smalltalk on a CE device
Smalltalk on a CE deviceSmalltalk on a CE device
Smalltalk on a CE deviceESUG
 
Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...
Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...
Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...Kieran Kunhya
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshopNitesh Malviya
 
Chapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIAChapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIAazira96
 
Building the ZoomFloppy (ECCC 2010)
Building the ZoomFloppy (ECCC 2010)Building the ZoomFloppy (ECCC 2010)
Building the ZoomFloppy (ECCC 2010)Nate Lawson
 
chapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptxchapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptxJayasheelanP
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)Victor Pascual Ávila
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systemsBeeGroup
 
Successfully Deploying IPv6
Successfully Deploying IPv6Successfully Deploying IPv6
Successfully Deploying IPv6Zivaro Inc
 
Overview of Remoting Protocols - By VDIworks
Overview of Remoting Protocols - By VDIworksOverview of Remoting Protocols - By VDIworks
Overview of Remoting Protocols - By VDIworksvdiworks
 
Embedded Systems - A Brief Introduction
Embedded Systems - A Brief IntroductionEmbedded Systems - A Brief Introduction
Embedded Systems - A Brief Introductionkrnathan
 
High-Performance Computing with C++
High-Performance Computing with C++High-Performance Computing with C++
High-Performance Computing with C++JetBrains
 
INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...
INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...
INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...INCOSE Colorado Front Range Chapter
 
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo... Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...Rogue Wave Software
 

Semelhante a Native IP Decoding MPEG-TS Video to Uncompressed IP (and Vice versa) on COTS Hardware (20)

Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
 
Smalltalk on a CE device
Smalltalk on a CE deviceSmalltalk on a CE device
Smalltalk on a CE device
 
Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...
Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...
Stable Feed and Lower Costs with Use of 5G and Satellite Stable Feed and Lowe...
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
IPv6 Transition Considerations for ISPs
IPv6 Transition Considerations for ISPsIPv6 Transition Considerations for ISPs
IPv6 Transition Considerations for ISPs
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Chapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIAChapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIA
 
Building the ZoomFloppy (ECCC 2010)
Building the ZoomFloppy (ECCC 2010)Building the ZoomFloppy (ECCC 2010)
Building the ZoomFloppy (ECCC 2010)
 
chapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptxchapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptx
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
REDA services
REDA servicesREDA services
REDA services
 
Successfully Deploying IPv6
Successfully Deploying IPv6Successfully Deploying IPv6
Successfully Deploying IPv6
 
Overview of Remoting Protocols - By VDIworks
Overview of Remoting Protocols - By VDIworksOverview of Remoting Protocols - By VDIworks
Overview of Remoting Protocols - By VDIworks
 
Embedded Systems - A Brief Introduction
Embedded Systems - A Brief IntroductionEmbedded Systems - A Brief Introduction
Embedded Systems - A Brief Introduction
 
High-Performance Computing with C++
High-Performance Computing with C++High-Performance Computing with C++
High-Performance Computing with C++
 
INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...
INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...
INCOSE Colorado Front Range Chapter Presentation - Technology Impact on Compu...
 
Web technology
Web technologyWeb technology
Web technology
 
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo... Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 

Mais de Kieran Kunhya

Baby Demuxed's First Assembly Language Function
Baby Demuxed's First Assembly Language FunctionBaby Demuxed's First Assembly Language Function
Baby Demuxed's First Assembly Language FunctionKieran Kunhya
 
AVX512 assembly language in FFmpeg
AVX512 assembly language in FFmpegAVX512 assembly language in FFmpeg
AVX512 assembly language in FFmpegKieran Kunhya
 
Private 5G Networks at the Queen's Funeral and Elsewhere
Private 5G Networks at the Queen's Funeral and ElsewherePrivate 5G Networks at the Queen's Funeral and Elsewhere
Private 5G Networks at the Queen's Funeral and ElsewhereKieran Kunhya
 
IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...
IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...
IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...Kieran Kunhya
 
5G for onboard racing car video
5G for onboard racing car video5G for onboard racing car video
5G for onboard racing car videoKieran Kunhya
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseKieran Kunhya
 
How to explain ST 2110 to a six year old.
How to explain ST 2110 to a six year old.How to explain ST 2110 to a six year old.
How to explain ST 2110 to a six year old.Kieran Kunhya
 

Mais de Kieran Kunhya (7)

Baby Demuxed's First Assembly Language Function
Baby Demuxed's First Assembly Language FunctionBaby Demuxed's First Assembly Language Function
Baby Demuxed's First Assembly Language Function
 
AVX512 assembly language in FFmpeg
AVX512 assembly language in FFmpegAVX512 assembly language in FFmpeg
AVX512 assembly language in FFmpeg
 
Private 5G Networks at the Queen's Funeral and Elsewhere
Private 5G Networks at the Queen's Funeral and ElsewherePrivate 5G Networks at the Queen's Funeral and Elsewhere
Private 5G Networks at the Queen's Funeral and Elsewhere
 
IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...
IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...
IBC 2022 IP Showcase - Timestamps in ST 2110: What They Mean and How to Measu...
 
5G for onboard racing car video
5G for onboard racing car video5G for onboard racing car video
5G for onboard racing car video
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
 
How to explain ST 2110 to a six year old.
How to explain ST 2110 to a six year old.How to explain ST 2110 to a six year old.
How to explain ST 2110 to a six year old.
 

Último

Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf203318pmpc
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 

Último (20)

Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 

Native IP Decoding MPEG-TS Video to Uncompressed IP (and Vice versa) on COTS Hardware

  • 1. <Your Logo Here> Native IP decoding of MPEG-TS video to Uncompressed IP (and vice versa) on COTS hardware Kieran Kunhya <kierank@obe.tv>
  • 2. <Your Logo Here> Introduction • Many facilities have large numbers of outside sources, hundreds of single 1U encoders and decoders, single channel – Often not much in the way of switchers – Basic processing, graphics, commentary • Using entirely COTS hardware for encoding and decoding to/from Uncompressed IP – Complex software engineering problems – Multidisciplinary: Broadcast, Networking, Multimedia • First half of presentation about operational challenges, second part is deep dive into Software Engineering problems
  • 3. <Your Logo Here> Who we are? • Company specialising in software- based encoders and decoders for Sport, News and Channel contribution (B2B) • Based in Central London • Build everything in house: – Hardware, firmware, software
  • 4. <Your Logo Here> Where it all began? • Major UK News Channel moving building – Approached in 2015 about possibility of future update to 2022-6 – Hundreds of encoders and decoders for contribution • In the end run as SDI for 1.5 years, then “lift-and-shift” – Designed process for operators to migrate equipment overnight
  • 5. <Your Logo Here> Why do this? • Reduce use of encapsulators • Beyond historical-re-enactment – Using native IP devices to process video at scale – Don’t invent the internet to use it to send more faxes • Still a lot of 2022-6, not going away. Useful in linear environments with freerunning sources, no need for PTP
  • 6. <Your Logo Here> Challenges • Selection of Network Interface Card (NIC) in 2015! – Limited choice (10GbE) and capabilities – Chose Intel 82599 • No analysis equipment until ~2016-17 • Limited availability of 2022-6 equipment • Mixed SD/HD and PAL/NTSC including 720p59.94
  • 7. <Your Logo Here> Broadcast as an IT service • Large amount of compute – Hundreds of cores (small supercomputer) – Usable for other things (e.g transcode) • Managed using Ansible – “open-source software provisioning, configuration management, and application-deployment tool” • COTS hardware to reduce costs, time to deployment
  • 8. <Your Logo Here> Hardware provisioning • Well known methods for large scale hardware provisioning of IT hardware – Ubuntu Preseed to flash precise software onto hardware, inc. IP addresses etc – Ship anywhere in the world, plug-in, go • Used by CDNs which colocate equipment on other people’s network
  • 9. <Your Logo Here> Spin up and spin down • Goal to allow spin up and spin down production – e.g Sports, Elections • Weekend operators did this by themselves over the weekend! – Doubled decode capacity on same hardware • Cloud-style usage models – Pay per usage
  • 10. <Your Logo Here> Step forward to 2019/20 • Well known consumer brand doing sports – Based at large production house – 2.5 months from commission to deploy (!!) • World Feed of Sport decoded to 2110 for downstream processing – 15-20Mbps H.264, 4-8 pairs of audio • 1080i25 or 29.97, 16ch single flow @ 125us • Up to 15 simultaneous matches
  • 11. <Your Logo Here> Incredible density vs SDI • 2 full racks of decoders or encoders replaced with 2U of blade servers • Add CPUs/RAM to nodes as needed • Envisage cloud like racks of this in near-future • 64+ Channels in 2U
  • 13. <Your Logo Here> High Level Overview of Challenges • High data rates of UDP traffic – Many Gbps • Unusual pixel formats, software works in 8/16-bit, packed 10-bit in 2022-6/2110 • Very tight timing requirements: – Order of us • 2022-7 skew • Internal multicast routing
  • 14. <Your Logo Here> Kernel Bypass • Standard OSs not designed for volume of UDP traffic – Might change in future as HTTP3 deployed which uses UDP • Direct path to NIC memory – Craft packets yourself IP/UDP headers • We chose netmap, support Intel and Mellanox cards – Can’t use vendor specific libraries
  • 15. <Your Logo Here> Packet pacing • Need to space packets evenly • Canonical method of NIC assisted pacing – Send using a TX queue, ratelimit queue – Grace et. Al, BBC R&D 2016 – Ideally let the OS do PTP, ping, IGMP • Fix all the hardware bugs in pacer – Mellanox and Intel had large drift (sometimes 1000ppm) – Fractional framerate compensation
  • 16. <Your Logo Here> 2022-7 skew • Many problems – Cannot send two packets exactly at the same time – After loss of a path, queue empties – Tricky to realign queue, continually moving target • Would love to have hardware duplicate packets – Send once, header rewrite using NIC eSwitch
  • 17. <Your Logo Here> Accelerated pixel processing • Hand written SIMD code, multiple pixels processed at once – Many permutations pixel formats, dozens of functions – Around 25 times faster than naïve implementations! • Pixel transformations straight into NIC memory – SIMD + Kernel Bypass = 100-200x speed improvement! • More detailed explanation at Demuxed 2017 presentation: www.youtu.be/watch?v=A4L5xEXXlas
  • 18. <Your Logo Here> Implementing SDI (2022-6) in software • SDI CRC is CPU intensive – 10-bit data, 25-bit polynomial – Useless in IP • Pixel spanning multiple packets… • SDI Level B, painful to handle • Cursed mixed cadence in NTSC – 1601/1602 on each audio group • However, single code base across baseband and 2022-6 – Regression tests based on real-world captures
  • 19. <Your Logo Here> 2110 software challenges (video) • 3 coupled variables – Frequency – Phase – Packet Bursts • NIC dependent, difference between Narrow and Wide • Change one and the others move from target!
  • 20. <Your Logo Here> 2110 software challenges (video) • Software senders can’t just create a gap for the vertical blanking – Stuff with other traffic (audio etc) • Phase is hard, don’t know where you start – Start sending and drift your way back to PTP epoch – Start too late and some devices will never recover! – Many NICs have hardware transmit timestamps – Filter some timestamps that go back in the past.. • 50/59.94fps harder, less time to react
  • 21. <Your Logo Here> 2110 software challenges (audio) • 125us audio is tight. Bypass is overkill for 30Mbps of traffic • Seen one vendor send two packets at the same time (250us gap)
  • 22. <Your Logo Here> General software comments • Challenging to maintain a modular codebase with Uncompressed IP – Technical debt accumulation • Hard to use standard paradigms such as reference counting (especially with tiny 125us buffers) • Very tight integration with application
  • 23. <Your Logo Here> Interoperability… • One decapsulator expects source port to match destination port… • Many don’t verify IP checksums • Not all receivers can handle 16ch flows • Some analysers and receivers just crash – Sometimes within minutes, sometimes days – Expecting SDI-like flows… • Clear that some receivers using packet arrival time for audio and not timestamps • Some transmitters miles off the epoch – Operators route freerunning sources, causes problems for native IP devices
  • 24. <Your Logo Here> Where next? • Packet Pacing is a crutch – Hardware packet pacers are buggy – Easier to send line rate and multiplex ourselves • Not container/VM friendly • Docker containers – How do have different 2110 implementations coexist? • True remote production – Use off-prem compute hardware, spin-up and down

Notas do Editor

  1. “lousy location”
  2. Explain what a CDN is
  3. Visit booth and see link
  4. Cyclic Redundancy Check
  5. The missile knows where it is at all times. It knows this because it knows where it isn't.
  6. PTP epoch, time you are meant to transmit the beginning of the frame