SlideShare a Scribd company logo
1 of 20
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 1
bitmovin GmbH
Lakeside B01 | 9020 Klagenfurt | Austria | Europe
c/o 1200 Pacific Avenue | Santa Cruz | CA 95060 | USA
T +43 463 203014
E office@bitmovin.net
www.bitmovin.net
@bitmovin | facebook.com/bitmovin | github.com/bitmovin | crunchbase.com/company/bitmovin
Choosing the Segment Length for Adaptive Bitrate
Streaming
Fun with Segments!
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 2
AGENDA
» Motivation
» MPEG-DASH Dataset
› Bitrates & Resolutions
› Content Structure
» Choosing the Segment Length for ABR
› Encoding Efficiency & Quality
› Muxing Overhead
› Streaming Performance
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 3
MOTIVATION & WHY ARE WE DOING THAT
» Different recommendations available on the internet
› Smooth: 2 Seconds
› HLS: 10 Seconds
› MPEG-DASH: Fixed and variable segment lengths with no
recommendation from MPEG or DASH-IF
› and many other recommendations on blogs, etc.
» No real explanation
» No experiments and evaluations
» What should we do?
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 4
MPEG-DASH DATASET
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 5
ENCODING & MUXING SETTINGS
» Dataset with MPEG-DASH Content
› Movies in high quality
› Free available for MPEG-DASH experiments
› PSNR values per frame
Name Source Quality Length Content Type
Big Buck Bunny 1080p YUV 09:46 Animation
Elephant Dream 1080p YUV 10:54 Animation
RedBull Playstreets 1080p, 6Mbps
H264/AVC
01:37:28 Sport
The Swiss Account 1080p, 6Mbps
H264/AVC
57:34 Sport
Valkaama 1080p, 6Mbps
H264/AVC
01:33:05 Movie
Of Forest and Men SD 10:53 Movie
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 6
BITRATES AND RESOLUTIONS
# Animation Sport Movie
1 50 kbit/s, 320x240 100 kbit/s, 320x240 50 kbit/s, 320x240
2 100 kbit/s, 320x240 150 kbit/s, 320x240 100 kbit/s, 320x240
3 150 kbit/s, 320x240 200 kbit/s, 480x360 150 kbit/s, 320x240
4 200 kbit/s, 480x360 250 kbit/s, 480x360 200 kbit/s, 480x360
5 250 kbit/s, 480x360 300 kbit/s, 480x360 250 kbit/s, 480x360
6 300 kbit/s, 480x360 400 kbit/s, 480x360 300 kbit/s, 480x360
7 400 kbit/s, 480x360 500 kbit/s, 854x480 400 kbit/s, 480x360
8 500 kbit/s, 480x360 700 kbit/s, 854x480 500 kbit/s, 854x480
9 600 kbit/s, 854x480 900 kbit/s, 854x480 600 kbit/s, 854x480
10 700 kbit/s, 854x480 1,2 Mbit/s, 854x480 700 kbit/s, 854x480
11 900 kbit/s,1280x720 1,5 Mbit/s,1280x720 900 kbit/s,1280x720
12 1,2 Mbit/s,1280x720 2,0 Mbit/s,1280x720 1,2 Mbit/s,1280x720
13 1,5 Mbit/s,1280x720 2,5 Mbit/s,1280x720 1,5 Mbit/s,1280x720
14 2,0 Mbit/s,1280x720 3,0 Mbit/s,1920x1080 2,0 Mbit/s,1920x1080
15 2,5 Mbit/s,1920x1080 4,0 Mbit/s,1920x1080 2,5 Mbit/s,1920x1080
16 3,0 Mbit/s,1920x1080 5,0 Mbit/s,1920x1080 3,0 Mbit/s,1920x1080
17 4,0 Mbit/s,1920x1080 6,0 Mbit/s,1920x1080 4,0 Mbit/s,1920x1080
18 5,0 Mbit/s,1920x1080 5,0 Mbit/s,1920x1080
19 6,0 Mbit/s,1920x1080 6,0 Mbit/s,1920x1080
20 8,0 Mbit/s,1920x1080
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 7
WHAT RESOLUTION WHAT BITRATE
» Evaluations have been performed for each type of content
› Sport
› Animation
› Movie
RedBull Playstreets (Sport)
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 8
DATASET STRUCTURE
» Segment Sizes
› Seconds: 1, 2, 4, 6, 10, 15
» Bitrates ranging from 50 Kbps to 8 Mbps
» Resolutions ranging from 240p to 1080p
» MPD Types available
› SegmentTemplate referencing individual segments
› SegmentBase with byte range requests indexed in the MP4
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 9
SEGMENT LENGTH CONSIDERATIONS
» Smaller segment sizes will lead to decreased encoding
efficiency
› Shorter GOPs
› Muxing Overhead
» Large segment sizes are restricting the adaptation
algorithm and can lead to more frequent buffering
› Bandwidth fluctuations
› Delay (RTT)
› Network: Mobile vs. Fixed
› HTTP/1.0 vs HTTP/1.1
» What segment length should we choose?
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 10
ENCODING EFFICIENCY AND QUALITY
Segment Length
(GOP Frames)
1 Sec.
(24)
2 Sec.
(48)
4 Sec.
(96)
6 Sec.
(144)
10 Sec.
(240)
15 Sec.
(360)
300 Kbps PSNR 35.83 36.51 36.98 37.14 37.31 37.31
1200 Kbps PSNR 38.24 39.78 40.02 40.02 40.10 40.17
Example:
Big Buck Bunny
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 11
MUXING OVERHEAD
» MP4: Overhead is negligible
» MP2TS: Overhead should be
considered, but can be
optimized
0% 5% 10% 15% 20% 25% 30% 35%
ISOBMFF - Fragmented MP4
MPEG-2 TS
ISOBMFF - Fragmented MP4 MPEG-2 TS
128 3% 30%
128 Kbps
0% 10% 20% 30%
ISOBMFF - Fragmented MP4
MPEG-2 TS
ISOBMFF - Fragmented MP4 MPEG-2 TS
500 2% 11%
500 Kbps
0% 10% 20% 30%
ISOBMFF - Fragmented MP4
MPEG-2 TS
ISOBMFF - Fragmented MP4 MPEG-2 TS
1000 1% 7%
1 Mbps
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 12
ENCODING & MUXING CONCLUSION
» Encoding
› Segment sizes with lengths smaller than 2 seconds perform
very poor (up to 2 dB PSNR difference)
› There’s not much difference after 4 second segment sizes
» Muxing
› MP4 Muxing overhead with segmentation is negligible
› MPEG2-TS overhead is considerable
› Your segmentation decision is not effected by muxing
» Influence of segment size on the adaptation behavior?
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 13
STREAMING PERFORMANCE
» Form a networking point of view also other factors
must be taken into account
› Bandwidth fluctuations
› Delay (RTT)
› Network: Mobile vs. Fixed
› HTTP/1.0 vs HTTP/1.1
» Evaluation with Big Buck Bunny
› 20 Representations
› Segment sizes ranging from 1 to 15 seconds
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 14
STREAMING PERFORMANCE
» Evaluation Environment
› Apache WebServer with KeepAlive On/Off
› RTT of 150ms with NetEm
› Bandwidth shaping between 386 kbps and 1536 Kbps
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 15
STREAMING PERFORMANCE
» Persistent Connection vs. Non-Persistent Connection
› 2 Second Segments
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 16
STREAMING PERFORMANCE
» Persistent Connection vs. Non-Persistent Connection
› 15 Second Segments
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 17
STREAMING PERFORMANCE
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 18
STREAMING PERFORMANCE
» Non persistent connections (HTTP/1.0)
› 1 second segments 46% lower throughput
› 2 second segments 34% lower throughput
» 6 second segments have a similar performance for
persistent and non persistent connections
» Other considerations & experiments
› Oscillations (Competing Clients)
› HTTP/2.0 & SPDY, QUIC
› P2P
› Influence of proxy servers
› Battery considerations
› Comparison of MPEG-DASH vs HLS vs MSS vs HDS
› etc.
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 19
CONCLUSION
» On the encoding side there’s not much difference after 4 seconds
» Segmentation is not really influencing muxing overhead
» TCP slow start is influencing the streaming behavior for ABR
» Using pipeling and persistent connections or parallel requests helps
» 6 second segments perform well for both HTTP/1.0 and HTTP/1.1
» bitmovin uses variable segment lengths targeting 4 seconds in
average
› Good encoding efficiency
› Still allows adaptation logic’s to act flexible, i.e., less buffering
» Public available and free DASH Dataset is now a de facto standard for
evaluations and used by many researchers
MPEG-DASH Dataset Paper
© bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 20
bitmovin GmbH
Lakeside B01, 9020 Klagenfurt, Austria | 315 Olson Way #317, Sunnyvale, CA 94086,USA
T +43 463 203014
E office@bitmovin.net
www.bitmovin.net
@bitmovin | facebook.com/bitmovin | github.com/bitmovin | crunchbase.com/company/bitmovin
… questions, comments, etc. are welcome …
bitmovin bring’s video content online as fast as possible

