SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
IPv4 IPv6 Multi Protocol
Media Player
- APNIC 50 -
Masaaki NABESHIMA
Sep 9, 2020
Copyright (c) kosho.org 1v9-9-2020
◼ Use IPv4 and IPv6
◼ Calculate speeds
◼ Do
• Display speeds
• Choose protocol
Copyright (c) kosho.org 2
IPv4 IPv6 Multi Protocol Media Player
◼ Over 1 / 4 requests are IPv6
• IPv6 Connection rate
• Akamai Report (Dec 2019) *1
• The United States: 45.8%
• Japan: 31.3%
• IIJ Koshien Report (Aug 2019) *2
• Japan : 24%
◼ IPv4 will never disappears
• We will have to keep using both protocols for a long period !
Copyright (c) kosho.org 3
Background: IPv6 is REAL
*1:https://www.akamai.com/us/en/resources/our-thinking/state-of-the-internet-report/state-of-the-internet-ipv6-adoption-visualization.jsp
*2: https://eng-blog.iij.ad.jp/archives/4183
◼ Protocol itself
• Almost the same for performance
◼ Network Implementations are different
• e.g. Base protocols and Aggregation boxes are different
• IPv4: PPPoE
• IPv6: IPoE
• Each aggregation boxes have different capacities
◼ Network Speeds are different
• Many people say IPv6 is faster than IPv4
• IPv4 aggregation boxes are generally full
• IPv6 Aggregation boxes have some margin
Copyright (c) kosho.org 4
Background: IPv4 and IPv6 are different
◼ Recent Media Players
• Players download media chunks by HTTP (HLS, Dash)
• Media chunk: fragments of a movie
• Players reassemble the chunks and generate a full movie
Copyright (c) kosho.org 5
Background: Media Player
Chunk 1 Chunk 2 Chunk 3 Chunk 4 Chunk 5 Chunk 6 Chunk 7 Chunk 8
◼ Basic idea
1, Media Player can use IPv4 and IPv6 in a movie stream
• e.g. one by one
2, Also the Media player can calculate download speeds of each chunks
3, And then, the Media Player can choose the preferable protocol
Copyright (c) kosho.org 6
IPv4 IPv6 Multi Protocol Media Player
IPv6 IPv4 IPv6 IPv4 IPv6 IPv4 IPv6 IPv4
9.1 Mbps 5.4 Mbps 9.8 Mbps 6.4 Mbps 9.9 Mbps 4.8 Mbps 5.8 Mbps 8.7 MbpsDownload Speeds
IPv6 IPv6 IPv6 IPv4 IPv6 IPv6 IPv6 IPv4
Media chunks
◼ Initial Implementation
• My own Player with MSE (Media Source Extensions)
• Many restrictions ( e.g. no trick play, no m3u8, …)
◼ Current Implementation
• Base player: Hls.js (Popular media player for browser)
• https://github.com/video-dev/hls.js/
• Plugin (hls46.js)
• https://github.com/kosho-org/hls-46-plugin/
Copyright (c) kosho.org 7
Implementation
◼ Sample
Copyright (c) kosho.org 8
Plugin Usage <html>
<script src="https://cdn.jsdelivr.net/npm/hls.js@0.14.1"></script>
<video id="video" controls preload="none"></video>
<script src="hls-46.js"></script>
<script src="hls-customload.js"></script>
<script src="cb-2-filesize.js"></script>
<script>
var video = document.getElementById('video');
var videoSrc = 'cb-2.m3u8';
var customLoader = function() {};
customLoader.prototype = new Hls.DefaultConfig.loader();
customLoader.prototype.loadInternal = customLoadInternal;
hls46init(0,"http://ipv4.example.com/","http://ipv6.example.com/",
"https://ipv4.media.example.com/hls/","https://ipv6.media.example.com/hls/");
var hls = new Hls({loader: customLoader});
hls.loadSource(videoSrc);
hls.attachMedia(video);
hls46TextShow();
</script>
</html>
Plug-in Initialization
Subtitle (for speed display)
Initialization
Custom (media) Loader
Initialization
◼ IPv4 IP6 handling
• Need separate URLs
• e.g.
• https://ipv4.example.com/hls/xxx.ts
• https://ipv6.example.com/hls/xxx.ts
• Player determines protocol by (URL) string
◼ Internal Key functions
• urlHandler
• modifies media URLs. It's called by customLoadInternal
• speedHandler
• calculates download speeds. It's called by urlHandler and
ontimeUpdate of html5 video
Copyright (c) kosho.org 9
Current Implementation (hls.js plugin)
◼ Statistics Handling
Copyright (c) kosho.org 10
Current Implementation
Media Server (IPv4)
Media Server (IPv6)
beacon.php (Beacon/POST)
Statistics Server (IPv6)
sid.php (session ID/GET)
uid.php (user ID/GET)
ip.php (IPv6 Address/GET)
Statistic Server (IPv4)
ip.php (IPv4 Address/GET)
◼ Speed Comparison
• IPv4 IPv6 One by one
◼ Protocol Selection
• Initial check mode
• Continuous check mode
Copyright (c) kosho.org 11
Plugin Mode
Use the faster protocolInitial check
Initial check Use both protocols to check speed
Copyright (c) kosho.org 12
Demo: Speed Comparison
IPv6 IPv4 IPv6 IPv4 IPv6 IPv4 IPv6 IPv4
Subtitle
Browser Developer Tools (F12)
Copyright (c) kosho.org 13
Demo
• All Chunk size
• 271KB* / 2sec
• Speeds
• Not the same
• Stable speed needs bigger chunks (like 4K videos)
• 4K demo: https://www.kosho.org/tools/v6speed-check-by-movie/
*The first chunk is 272KB
◼ Data
• Sessions: 955
• Nov 20 2019 – Sep 3 2020
• Filter
• Client GeoIP: Japan
• IPv4 chunks > 1, IPv6 chunks > 1
Copyright (c) kosho.org 14
Statistics
Hour Session# IPv6/IPv4
1 16 1.01
2 8 1.14
3 22 0.92
4 4 0.70
5 13 1.83
6 8 1.02
7 11 0.82
8 56 1.23
9 45 0.87
10 55 1.07
11 74 1.19
12 49 1.06
13 59 1.36
14 58 1.29
15 55 1.20
16 62 0.91
17 57 1.08
18 32 1.14
19 37 0.98
20 23 3.24
21 44 1.21
22 69 3.21
23 69 1.79
24 0 2.02
Copyright (c) kosho.org 15
Stat: Speed Ratio by Hour
• Generally IPv6 is faster than IPv4 !
• Especially night peak
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
IPv6 / IPv4 Speed Ratio
Copyright (c) kosho.org 16
Stat: Speed Ratio Distribution
Speed Ratio Session # Session %
IPv6 faster (> 4) 41 4.29 %
IPv6 faster (4 ~ 2) 70 7.33 %
IPv6 faster (2 ~ 1.2) 191 20.00 %
Almost same 363 38.01 %
IPv4 faster (2 ~ 1.2) 200 20.94 %
IPv4 faster (4 ~ 2) 58 6.07 %
IPv4 faster (> 4) 32 3.35 %
• IPv6 is not always faster than IPv4
• Reason:
• Old style IPv6 tunneling over IPv4
• Need more study
◼ Most of cases
• We should use IPv6 (Default behavior)
◼ However, some remaining cases we should use IPv4
• This plug-in will work
◼ Note
• Currently, IPv6 users are minor -> IPv6 is faster
• However, the number of IPv6 users increases -> IPv4 can be faster
Copyright (c) kosho.org 17
Summery: IPv4 vs IPv6
◼ New fun way to compare IPv4/IPv6 speeds
• Realtime speed display
• Realistic measurement of streaming video
• Mobile, HD, 4K videos
• Probably work on another player (video.js…)
◼ Work as a player side multi CDN (CDN selection by player,
original goal)
• Without any modification, you can use this plugin as a selector
• CDNs (e.g. Akamai vs Cloudfront)
• Other Protocol (e.g. QUIC vs TCP+HTTP)
Copyright (c) kosho.org 18
Summery: IPv4 IPv6 media player
◼ Plug-in development
• IPv6 native support, Trick play support, Chunk size correction, Transfer
size handling, …
◼ Speed comparison
• Detailed analysis
• ASN, IPoE, PPPoE, …
◼ Protocol selection
• Better continuous check algorithm
Copyright (c) kosho.org 19
Future work
◼ I need partners
• I would like to realize them with partners
• If you are interested in, please let me know
Copyright (c) kosho.org 20
Future work (collaboration)
◼ Player Home (Demo) Page
• https://www.kosho.org/blog/net/ipv4ipv6-mediaplayer/
◼ Speed Comparison (Demo) Page
• https://www.kosho.org/tools/v6speed-check-by-movie/
◼ Source Code
• https://github.com/kosho-org/hls-46-plugin/
Copyright (c) kosho.org 21
Reference

