Player Screen
Features
• Playback LIVE / Archive videos
• Chat
• Support items
• Supporter Rankings
• Send Heart
7
Slide 8
Slide 8 text
Playback LIVE /
Archive videos
• Playing HLS
• iOS
• AVPlayer
• Android
• ExoPlayer
• MediaPlayer for a few chipsets
8
Slide 9
Slide 9 text
Chat
• Real-time communications via chat
messages
• Max ~1G messages / min
• by WebSocket
• users' messages
• system messages
• refs. LINE LIVE νϟοτػೳΛࢧ͑Δ
ΞʔΩςΫνϟ1
1 https://engineering.linecorp.com/ja/blog/the-architecture-behind-chatting-
on-line-live/
9
Slide 10
Slide 10 text
Support items
• User can cheer LINE LIVER up by
sending support items
• Items have animations and add
more fun
• Sent to all viewer and broadcaster
via chat
• APNG
10
Slide 11
Slide 11 text
Animated PNG
• Animated PNG
• iOS: APNGKit2 3
• Android: ApngDrawable4
• Both made by LINER
4 https://github.com/line/apng-drawable
3 https://employment.en-japan.com/engineerhub/entry/2019/03/05/103000
2 https://github.com/onevcat/APNGKit
11
Slide 12
Slide 12 text
Broadcast Screen
Features
• Real-time broadcasting
• Adaptive Bitrate
• About 170 Face stickers
• Filters
• Collaboration
• Music(karaoke) NEW!
• Chat / Support items
12
Slide 13
Slide 13 text
Broadcast Screen
Features
• Real-time broadcasting
• Adaptive Bitrate
• About 170 Face stickers
• Filters
• Collaboration
• Music(karaoke) NEW!
• Chat / Support items
13
Redux
• To handle many states/condition
during broadcasting
• from API server: polling every
10sec
• from user: interactions
• from Yuki: RTMP status, face
stickers, playing music
(karaoke), ...
17
Slide 18
Slide 18 text
Yuki
• Common C++ based graphics/camera/broadcasting
module
• For iOS, Android, and Desktop(win/osx)
• In-house library made by Yuki team
• Equipped in LINE, LINE LIVE
18
Slide 19
Slide 19 text
Yuki Features
• Broadcasting
• Face stickers
• Face morphing
• Character Effects
• AR
• Filters
• Karaoke
19
Slide 20
Slide 20 text
Yuki components
20
Slide 21
Slide 21 text
YukiLive modules
21
Slide 22
Slide 22 text
Summary
• Built on many in-house components
• Each team concentrates on each component
• Take advantages of recent mobile architectures
• Adding new features & Improving for 4 years and more
22