More Related Content

What's hot

499198466-LTE-Fundamentals-FinalMerged-PB5.pdf
499198466-LTE-Fundamentals-FinalMerged-PB5.pdf499198466-LTE-Fundamentals-FinalMerged-PB5.pdf
499198466-LTE-Fundamentals-FinalMerged-PB5.pdf
MohamedShabana37
 

What's hot (20)

LTE Basic KPIs
LTE Basic  KPIsLTE Basic  KPIs
LTE Basic KPIs
 
NETCONFとYANGの話
NETCONFとYANGの話NETCONFとYANGの話
NETCONFとYANGの話
 
499198466-LTE-Fundamentals-FinalMerged-PB5.pdf
499198466-LTE-Fundamentals-FinalMerged-PB5.pdf499198466-LTE-Fundamentals-FinalMerged-PB5.pdf
499198466-LTE-Fundamentals-FinalMerged-PB5.pdf
 
OpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A TutorialOpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A Tutorial
 
はじめての SAP on AWS
はじめての SAP on AWSはじめての SAP on AWS
はじめての SAP on AWS
 
Openconfigを用いたネットワーク機器操作
Openconfigを用いたネットワーク機器操作Openconfigを用いたネットワーク機器操作
Openconfigを用いたネットワーク機器操作
 
