More Related Content Similar to Choosing the Segment Length for Adaptive Bitrate Streaming (20) More from Bitmovin Inc (20) Choosing the Segment Length for Adaptive Bitrate Streaming1. © 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