SlideShare una empresa de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar 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
 

Similar 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 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIAChapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIA
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
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...
 

Más 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
 

Más 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

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
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
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 

Último (20)

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
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
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 

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 del 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