ジュニパーアイコン集
ジュニパーアイコン集ジュニパーアイコン集
ジュニパーアイコン集
 
Amazon Redshift ベンチマーク Hadoop + Hiveと比較
Amazon Redshift ベンチマーク  Hadoop + Hiveと比較 Amazon Redshift ベンチマーク  Hadoop + Hiveと比較
Amazon Redshift ベンチマーク Hadoop + Hiveと比較
 
Open Caching Update
Open Caching UpdateOpen Caching Update
Open Caching Update
 
通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
 
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
 
Architecture of the lte air interface
Architecture of the lte air interfaceArchitecture of the lte air interface
Architecture of the lte air interface
 
The VP8 Video Codec
The VP8 Video CodecThe VP8 Video Codec
The VP8 Video Codec
 
インターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組みインターネットにおける動画配信の仕組み
インターネットにおける動画配信の仕組み
 
「落ちない」AWSのインフラ構成、システム要件にあわせたパターンをご紹介
「落ちない」AWSのインフラ構成、システム要件にあわせたパターンをご紹介「落ちない」AWSのインフラ構成、システム要件にあわせたパターンをご紹介
「落ちない」AWSのインフラ構成、システム要件にあわせたパターンをご紹介
 
Xcap
XcapXcap
Xcap
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
14 wcdma
14 wcdma14 wcdma
14 wcdma
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntax
 

