Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Streaming Segment Parser
Search
Yiqi Yan
October 14, 2019
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Streaming Segment Parser
Internship project at Amazon Prime Video
Yiqi Yan
October 14, 2019
More Decks by Yiqi Yan
See All by Yiqi Yan
master_thesis_defense
saoyan
0
280
Bachelor's Thesis - Oral Defense
saoyan
0
470
Deep Learning for Object Detection
saoyan
0
200
Surveillance Video Analysis
saoyan
0
760
Other Decks in Programming
See All in Programming
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
360
AWSに止められる覚悟してますか?
morizo_1984
2
520
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
R8 の設定見直しでアプリサイズ削減
andpad
0
190
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Are APIs Still Relevant in the AI Era?
soyuka
0
430
Java 27新機能 / Java 27 new features
kishida
2
200
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
450
Domain-Driven Transformation
hschwentner
2
2.3k
ジョジョの世界をXRで再現する
mofurune
0
140
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
560
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
The Cult of Friendly URLs
andyhume
79
7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Building Applications with DynamoDB
mza
96
7.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
RailsConf 2023
tenderlove
30
1.6k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
The Invisible Side of Design
smashingmag
301
52k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Transcript
STREAMING SEGMENT PARSER PRESENTED BY YIQI YAN XP PLAYER INTERN
PRESENTATION
CONTENTS ▸ ISO-BMFF Parser ▸ Current Design ▸ Proposed Design
▸ Implementation ▸ Demo & Analysis
ISO-BMFF PARSER bytes box segment box parser segment parser
ISO-BMFF PARSER bytes box segment box parser segment parser
ISO-BMFF PARSER bytes box segment box parser segment parser
ISO-BMFF PARSER bytes box segment box parser segment parser MEDIA
DATA
CURRENT DESIGN ▸ Fully synchronous process ▸ Unnecessary latency ▸
Each stage relies on the completeness of the previous one ▸ The decoder has to wait for the entire segment while it is able to perform on separate media samples
PROPOSED DESIGN ▸ Asynchronous process ▸ Whenever some data is
downloaded, pass it to the parser. ▸ Whenever some media sample is available, send it to the decoder.
CURRENT DESIGN
CURRENT DESIGN bytes box segment box parser segment parser
CURRENT DESIGN bytes box segment box parser segment parser
CURRENT DESIGN bytes box segment box parser segment parser
CURRENT DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
PROPOSED DESIGN bytes box box parser segment parser segment
IMPLEMENTATION STREAM-BASED IMPLEMENTATION ▸ Third-party stream processing library ▸ Doesn’t
have control of implementation details - potential performance problem ▸ Relies on primitive Node modules - not supported on Roku
IMPLEMENTATION EVENT-BASED IMPLEMENTATION
DEMO & ANALYSIS Audio Segment Video Segment (encrypted) Trailer Segment
(non-encrypted) number of media samples 47 109 69 size of segment (kB) ~17 ~744 ~1485 metrics ▸ time to first sample (tFirst, ms) ▸ time to last sample (tLast, ms) environment ▸ 2.5GHz Intel i7 processor ▸ 16GB memory (2133 MHz LPDDR3) ▸ macOS Mojave ▸ node.js 10
DEMO & ANALYSIS AUDIO SEGMENT (500 RUNS)
DEMO & ANALYSIS VIDEO SEGMENT (ENCRYPTED, 500 RUNS)
DEMO & ANALYSIS TRAILER SEGMENT (NON-ENCRYPTED, 500 RUNS)
TO DO ▸ Integration to XP player framework ▸ Event-based
decoder ▸ Error handling ▸ Performance measurement in real case ▸ With pre-buffer ▸ Counting decoding time
Q&A Q & A