Mais conteúdo relacionado

Mais procurados

Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Masahiko Sawada
 
inwinSTACK - ceph integrate with kubernetes
inwinSTACK - ceph integrate with kubernetesinwinSTACK - ceph integrate with kubernetes
inwinSTACK - ceph integrate with kubernetesinwin stack
 
Ceph on 64-bit ARM with X-Gene
Ceph on 64-bit ARM with X-GeneCeph on 64-bit ARM with X-Gene
Ceph on 64-bit ARM with X-GeneCeph Community
 
Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph
Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph
Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph Ceph Community
 
openSUSE storage workshop 2016
openSUSE storage workshop 2016openSUSE storage workshop 2016
openSUSE storage workshop 2016Alex Lau
 
Не так страшен терабит / Вячеслав Ольховченков (Integros)
Не так страшен терабит / Вячеслав Ольховченков (Integros)Не так страшен терабит / Вячеслав Ольховченков (Integros)
Не так страшен терабит / Вячеслав Ольховченков (Integros)Ontico
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureDanielle Womboldt
 
Ceph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and ContributionsCeph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and ContributionsColleen Corrice
 
Ceph Day Beijing - Welcome to Beijing Ceph Day
Ceph Day Beijing - Welcome to Beijing Ceph DayCeph Day Beijing - Welcome to Beijing Ceph Day
Ceph Day Beijing - Welcome to Beijing Ceph DayDanielle Womboldt
 
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...inwin stack
 