Viewers also liked

Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?
Bitmovin Inc
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
kumaryu
 

Viewers also liked (6)

Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?
 
Video Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRMVideo Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRM
 
Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
 
HTML5でDRMってアリなの?〜誰も教えてくれないマルチデバイス時代のコンテンツ保護。その現状と展望
HTML5でDRMってアリなの?〜誰も教えてくれないマルチデバイス時代のコンテンツ保護。その現状と展望HTML5でDRMってアリなの?〜誰も教えてくれないマルチデバイス時代のコンテンツ保護。その現状と展望
HTML5でDRMってアリなの?〜誰も教えてくれないマルチデバイス時代のコンテンツ保護。その現状と展望
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
 

Similar to Choosing the Segment Length for Adaptive Bitrate Streaming

Avtex Lync 2013 Event - Fargo
Avtex Lync 2013 Event - FargoAvtex Lync 2013 Event - Fargo
Avtex Lync 2013 Event - Fargo
Avtex
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
口試投影片(詹智傑) Final
口試投影片(詹智傑) Final口試投影片(詹智傑) Final
口試投影片(詹智傑) Final
詹智傑
 
It 200 project 2 - group 4 - final
It 200   project 2 - group 4 - finalIt 200   project 2 - group 4 - final
It 200 project 2 - group 4 - final
Loren Schwappach
 
03-Reznik-DASH-IF-workshop-2019-CAE.pdf
03-Reznik-DASH-IF-workshop-2019-CAE.pdf03-Reznik-DASH-IF-workshop-2019-CAE.pdf
03-Reznik-DASH-IF-workshop-2019-CAE.pdf
JunZhao68
 
20120416 tf mms_feedback_slideshare
20120416 tf mms_feedback_slideshare20120416 tf mms_feedback_slideshare
20120416 tf mms_feedback_slideshare
Osamu Takazoe
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PROIDEA
 

Similar to Choosing the Segment Length for Adaptive Bitrate Streaming (20)

Avtex Lync 2013 Event - Fargo
Avtex Lync 2013 Event - FargoAvtex Lync 2013 Event - Fargo
Avtex Lync 2013 Event - Fargo
 
Video Coding for Large-Scale HTTP Adaptive Streaming Deployments: State of th...
Video Coding for Large-Scale HTTP Adaptive Streaming Deployments: State of th...Video Coding for Large-Scale HTTP Adaptive Streaming Deployments: State of th...
Video Coding for Large-Scale HTTP Adaptive Streaming Deployments: State of th...
 
Its timetostopstalling androidcork
Its timetostopstalling androidcorkIts timetostopstalling androidcork
Its timetostopstalling androidcork
 
VMworld 2013: PCoIP: Sizing For Success
VMworld 2013: PCoIP: Sizing For SuccessVMworld 2013: PCoIP: Sizing For Success
VMworld 2013: PCoIP: Sizing For Success
 
World Cup Webinar from Signiant
World Cup Webinar from SigniantWorld Cup Webinar from Signiant
World Cup Webinar from Signiant
 
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
 
Building scalable web socket backend
Building scalable web socket backendBuilding scalable web socket backend
Building scalable web socket backend
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
口試投影片(詹智傑) Final
口試投影片(詹智傑) Final口試投影片(詹智傑) Final
口試投影片(詹智傑) Final
 
Bitmovin LIVE Tech Talks: Reducing Peak Bandwidth for OTT (ft. Akamai)
Bitmovin LIVE Tech Talks: Reducing Peak Bandwidth for OTT (ft. Akamai) Bitmovin LIVE Tech Talks: Reducing Peak Bandwidth for OTT (ft. Akamai)
Bitmovin LIVE Tech Talks: Reducing Peak Bandwidth for OTT (ft. Akamai)
 
