LINE LIVE

LINE LIVE μ„œλΉ„μŠ€μ˜ 인코더 λ ˆμ΄μ–΄ ꡬ쑰

μ•ˆλ…•ν•˜μ„Έμš”, LINEμ—μ„œ κΈ€λ‘œλ²Œ 인프라 μ‹œμŠ€ν…œμ„ μš΄μ˜ν•˜λŠ” μ‘°μ§μ—μ„œ 개발자둜 μΌν•˜κ³  μžˆλŠ” κΉ€μˆ˜ν˜μž…λ‹ˆλ‹€. 2017λ…„ 12μ›” 10일은 LINE LIVE μ„œλΉ„μŠ€κ°€ 곡개된 지 2년이 λ˜λŠ” λ‚ μ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ„œλΉ„μŠ€ μΆœμ‹œ ν›„ μˆ˜λ§Žμ€ κ°œλ°œμžλ“€μ˜ λ…Έλ ₯으둜 μ§€κΈˆκΉŒμ§€ 큰 μž₯애없이 μ›ν™œν•˜κ²Œ 운영되고 μžˆμŠ΅λ‹ˆλ‹€. 이번 λΈ”λ‘œκ·Έμ—μ„œλŠ”, 라이브 λ―Έλ””μ–΄ μ„œλΉ„μŠ€λ₯Ό κ΅¬μΆ•ν•˜κ±°λ‚˜ μš΄μ˜ν•΄ λ³Έ κ²½ν—˜μ΄ μ—†λŠ” μƒνƒœμ—μ„œ 초기 섀계와 ꡬ좕을 μ§„ν–‰ν•˜λ©΄μ„œ 개인적으둜 κ³ λ―Όν–ˆλ˜ λ‚΄μš©μ„ 정리해 λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

LINE LIVE의 PC μ†‘μΆœ κΈ°λŠ₯을 μœ„ν•œ queue κ΅¬ν˜„

μ•ˆλ…•ν•˜μ„Έμš”, LINE LIVE κ°œλ°œμ„ λ‹΄λ‹Ήν•˜κ³  μžˆλŠ” Yappoμž…λ‹ˆλ‹€. 이번 λΈ”λ‘œκ·Έμ—μ„œλŠ” μ‚¬μš©μžμ˜ PCμ—μ„œ LINE LIVE μ„œλΉ„μŠ€λ₯Ό μ†‘μΆœν•˜λŠ” κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ task 싀행을 μ§€μ—°ν•˜λŠ” queueλ₯Ό λ§Œλ“  과정을 μ†Œκ°œν•˜κ² μŠ΅λ‹ˆλ‹€.

LINE LIVE의 μ†‘μΆœ 방식

기쑴에 LINE LIVEμ—μ„œ μ œκ³΅ν•˜λŠ” μ†‘μΆœ 방식은 LINE LIVE μ•±μ—μ„œ 직접 μ†‘μΆœν•˜λŠ” 방식, LINE Official Account Manager와 RTMP μ†Œν”„νŠΈμ›¨μ–΄λ‚˜ μ „μš© μž₯λΉ„λ₯Ό μ‚¬μš©ν•˜μ—¬ PCμ—μ„œ μ†‘μΆœν•˜λŠ” 방식이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ λ§ν•΄μ„œ, μ‚¬μš©μžλŠ” LINE LIVE 앱을 μ‚¬μš©ν•΄μ•Ό 방솑을 ν•  수 있고 PCμ—μ„œλŠ” λΆˆκ°€λŠ₯ν–ˆμŠ΅λ‹ˆλ‹€. PCμ—μ„œμ˜ 방솑은 LINE OA κ΄€λ¦¬μžλ§Œ κ°€λŠ₯ν–ˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜ 그림을 보면 두 μ†‘μΆœ 방식이 μ™„μ „νžˆ λ‹€λ₯Έ ꡬ쑰둜 κ΅¬ν˜„λ˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄μ§€λ§Œ κΈ°λ³Έ μ„€κ³„λŠ” λ™μΌν•©λ‹ˆλ‹€.


LINE LIVE μ±„νŒ… κΈ°λŠ₯의 기반이 λ˜λŠ” μ•„ν‚€ν…μ²˜