Ceph Day Beijing - SPDK for Ceph
Ceph Day Beijing - SPDK for CephCeph Day Beijing - SPDK for Ceph
Ceph Day Beijing - SPDK for CephDanielle Womboldt
 
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedKeisuke Takahashi
 
Qnap Product Selection Guide 2016
Qnap Product Selection Guide 2016Qnap Product Selection Guide 2016
Qnap Product Selection Guide 2016Hernan Lopez
 
GlusterFS As an Object Storage
GlusterFS As an Object StorageGlusterFS As an Object Storage
GlusterFS As an Object StorageKeisuke Takahashi
 
Ceph Day Beijing - Storage Modernization with Intel and Ceph
Ceph Day Beijing - Storage Modernization with Intel and CephCeph Day Beijing - Storage Modernization with Intel and Ceph
Ceph Day Beijing - Storage Modernization with Intel and CephDanielle Womboldt
 

Mais procurados (17)

Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
 
inwinSTACK - ceph integrate with kubernetes
inwinSTACK - ceph integrate with kubernetesinwinSTACK - ceph integrate with kubernetes
inwinSTACK - ceph integrate with kubernetes
 
Ceph on 64-bit ARM with X-Gene
Ceph on 64-bit ARM with X-GeneCeph on 64-bit ARM with X-Gene
Ceph on 64-bit ARM with X-Gene
 
Nuevo Portafolio QNAP 2017
Nuevo Portafolio QNAP 2017Nuevo Portafolio QNAP 2017
Nuevo Portafolio QNAP 2017
 
Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph
Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph
Ceph Day Tokyo - Bit-Isle's 3 years footprint with Ceph
 
openSUSE storage workshop 2016
openSUSE storage workshop 2016openSUSE storage workshop 2016
openSUSE storage workshop 2016
 
Не так страшен терабит / Вячеслав Ольховченков (Integros)
Не так страшен терабит / Вячеслав Ольховченков (Integros)Не так страшен терабит / Вячеслав Ольховченков (Integros)
Не так страшен терабит / Вячеслав Ольховченков (Integros)
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
 
Ceph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and ContributionsCeph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and Contributions
 