Building CloudScale Networks - AWS Summit Sydney 2018
Building CloudScale Networks - AWS Summit Sydney 2018Building CloudScale Networks - AWS Summit Sydney 2018
Building CloudScale Networks - AWS Summit Sydney 2018
 
It 200 project 2 - group 4 - final
It 200   project 2 - group 4 - finalIt 200   project 2 - group 4 - final
It 200 project 2 - group 4 - final
 
03-Reznik-DASH-IF-workshop-2019-CAE.pdf
03-Reznik-DASH-IF-workshop-2019-CAE.pdf03-Reznik-DASH-IF-workshop-2019-CAE.pdf
03-Reznik-DASH-IF-workshop-2019-CAE.pdf
 
Инновации Cisco для операторов связи
Инновации Cisco для операторов связиИнновации Cisco для операторов связи
Инновации Cisco для операторов связи
 
20120416 tf mms_feedback_slideshare
20120416 tf mms_feedback_slideshare20120416 tf mms_feedback_slideshare
20120416 tf mms_feedback_slideshare
 
Quality-delay Tradeoff Optimization in Multi-Bitrate Adaptive Streaming
Quality-delay Tradeoff Optimization in Multi-Bitrate Adaptive StreamingQuality-delay Tradeoff Optimization in Multi-Bitrate Adaptive Streaming
Quality-delay Tradeoff Optimization in Multi-Bitrate Adaptive Streaming
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
 
Live streaming basics for fun and profit
Live streaming basics for fun and profitLive streaming basics for fun and profit
Live streaming basics for fun and profit
 
Building Cloudscale Networks
Building Cloudscale NetworksBuilding Cloudscale Networks
Building Cloudscale Networks
 
The Road to Ultra Low Latency
The Road to Ultra Low LatencyThe Road to Ultra Low Latency
The Road to Ultra Low Latency
 

More from Bitmovin Inc

More from Bitmovin Inc (20)

Webinar Slides: Cost of Errors on VoD Services
Webinar Slides: Cost of Errors on VoD ServicesWebinar Slides: Cost of Errors on VoD Services
Webinar Slides: Cost of Errors on VoD Services
 
Don't Fly Blind! How to Setup Video Streaming Analytics in Minutes
Don't Fly Blind! How to Setup Video Streaming Analytics in MinutesDon't Fly Blind! How to Setup Video Streaming Analytics in Minutes
Don't Fly Blind! How to Setup Video Streaming Analytics in Minutes
 
[Tech Talk Slides] Super-Resolution: What's the Buzz and Why is it so Important
[Tech Talk Slides] Super-Resolution: What's the Buzz and Why is it so Important[Tech Talk Slides] Super-Resolution: What's the Buzz and Why is it so Important
[Tech Talk Slides] Super-Resolution: What's the Buzz and Why is it so Important
 
There's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve themThere's a fix for that: Top 5 OTT challenges & how to resolve them
There's a fix for that: Top 5 OTT challenges & how to resolve them
 
Bitmovin Per-Title Encoding Learning Lab Tutorial
Bitmovin Per-Title Encoding Learning Lab TutorialBitmovin Per-Title Encoding Learning Lab Tutorial
Bitmovin Per-Title Encoding Learning Lab Tutorial
 
How to quickly and easily reduce streaming costs
How to quickly and easily reduce streaming costsHow to quickly and easily reduce streaming costs
How to quickly and easily reduce streaming costs
 
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
 
Bitmovin LIVE Tech Talks: Low Latency Streaming
Bitmovin LIVE Tech Talks: Low Latency StreamingBitmovin LIVE Tech Talks: Low Latency Streaming
Bitmovin LIVE Tech Talks: Low Latency Streaming
 
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video WorkflowsBitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
 
Bitmovin LIVE Tech Talks: Achieving D2C Streaming Success
Bitmovin LIVE Tech Talks: Achieving D2C Streaming SuccessBitmovin LIVE Tech Talks: Achieving D2C Streaming Success
Bitmovin LIVE Tech Talks: Achieving D2C Streaming Success
 