LINE μ£Όμ‹νšŒμ‚¬μ˜ Oklahomerμž…λ‹ˆλ‹€. 이번 λΈ”λ‘œκ·Έμ—μ„œλŠ” LINE LIVEλΌλŠ” λ™μ˜μƒ μ†‘μΆœ μ„œλΉ„μŠ€μ˜ μ±„νŒ… κΈ°λŠ₯이 μ–΄λ–»κ²Œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ μ†Œκ°œν•˜κ² μŠ΅λ‹ˆλ‹€.

μ±„νŒ… μ†Œκ°œ

LINE LIVE의 iOS/Android μ•±μ—μ„œλŠ” 라이브 방솑 쀑인 λ™μ˜μƒμ„ μ‹œμ²­ν•˜λ©΄μ„œ μ‹€μ‹œκ°„μœΌλ‘œ μ½”λ©˜νŠΈλ₯Ό 보낼 수 μžˆλŠ” μ±„νŒ… κΈ°λŠ₯을 μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 κΈ°λŠ₯의 역할은 μ‹œμ²­μžλ“€μ΄ μ„œλ‘œ λŒ€ν™”λ₯Ό μ¦κΈ°λŠ” κ²ƒμ—λ§Œ κ΅­ν•œλ˜μ§€ μ•Šκ³  λ™μ˜μƒ μ†‘μΆœμžκ°€ μ‹œμ²­μžκ°€ 보낸 μ½”λ©˜νŠΈμ— λ‹΅λ³€ν•˜λ©΄μ„œ μ†‘μΆœμžμ™€ μ‹œμ²­μž μ‚¬μ΄μ˜ 접점이 λ˜κΈ°λ„ ν•©λ‹ˆλ‹€. λ˜ν•œ μ†‘μΆœμžκ°€ μ½”λ©˜νŠΈ λ‚΄μš©μ— 따라 방솑을 κΈ°νšν•˜λŠ” λ“± μ†‘μΆœμžμ™€ μ‹œμ²­μžκ°€ ν•¨κ»˜ 방솑을 λ§Œλ“€μ–΄κ°€λŠ” 데 μžˆμ–΄μ„œλ„ μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

유λͺ…인이 라이브 방솑을 ν•  κ²½μš°μ—λŠ” λ‹Ήμ—°νžˆ μ‹œμ²­μž μˆ˜λ„ λ§Žμ•„μ§€κ²Œ 되며, 방솑 쀑에 μ‹œμ²­μž μ½”λ©˜νŠΈκ°€ μ‡„λ„ν•˜λ©΄ λ§Žμ€ μ–‘μ˜ μ½”λ©˜νŠΈκ°€ μˆœκ°„μ μœΌλ‘œ μœ μž…λ  κ²ƒμ΄λΌλŠ” 점은 μ‰½κ²Œ μ˜ˆμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ¬Όλ‘  μ½”λ©˜νŠΈ μœ μž…μ΄ μ¦κ°€ν•œλ‹€λŠ” 것은 λͺ¨λ“  μ‹œμ²­μžμ—κ²Œ 쀑계해야 ν•  μ½”λ©˜νŠΈμ˜ 양도 λŠ˜μ–΄λ‚œλ‹€λŠ” 뜻이기 λ•Œλ¬Έμ—, 이λ₯Ό μ–΄λ–»κ²Œ ν•΄μ„œ μ‹ μ†ν•˜κ²Œ λΆ„μ‚°μ‹œν‚¬ 것인지가 늘 κ³Όμ œμž…λ‹ˆλ‹€. μ‹€μ œλ‘œ ν•œ λ°©μ†‘μ—μ„œλ§Œ 1λΆ„λ‹Ή 1만 건을 λ„˜λŠ” μ†λ„λ‘œ μ½”λ©˜νŠΈκ°€ μ „μ†‘λ˜λŠ” κ²½μš°λ„ μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μ±„νŒ…μ—μ„œλŠ” 폭포수처럼 μŸμ•„μ§€λŠ” μ½”λ©˜νŠΈλ₯Ό 감당할 수 μžˆλ„λ‘ κ°œλ°œμ„ μ§„ν–‰ν–ˆμœΌλ©°, ν˜„μž¬ 100λŒ€ μ΄μƒμ˜ μ„œλ²„ μΈμŠ€ν„΄μŠ€μ—μ„œ κ°€λ™λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.