Ceph Day Beijing - Welcome to Beijing Ceph Day
Ceph Day Beijing - Welcome to Beijing Ceph DayCeph Day Beijing - Welcome to Beijing Ceph Day
Ceph Day Beijing - Welcome to Beijing Ceph Day
 
All Zones
All ZonesAll Zones
All Zones
 
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
 
Ceph Day Beijing - SPDK for Ceph
Ceph Day Beijing - SPDK for CephCeph Day Beijing - SPDK for Ceph
Ceph Day Beijing - SPDK for Ceph
 
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
 
Qnap Product Selection Guide 2016
Qnap Product Selection Guide 2016Qnap Product Selection Guide 2016
Qnap Product Selection Guide 2016
 
GlusterFS As an Object Storage
GlusterFS As an Object StorageGlusterFS As an Object Storage
GlusterFS As an Object Storage
 
Ceph Day Beijing - Storage Modernization with Intel and Ceph
Ceph Day Beijing - Storage Modernization with Intel and CephCeph Day Beijing - Storage Modernization with Intel and Ceph
Ceph Day Beijing - Storage Modernization with Intel and Ceph
 

Semelhante a IPv4 IPv6 Multi Protocol Media Player

Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Shuo LI
 
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-BayesOSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-BayesNETWAYS
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopGanesh Raju
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?GlobalLogic Ukraine
 
Html5 Open Video Tutorial
Html5 Open Video TutorialHtml5 Open Video Tutorial
Html5 Open Video TutorialSilvia Pfeiffer
 
Video Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince PugliaVideo Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince PugliaDialogic Inc.
 
Automate your load testing using Azure DevOps, K6 and Log Analytics
Automate your load testing using Azure DevOps, K6 and Log AnalyticsAutomate your load testing using Azure DevOps, K6 and Log Analytics
Automate your load testing using Azure DevOps, K6 and Log AnalyticsIvan Porta
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansPeter Clapham
 
Update on IPv6 activity in CERNET2
Update on IPv6 activity in CERNET2Update on IPv6 activity in CERNET2
Update on IPv6 activity in CERNET2APNIC
 
Introducing Container Technology to TSUBAME3.0 Supercomputer
Introducing Container Technology to TSUBAME3.0 SupercomputerIntroducing Container Technology to TSUBAME3.0 Supercomputer
Introducing Container Technology to TSUBAME3.0 SupercomputerAkihiro Nomura
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cAjith Narayanan
 
Road to NODES - Handling Neo4j Data with Apache Hop
Road to NODES - Handling Neo4j Data with Apache HopRoad to NODES - Handling Neo4j Data with Apache Hop
Road to NODES - Handling Neo4j Data with Apache HopNeo4j
 
Web Performance Part 3 "Server-side tips"
Web Performance Part 3  "Server-side tips"Web Performance Part 3  "Server-side tips"
Web Performance Part 3 "Server-side tips"Binary Studio
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...Edge AI and Vision Alliance
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024Cloud Native NoVA
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerShu Sugimoto
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformSZ Lin
 

Semelhante a IPv4 IPv6 Multi Protocol Media Player (20)

IPv4 IPv6 Media Player
IPv4 IPv6 Media PlayerIPv4 IPv6 Media Player
IPv4 IPv6 Media Player
 
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
 
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-BayesOSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?
 
Html5 Open Video Tutorial
Html5 Open Video TutorialHtml5 Open Video Tutorial
Html5 Open Video Tutorial
 
Video Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince PugliaVideo Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince Puglia
 
Automate your load testing using Azure DevOps, K6 and Log Analytics
Automate your load testing using Azure DevOps, K6 and Log AnalyticsAutomate your load testing using Azure DevOps, K6 and Log Analytics
Automate your load testing using Azure DevOps, K6 and Log Analytics
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
Update on IPv6 activity in CERNET2
Update on IPv6 activity in CERNET2Update on IPv6 activity in CERNET2
Update on IPv6 activity in CERNET2
 
Introducing Container Technology to TSUBAME3.0 Supercomputer
Introducing Container Technology to TSUBAME3.0 SupercomputerIntroducing Container Technology to TSUBAME3.0 Supercomputer
Introducing Container Technology to TSUBAME3.0 Supercomputer
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12c
 