Bitmovin LIVE Tech Talks: Overcoming Encoding Challenges
Bitmovin LIVE Tech Talks: Overcoming Encoding Challenges Bitmovin LIVE Tech Talks: Overcoming Encoding Challenges
Bitmovin LIVE Tech Talks: Overcoming Encoding Challenges
 
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That MatterBitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
Bitmovin LIVE Tech Talks: 5 Analytics Metrics That Matter
 
Bitmovin LIVE Tech Talks: Fun with Container Formats
Bitmovin LIVE Tech Talks: Fun with Container FormatsBitmovin LIVE Tech Talks: Fun with Container Formats
Bitmovin LIVE Tech Talks: Fun with Container Formats
 
Broadcast Presentation Slides - AMA with the Bitmovin Founders
Broadcast Presentation Slides - AMA with the Bitmovin FoundersBroadcast Presentation Slides - AMA with the Bitmovin Founders
Broadcast Presentation Slides - AMA with the Bitmovin Founders
 
Bitmovin LIVE: NAB 2020 Kickoff Webinar - "COVID-19 and its impact on OTT Video"
Bitmovin LIVE: NAB 2020 Kickoff Webinar - "COVID-19 and its impact on OTT Video"Bitmovin LIVE: NAB 2020 Kickoff Webinar - "COVID-19 and its impact on OTT Video"
Bitmovin LIVE: NAB 2020 Kickoff Webinar - "COVID-19 and its impact on OTT Video"
 
Better Together: Player + Analytics Webinar
Better Together: Player + Analytics WebinarBetter Together: Player + Analytics Webinar
Better Together: Player + Analytics Webinar
 
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian Feldmann
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian FeldmannBitmovin AV1/VVC Presentation_Streaming Media East by Christian Feldmann
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian Feldmann
 
Bitmovin Low Latency CMAF Presentation_Streaming Media East by Paul MacDougall
Bitmovin Low Latency CMAF Presentation_Streaming Media East by Paul MacDougallBitmovin Low Latency CMAF Presentation_Streaming Media East by Paul MacDougall
Bitmovin Low Latency CMAF Presentation_Streaming Media East by Paul MacDougall
 
The Long Road to Video Player Success
The Long Road to Video Player SuccessThe Long Road to Video Player Success
The Long Road to Video Player Success
 