Road to NODES - Handling Neo4j Data with Apache Hop
Road to NODES - Handling Neo4j Data with Apache HopRoad to NODES - Handling Neo4j Data with Apache Hop
Road to NODES - Handling Neo4j Data with Apache Hop
 
Web Performance Part 3 "Server-side tips"
Web Performance Part 3  "Server-side tips"Web Performance Part 3  "Server-side tips"
Web Performance Part 3 "Server-side tips"
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
IPv6 Troubleshooting for Helpdesks
IPv6 Troubleshooting for HelpdesksIPv6 Troubleshooting for Helpdesks
IPv6 Troubleshooting for Helpdesks
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure Platform
 

Mais de Masaaki Nabeshima

ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループMasaaki Nabeshima
 
通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5Masaaki Nabeshima
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナMasaaki Nabeshima
 
国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状Masaaki Nabeshima
 
サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察Masaaki Nabeshima
 
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースMasaaki Nabeshima
 
海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点Masaaki Nabeshima
 
ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)Masaaki Nabeshima
 
ストリーミング用マルチCDN
ストリーミング用マルチCDNストリーミング用マルチCDN
ストリーミング用マルチCDNMasaaki Nabeshima
 
ストリーミング視聴解析の基礎セミナー(続き)
ストリーミング視聴解析の基礎セミナー(続き)ストリーミング視聴解析の基礎セミナー(続き)
ストリーミング視聴解析の基礎セミナー(続き)Masaaki Nabeshima
 
プレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNプレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNMasaaki Nabeshima
 
Video analytics seminar 2018
Video analytics seminar 2018Video analytics seminar 2018
Video analytics seminar 2018Masaaki Nabeshima
 

Mais de Masaaki Nabeshima (20)

vMVPDの動向について
vMVPDの動向についてvMVPDの動向について
vMVPDの動向について
 
Open Caching Update
Open Caching UpdateOpen Caching Update
Open Caching Update
 
ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループ
 
通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナ
 
ATSC 3.0, MMT, Multicast
ATSC 3.0, MMT, MulticastATSC 3.0, MMT, Multicast
ATSC 3.0, MMT, Multicast
 
国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状
 
サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察
 
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
 
IPv6 Survey 2019 Dec Update
IPv6 Survey 2019 Dec UpdateIPv6 Survey 2019 Dec Update
IPv6 Survey 2019 Dec Update
 
JP Web Sites IPv6 Survey
JP Web Sites IPv6 SurveyJP Web Sites IPv6 Survey
JP Web Sites IPv6 Survey
 
IPv6 Survey 2019
IPv6 Survey 2019IPv6 Survey 2019
IPv6 Survey 2019
 
海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点
 
ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)
 
ストリーミング用マルチCDN
ストリーミング用マルチCDNストリーミング用マルチCDN
ストリーミング用マルチCDN
 
ストリーミング視聴解析の基礎セミナー(続き)
ストリーミング視聴解析の基礎セミナー(続き)ストリーミング視聴解析の基礎セミナー(続き)
ストリーミング視聴解析の基礎セミナー(続き)
 
ISP CDN draft2
ISP CDN draft2ISP CDN draft2
ISP CDN draft2
 
プレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNプレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDN
 
Video mqtt
Video mqttVideo mqtt
Video mqtt
 
Video analytics seminar 2018
Video analytics seminar 2018Video analytics seminar 2018
Video analytics seminar 2018
 

Último

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 Servicegiselly40
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

IPv4 IPv6 Multi Protocol Media Player

  • 1. IPv4 IPv6 Multi Protocol Media Player - APNIC 50 - Masaaki NABESHIMA Sep 9, 2020 Copyright (c) kosho.org 1v9-9-2020
  • 2. ◼ Use IPv4 and IPv6 ◼ Calculate speeds ◼ Do • Display speeds • Choose protocol Copyright (c) kosho.org 2 IPv4 IPv6 Multi Protocol Media Player
  • 3. ◼ Over 1 / 4 requests are IPv6 • IPv6 Connection rate • Akamai Report (Dec 2019) *1 • The United States: 45.8% • Japan: 31.3% • IIJ Koshien Report (Aug 2019) *2 • Japan : 24% ◼ IPv4 will never disappears • We will have to keep using both protocols for a long period ! Copyright (c) kosho.org 3 Background: IPv6 is REAL *1:https://www.akamai.com/us/en/resources/our-thinking/state-of-the-internet-report/state-of-the-internet-ipv6-adoption-visualization.jsp *2: https://eng-blog.iij.ad.jp/archives/4183
  • 4. ◼ Protocol itself • Almost the same for performance ◼ Network Implementations are different • e.g. Base protocols and Aggregation boxes are different • IPv4: PPPoE • IPv6: IPoE • Each aggregation boxes have different capacities ◼ Network Speeds are different • Many people say IPv6 is faster than IPv4 • IPv4 aggregation boxes are generally full • IPv6 Aggregation boxes have some margin Copyright (c) kosho.org 4 Background: IPv4 and IPv6 are different
  • 5. ◼ Recent Media Players • Players download media chunks by HTTP (HLS, Dash) • Media chunk: fragments of a movie • Players reassemble the chunks and generate a full movie Copyright (c) kosho.org 5 Background: Media Player Chunk 1 Chunk 2 Chunk 3 Chunk 4 Chunk 5 Chunk 6 Chunk 7 Chunk 8
  • 6. ◼ Basic idea 1, Media Player can use IPv4 and IPv6 in a movie stream • e.g. one by one 2, Also the Media player can calculate download speeds of each chunks 3, And then, the Media Player can choose the preferable protocol Copyright (c) kosho.org 6 IPv4 IPv6 Multi Protocol Media Player IPv6 IPv4 IPv6 IPv4 IPv6 IPv4 IPv6 IPv4 9.1 Mbps 5.4 Mbps 9.8 Mbps 6.4 Mbps 9.9 Mbps 4.8 Mbps 5.8 Mbps 8.7 MbpsDownload Speeds IPv6 IPv6 IPv6 IPv4 IPv6 IPv6 IPv6 IPv4 Media chunks
  • 7. ◼ Initial Implementation • My own Player with MSE (Media Source Extensions) • Many restrictions ( e.g. no trick play, no m3u8, …) ◼ Current Implementation • Base player: Hls.js (Popular media player for browser) • https://github.com/video-dev/hls.js/ • Plugin (hls46.js) • https://github.com/kosho-org/hls-46-plugin/ Copyright (c) kosho.org 7 Implementation
  • 8. ◼ Sample Copyright (c) kosho.org 8 Plugin Usage <html> <script src="https://cdn.jsdelivr.net/npm/hls.js@0.14.1"></script> <video id="video" controls preload="none"></video> <script src="hls-46.js"></script> <script src="hls-customload.js"></script> <script src="cb-2-filesize.js"></script> <script> var video = document.getElementById('video'); var videoSrc = 'cb-2.m3u8'; var customLoader = function() {}; customLoader.prototype = new Hls.DefaultConfig.loader(); customLoader.prototype.loadInternal = customLoadInternal; hls46init(0,"http://ipv4.example.com/","http://ipv6.example.com/", "https://ipv4.media.example.com/hls/","https://ipv6.media.example.com/hls/"); var hls = new Hls({loader: customLoader}); hls.loadSource(videoSrc); hls.attachMedia(video); hls46TextShow(); </script> </html> Plug-in Initialization Subtitle (for speed display) Initialization Custom (media) Loader Initialization
  • 9. ◼ IPv4 IP6 handling • Need separate URLs • e.g. • https://ipv4.example.com/hls/xxx.ts • https://ipv6.example.com/hls/xxx.ts • Player determines protocol by (URL) string ◼ Internal Key functions • urlHandler • modifies media URLs. It's called by customLoadInternal • speedHandler • calculates download speeds. It's called by urlHandler and ontimeUpdate of html5 video Copyright (c) kosho.org 9 Current Implementation (hls.js plugin)
  • 10. ◼ Statistics Handling Copyright (c) kosho.org 10 Current Implementation Media Server (IPv4) Media Server (IPv6) beacon.php (Beacon/POST) Statistics Server (IPv6) sid.php (session ID/GET) uid.php (user ID/GET) ip.php (IPv6 Address/GET) Statistic Server (IPv4) ip.php (IPv4 Address/GET)
  • 11. ◼ Speed Comparison • IPv4 IPv6 One by one ◼ Protocol Selection • Initial check mode • Continuous check mode Copyright (c) kosho.org 11 Plugin Mode Use the faster protocolInitial check Initial check Use both protocols to check speed
  • 12. Copyright (c) kosho.org 12 Demo: Speed Comparison IPv6 IPv4 IPv6 IPv4 IPv6 IPv4 IPv6 IPv4 Subtitle Browser Developer Tools (F12)
  • 13. Copyright (c) kosho.org 13 Demo • All Chunk size • 271KB* / 2sec • Speeds • Not the same • Stable speed needs bigger chunks (like 4K videos) • 4K demo: https://www.kosho.org/tools/v6speed-check-by-movie/ *The first chunk is 272KB
  • 14. ◼ Data • Sessions: 955 • Nov 20 2019 – Sep 3 2020 • Filter • Client GeoIP: Japan • IPv4 chunks > 1, IPv6 chunks > 1 Copyright (c) kosho.org 14 Statistics
  • 15. Hour Session# IPv6/IPv4 1 16 1.01 2 8 1.14 3 22 0.92 4 4 0.70 5 13 1.83 6 8 1.02 7 11 0.82 8 56 1.23 9 45 0.87 10 55 1.07 11 74 1.19 12 49 1.06 13 59 1.36 14 58 1.29 15 55 1.20 16 62 0.91 17 57 1.08 18 32 1.14 19 37 0.98 20 23 3.24 21 44 1.21 22 69 3.21 23 69 1.79 24 0 2.02 Copyright (c) kosho.org 15 Stat: Speed Ratio by Hour • Generally IPv6 is faster than IPv4 ! • Especially night peak 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 IPv6 / IPv4 Speed Ratio
  • 16. Copyright (c) kosho.org 16 Stat: Speed Ratio Distribution Speed Ratio Session # Session % IPv6 faster (> 4) 41 4.29 % IPv6 faster (4 ~ 2) 70 7.33 % IPv6 faster (2 ~ 1.2) 191 20.00 % Almost same 363 38.01 % IPv4 faster (2 ~ 1.2) 200 20.94 % IPv4 faster (4 ~ 2) 58 6.07 % IPv4 faster (> 4) 32 3.35 % • IPv6 is not always faster than IPv4 • Reason: • Old style IPv6 tunneling over IPv4 • Need more study
  • 17. ◼ Most of cases • We should use IPv6 (Default behavior) ◼ However, some remaining cases we should use IPv4 • This plug-in will work ◼ Note • Currently, IPv6 users are minor -> IPv6 is faster • However, the number of IPv6 users increases -> IPv4 can be faster Copyright (c) kosho.org 17 Summery: IPv4 vs IPv6
  • 18. ◼ New fun way to compare IPv4/IPv6 speeds • Realtime speed display • Realistic measurement of streaming video • Mobile, HD, 4K videos • Probably work on another player (video.js…) ◼ Work as a player side multi CDN (CDN selection by player, original goal) • Without any modification, you can use this plugin as a selector • CDNs (e.g. Akamai vs Cloudfront) • Other Protocol (e.g. QUIC vs TCP+HTTP) Copyright (c) kosho.org 18 Summery: IPv4 IPv6 media player
  • 19. ◼ Plug-in development • IPv6 native support, Trick play support, Chunk size correction, Transfer size handling, … ◼ Speed comparison • Detailed analysis • ASN, IPoE, PPPoE, … ◼ Protocol selection • Better continuous check algorithm Copyright (c) kosho.org 19 Future work
  • 20. ◼ I need partners • I would like to realize them with partners • If you are interested in, please let me know Copyright (c) kosho.org 20 Future work (collaboration)
  • 21. ◼ Player Home (Demo) Page • https://www.kosho.org/blog/net/ipv4ipv6-mediaplayer/ ◼ Speed Comparison (Demo) Page • https://www.kosho.org/tools/v6speed-check-by-movie/ ◼ Source Code • https://github.com/kosho-org/hls-46-plugin/ Copyright (c) kosho.org 21 Reference