September 27 Roundtable: Advanced Encoding
September 27 Roundtable: Advanced EncodingSeptember 27 Roundtable: Advanced Encoding
September 27 Roundtable: Advanced Encoding
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Choosing the Segment Length for Adaptive Bitrate Streaming

  • 1. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 1 bitmovin GmbH Lakeside B01 | 9020 Klagenfurt | Austria | Europe c/o 1200 Pacific Avenue | Santa Cruz | CA 95060 | USA T +43 463 203014 E office@bitmovin.net www.bitmovin.net @bitmovin | facebook.com/bitmovin | github.com/bitmovin | crunchbase.com/company/bitmovin Choosing the Segment Length for Adaptive Bitrate Streaming Fun with Segments!
  • 2. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 2 AGENDA » Motivation » MPEG-DASH Dataset › Bitrates & Resolutions › Content Structure » Choosing the Segment Length for ABR › Encoding Efficiency & Quality › Muxing Overhead › Streaming Performance
  • 3. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 3 MOTIVATION & WHY ARE WE DOING THAT » Different recommendations available on the internet › Smooth: 2 Seconds › HLS: 10 Seconds › MPEG-DASH: Fixed and variable segment lengths with no recommendation from MPEG or DASH-IF › and many other recommendations on blogs, etc. » No real explanation » No experiments and evaluations » What should we do?
  • 4. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 4 MPEG-DASH DATASET
  • 5. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 5 ENCODING & MUXING SETTINGS » Dataset with MPEG-DASH Content › Movies in high quality › Free available for MPEG-DASH experiments › PSNR values per frame Name Source Quality Length Content Type Big Buck Bunny 1080p YUV 09:46 Animation Elephant Dream 1080p YUV 10:54 Animation RedBull Playstreets 1080p, 6Mbps H264/AVC 01:37:28 Sport The Swiss Account 1080p, 6Mbps H264/AVC 57:34 Sport Valkaama 1080p, 6Mbps H264/AVC 01:33:05 Movie Of Forest and Men SD 10:53 Movie
  • 6. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 6 BITRATES AND RESOLUTIONS # Animation Sport Movie 1 50 kbit/s, 320x240 100 kbit/s, 320x240 50 kbit/s, 320x240 2 100 kbit/s, 320x240 150 kbit/s, 320x240 100 kbit/s, 320x240 3 150 kbit/s, 320x240 200 kbit/s, 480x360 150 kbit/s, 320x240 4 200 kbit/s, 480x360 250 kbit/s, 480x360 200 kbit/s, 480x360 5 250 kbit/s, 480x360 300 kbit/s, 480x360 250 kbit/s, 480x360 6 300 kbit/s, 480x360 400 kbit/s, 480x360 300 kbit/s, 480x360 7 400 kbit/s, 480x360 500 kbit/s, 854x480 400 kbit/s, 480x360 8 500 kbit/s, 480x360 700 kbit/s, 854x480 500 kbit/s, 854x480 9 600 kbit/s, 854x480 900 kbit/s, 854x480 600 kbit/s, 854x480 10 700 kbit/s, 854x480 1,2 Mbit/s, 854x480 700 kbit/s, 854x480 11 900 kbit/s,1280x720 1,5 Mbit/s,1280x720 900 kbit/s,1280x720 12 1,2 Mbit/s,1280x720 2,0 Mbit/s,1280x720 1,2 Mbit/s,1280x720 13 1,5 Mbit/s,1280x720 2,5 Mbit/s,1280x720 1,5 Mbit/s,1280x720 14 2,0 Mbit/s,1280x720 3,0 Mbit/s,1920x1080 2,0 Mbit/s,1920x1080 15 2,5 Mbit/s,1920x1080 4,0 Mbit/s,1920x1080 2,5 Mbit/s,1920x1080 16 3,0 Mbit/s,1920x1080 5,0 Mbit/s,1920x1080 3,0 Mbit/s,1920x1080 17 4,0 Mbit/s,1920x1080 6,0 Mbit/s,1920x1080 4,0 Mbit/s,1920x1080 18 5,0 Mbit/s,1920x1080 5,0 Mbit/s,1920x1080 19 6,0 Mbit/s,1920x1080 6,0 Mbit/s,1920x1080 20 8,0 Mbit/s,1920x1080
  • 7. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 7 WHAT RESOLUTION WHAT BITRATE » Evaluations have been performed for each type of content › Sport › Animation › Movie RedBull Playstreets (Sport)
  • 8. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 8 DATASET STRUCTURE » Segment Sizes › Seconds: 1, 2, 4, 6, 10, 15 » Bitrates ranging from 50 Kbps to 8 Mbps » Resolutions ranging from 240p to 1080p » MPD Types available › SegmentTemplate referencing individual segments › SegmentBase with byte range requests indexed in the MP4
  • 9. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 9 SEGMENT LENGTH CONSIDERATIONS » Smaller segment sizes will lead to decreased encoding efficiency › Shorter GOPs › Muxing Overhead » Large segment sizes are restricting the adaptation algorithm and can lead to more frequent buffering › Bandwidth fluctuations › Delay (RTT) › Network: Mobile vs. Fixed › HTTP/1.0 vs HTTP/1.1 » What segment length should we choose?
  • 10. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 10 ENCODING EFFICIENCY AND QUALITY Segment Length (GOP Frames) 1 Sec. (24) 2 Sec. (48) 4 Sec. (96) 6 Sec. (144) 10 Sec. (240) 15 Sec. (360) 300 Kbps PSNR 35.83 36.51 36.98 37.14 37.31 37.31 1200 Kbps PSNR 38.24 39.78 40.02 40.02 40.10 40.17 Example: Big Buck Bunny
  • 11. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 11 MUXING OVERHEAD » MP4: Overhead is negligible » MP2TS: Overhead should be considered, but can be optimized 0% 5% 10% 15% 20% 25% 30% 35% ISOBMFF - Fragmented MP4 MPEG-2 TS ISOBMFF - Fragmented MP4 MPEG-2 TS 128 3% 30% 128 Kbps 0% 10% 20% 30% ISOBMFF - Fragmented MP4 MPEG-2 TS ISOBMFF - Fragmented MP4 MPEG-2 TS 500 2% 11% 500 Kbps 0% 10% 20% 30% ISOBMFF - Fragmented MP4 MPEG-2 TS ISOBMFF - Fragmented MP4 MPEG-2 TS 1000 1% 7% 1 Mbps
  • 12. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 12 ENCODING & MUXING CONCLUSION » Encoding › Segment sizes with lengths smaller than 2 seconds perform very poor (up to 2 dB PSNR difference) › There’s not much difference after 4 second segment sizes » Muxing › MP4 Muxing overhead with segmentation is negligible › MPEG2-TS overhead is considerable › Your segmentation decision is not effected by muxing » Influence of segment size on the adaptation behavior?
  • 13. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 13 STREAMING PERFORMANCE » Form a networking point of view also other factors must be taken into account › Bandwidth fluctuations › Delay (RTT) › Network: Mobile vs. Fixed › HTTP/1.0 vs HTTP/1.1 » Evaluation with Big Buck Bunny › 20 Representations › Segment sizes ranging from 1 to 15 seconds
  • 14. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 14 STREAMING PERFORMANCE » Evaluation Environment › Apache WebServer with KeepAlive On/Off › RTT of 150ms with NetEm › Bandwidth shaping between 386 kbps and 1536 Kbps
  • 15. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 15 STREAMING PERFORMANCE » Persistent Connection vs. Non-Persistent Connection › 2 Second Segments
  • 16. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 16 STREAMING PERFORMANCE » Persistent Connection vs. Non-Persistent Connection › 15 Second Segments
  • 17. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 17 STREAMING PERFORMANCE
  • 18. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 18 STREAMING PERFORMANCE » Non persistent connections (HTTP/1.0) › 1 second segments 46% lower throughput › 2 second segments 34% lower throughput » 6 second segments have a similar performance for persistent and non persistent connections » Other considerations & experiments › Oscillations (Competing Clients) › HTTP/2.0 & SPDY, QUIC › P2P › Influence of proxy servers › Battery considerations › Comparison of MPEG-DASH vs HLS vs MSS vs HDS › etc.
  • 19. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 19 CONCLUSION » On the encoding side there’s not much difference after 4 seconds » Segmentation is not really influencing muxing overhead » TCP slow start is influencing the streaming behavior for ABR » Using pipeling and persistent connections or parallel requests helps » 6 second segments perform well for both HTTP/1.0 and HTTP/1.1 » bitmovin uses variable segment lengths targeting 4 seconds in average › Good encoding efficiency › Still allows adaptation logic’s to act flexible, i.e., less buffering » Public available and free DASH Dataset is now a de facto standard for evaluations and used by many researchers MPEG-DASH Dataset Paper
  • 20. © bitmovin | github.com/bitmovin | @bitmovin | facebook.com/bitmovin 20 bitmovin GmbH Lakeside B01, 9020 Klagenfurt, Austria | 315 Olson Way #317, Sunnyvale, CA 94086,USA T +43 463 203014 E office@bitmovin.net www.bitmovin.net @bitmovin | facebook.com/bitmovin | github.com/bitmovin | crunchbase.com/company/bitmovin … questions, comments, etc. are welcome … bitmovin bring’s video content online as fast as possible