Uvicorn & Gunicorn
Uvicorn and GunicornUvicorn and Gunicorn are important concepts when developing applications in Python. However, there are many concepts to be aware of in order to fully understand Uvicorn and Gunicorn. The following is a brief summary of the necessary concepts, and the details will be dealt with separately later.Necessary ConceptsStarletteStarlette is a Web application server that can run asynchronously. Starlette runs on top of Uvicorn.FastAPIFastAPI provides many features on top of Starlet...
Gas optimization in Solidity, Ethereum
Iβm sorry but my English is terrible. I hope you understand that generously.Recently, I was developing a toy project named Blind Market. Itβs a simple P2P trading application using smart contract. I was making a contract using Solidity, and the trade stage proceeded in the order of pending, shipping, and done. The problem was appeared in done phase. The problem was that when I tried to close the transaction by paying the price raised by the seller in msg.value, the following error occurred.Pe...
P2WPKH
P2WPKHP2WPKHλ λΉνΈμ½μΈ λ΄μμ κ°μ₯ μΌλ°μ μΈ μ€ν¬λ¦½νΈ νμμΌλ‘ λΉνΈμ½μΈ νλ‘ν μ½μ λν μ§λΆ κ±°λ μ νμ΄λ€. μ£Όμλ 1λ‘ μμνλλ°, μΈκ·Έμμ μ§μνλ μλ‘μ΄ μ£Όμ 3 λλ bc1λ‘ μμνλ μ£Όμλ³΄λ€ ν¨μ¬ λΉμΈλ€. https://mirror.xyz/0xA1d9f681B25C14C1eE7B87f1CF102E73cA3ad4d9/egjhNVklgy_LgZmcTXXAOTBa6ePBqO3Ja9ZSoDIad-8 μ¦, λΉνΈμ½μΈ μ£Όμκ° 1λ‘ μμνλ©΄ P2PKH μ£Όμλ₯Ό μ¬μ©νκ³ μλ κ²μ΄λ€. 곡κ°ν€μ κ°λ¨ν ν΄μμ΄λ©°, μ΄ ν΄μλ₯Ό μ£Όμλ‘ μ¬μ©νλ κ²μ΄λ€. μ΄κ²μ μλ λΉνΈμ½μΈ μ£Όμ νμμ΄μμΌλ©° μ€λκΉμ§λ μΆ©μ€ν μλνλ€. λ κ±°μ μ£Όμλ μΈκ·Έμκ³Ό νΈνλμ§ μμ§λ§, μ¬μ ν λ¬Έμ μμ΄ P2PKH μ£Όμμμ μΈκ·Έμ μ£Όμλ‘ BTCλ₯Ό λ³΄λΌ μ μλ€. κ·Έλ¬λ λ κ±°μ μ£Όμ νΈλμμ μ΄ λ ν¬κΈ° λλ¬Έμ P2PKH μ£Όμμμ μ μ‘νλ νκ· μλλ μΈκ·Έμ μ£Όμμμ μ μ‘ν λλ³΄λ€ λ λμ μκΈμ΄ λ°μν μ μλ€....
<100 subscribers
Uvicorn & Gunicorn
Uvicorn and GunicornUvicorn and Gunicorn are important concepts when developing applications in Python. However, there are many concepts to be aware of in order to fully understand Uvicorn and Gunicorn. The following is a brief summary of the necessary concepts, and the details will be dealt with separately later.Necessary ConceptsStarletteStarlette is a Web application server that can run asynchronously. Starlette runs on top of Uvicorn.FastAPIFastAPI provides many features on top of Starlet...
Gas optimization in Solidity, Ethereum
Iβm sorry but my English is terrible. I hope you understand that generously.Recently, I was developing a toy project named Blind Market. Itβs a simple P2P trading application using smart contract. I was making a contract using Solidity, and the trade stage proceeded in the order of pending, shipping, and done. The problem was appeared in done phase. The problem was that when I tried to close the transaction by paying the price raised by the seller in msg.value, the following error occurred.Pe...
P2WPKH
P2WPKHP2WPKHλ λΉνΈμ½μΈ λ΄μμ κ°μ₯ μΌλ°μ μΈ μ€ν¬λ¦½νΈ νμμΌλ‘ λΉνΈμ½μΈ νλ‘ν μ½μ λν μ§λΆ κ±°λ μ νμ΄λ€. μ£Όμλ 1λ‘ μμνλλ°, μΈκ·Έμμ μ§μνλ μλ‘μ΄ μ£Όμ 3 λλ bc1λ‘ μμνλ μ£Όμλ³΄λ€ ν¨μ¬ λΉμΈλ€. https://mirror.xyz/0xA1d9f681B25C14C1eE7B87f1CF102E73cA3ad4d9/egjhNVklgy_LgZmcTXXAOTBa6ePBqO3Ja9ZSoDIad-8 μ¦, λΉνΈμ½μΈ μ£Όμκ° 1λ‘ μμνλ©΄ P2PKH μ£Όμλ₯Ό μ¬μ©νκ³ μλ κ²μ΄λ€. 곡κ°ν€μ κ°λ¨ν ν΄μμ΄λ©°, μ΄ ν΄μλ₯Ό μ£Όμλ‘ μ¬μ©νλ κ²μ΄λ€. μ΄κ²μ μλ λΉνΈμ½μΈ μ£Όμ νμμ΄μμΌλ©° μ€λκΉμ§λ μΆ©μ€ν μλνλ€. λ κ±°μ μ£Όμλ μΈκ·Έμκ³Ό νΈνλμ§ μμ§λ§, μ¬μ ν λ¬Έμ μμ΄ P2PKH μ£Όμμμ μΈκ·Έμ μ£Όμλ‘ BTCλ₯Ό λ³΄λΌ μ μλ€. κ·Έλ¬λ λ κ±°μ μ£Όμ νΈλμμ μ΄ λ ν¬κΈ° λλ¬Έμ P2PKH μ£Όμμμ μ μ‘νλ νκ· μλλ μΈκ·Έμ μ£Όμμμ μ μ‘ν λλ³΄λ€ λ λμ μκΈμ΄ λ°μν μ μλ€....
Share Dialog
Share Dialog
컨ν μΈ μ¬μ μμ λΉμ© λ¬Έμ λ λΉΌλμ μ μλ λ¬Έμ μ΄λ€.
λΌμ΄λΈνΌμ΄λ μ€νΈλ¦¬λ° λΉμ©μ μ€μΌ μ μλ κΈ°μ μ κ°μ§κ³ μλλ°, λΌμ΄λΈνΌμ΄κ° 무μμ΄λ©°
μ΄λ€ λ°©μμΌλ‘ λΉμ©μ μ€μΌ μ μλμ§ μμ보μ.
CDN(컨ν μΈ μ μ‘ λ€νΈμν¬)λ μ§λ¦¬μ μΌλ‘ λΆμ°λ μ¬λ¬ κ°μ μλ²μ΄λ€. μΉ μ»¨ν μΈ λ₯Ό μ¬μ©μμ κ°κΉμ΄ κ³³μμ μ μ‘ν¨μΌλ‘μ¨ μ μ‘ μλλ₯Ό λμΈλ€.
λ§€μΌλ§€μΌ νλ°μ μΌλ‘ μ¦κ°νλ λ°μ΄ν°λ₯Ό μ§μ° μμ΄ μ²λ¦¬νκΈ° μν΄μλ λ°μ΄ν°λ₯Ό λΆμ°ν΄μ μ λ¬νλ κΈ°μ μ΄ νμμ μΈλ°,
μ§λ¦¬μ μΌλ‘ λ¨Ό 거리μ λ¨μ΄μ Έ μλ μ¬μ©μμκ² μ§μ° μμ΄ μ»¨ν μΈ λ₯Ό λΆμ°ν΄ μ λ¬ν μ μλ CDN μλΉμ€κ° λ±μ₯νλ€.
CDNμ κ° μ§μμ μΊμ μλ²λ₯Ό λΆμ° λ°°μΉν΄, κ·Όμ ν μ¬μ©μμ μμ²μ μλ³Έ μλ²κ° μλ μΊμ μλ²(PoP, Points of presence)κ° μ»¨ν μΈ λ₯Ό μ λ¬νλ€.
μλ₯Ό λ€μ΄ λ―Έκ΅μ μλ μ¬μ©μκ° νκ΅μ νΈμ€ν λ μΉ μ¬μ΄νΈμ μ κ·Όνλ κ²½μ°, λ―Έκ΅μ μμ°¨ν PoP μλ²μμ μΉ μ¬μ΄νΈ 컨ν μΈ λ₯Ό μ¬μ©μμκ² μ μ‘νλ λ°©μμ΄λ€.
μΈν°λ·μ ν΅ν΄ λΉμ¦λμ€λ₯Ό μ΄μνκ±°λ μΉ μ¬μ΄νΈμμ κ·Έλν½ μ΄λ―Έμ§, λμμ νμΌ λ±μ 컨ν μΈ λ₯Ό μ 곡νλ€λ©΄ CDN μλΉμ€κ° νμνλ€.
νΉμ κ΅κ°λ μ§μ°λ§μ νκΉμΌλ‘ νλ μΉ μλΉμ€λ₯Ό μ΄μνλ€λ©΄ μ€νλ € λΆνμν μ°κ²° μ§μ μ΄ λμ΄λ μΉ μ¬μ΄νΈμ μ±λ₯ μ νλ‘ μ΄μ΄μ§ μ μλ€
RTMP/RTSP : (Real Time Messaging Protocol/ Real Time Streaming Protocol)
HLS : HTTP Live Streaming
μ°λ¦¬κ° μ€νΈλ¦¬λ°μ νκ² λλ©΄ μΉ΄λ©λΌκ° 촬μμ νκ² λκ³ , μ΄λ μΊ‘μ³ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ νμΌ μμ±μΌλ‘ μ΄μ΄μ§λ€.
μμ¦μ μΉ΄λ©λΌ μ체μ μΌλ‘ λ°λ‘ RTMP(Real Time Messaging Protocol) μ νΈμ κ°μ΄ κ³§ λ°λ‘ μ€νΈλ¦¬λ° μ νΈλ₯Ό λ½μλ΄λ κΈ°λ₯μ κ°μ§ μΉ΄λ©λΌλ μλ€.
μ΄λ΄ κ²½μ° μ€κ° κ³Όμ μμ΄ λ°λ‘ νμΌμ΄λ μ νΈλ‘ Outputμ΄ λμ€κ² λλ€.
μ νΈνμμ΄λΌλ ννμ μ¬μ©ν μ΄μ λ μλΉμ€ν 컨ν μΈ κ° μ€μκ°μΈ κ²½μ°μ ν΄λΉνλ€.
μ’ λ₯μ λ°λΌ HLSλ‘ μλΉμ€ νλ κ²½μ° μ νΈμΈ λμμ νμΌμ΄κΈ°λ νλ€.
HLS κΈ°μ€μΌλ‘ m3u8μ΄λΌλ manifest fileμ΄ μμ±λλ€. μ΄ νμΌμ λ©λͺ¨μ₯μΌλ‘ μ΄μ΄λ³΄λ©΄ λͺ κ°μ§ νκ·Έμ ν¨κ»
νμμ Chunk νμΌ λ¦¬μ€νΈκ° 보μ΄κ² λλ€. μ¦, m3u8 νμΌμ κ·Έ λ΄μ©μ΄ κ³μ λ°λκ² λκ³ ChunkλΌλ μ§§κ² μλ¦° λμμ νμΌ λͺ©λ‘μ΄ κ°±μ λλ€.
μ½λ±μ μμμ μμΆνκΈ° μν κΈ°μ μ΄λ€. μ΅λν μλ³Έμ νμ§μ μ μ§νλ©΄μ μ μ©λ κ³ νμ§μ μλΉμ€λ₯Ό μν΄ μμμ μμΆνλ S/Wμ΄λ€.
μ½λ±μλ μ¬λ¬ μ’ λ₯κ° μκ³ , 무λ£μΈ κ²μ΄ μκ³ μ λ£μΈ κ²μ΄ μμΌλ©°, νΈνμ±λ λ°μ Έλ΄μΌ ν¨μΌλ‘ μ μμλ³΄κ³ μ¬μ©νλ©΄ λλ€κ³ νλ€.
Encoding vs Transcoding
μΈμ½λ©μ μμΆ κ³Όμ μ체λ₯Ό μλ―Ένλ€. μλ₯Ό λ€μ΄ μμΆλμ§ μμ 무μμΆ μμμ μ½λ±μ μ΄μ©νμ¬ μμΆνλ μμ μ μλ―Ένλ€.
μΉ΄λ©λΌμμ 촬μνλ©΄μ μ μ₯λ 무μμΆ mp4 νμΌμ μ½λ±μ ν΅ν΄ HD, FHD λ±μΌλ‘ ν΄μλλ₯Ό μ€μ΄λ©΄μ μμΆνλ μμ μ΄λ€.
μ΄ κ³Όμ μμ μ€μν μ μ λ°λ‘ μ΄λ μ λμ μμ€μ κ°μνκ³ νμ§μ μ€μΌμ§ κ²°μ νλ λΆλΆμ΄λ€.
μ¬μ€μ νλ«νΌ μλΉμ€λ₯Ό μν΄μ μΈμ½λ©κ³Ό λμμ νΈλμ€μ½λ©μ΄ μ§νλλ€.
νΈλμ€μ½λ©μ μμ μμ€κ° λ€λ₯Έ νμμΌλ‘ λ³νλ¨μ μλ―Ένλ€.

μ£Όλ‘ μ΄ λΆλΆμ νμ μμ RTMPκ° μλ³ΈμΈ μμμ κ³ κ°μκ² νμ§λ³λ‘ μλΉμ€νκΈ° μν΄μ SD, HD, FHD μ΄λ κ² μΈ κ°μ§λ‘ μΈμ½λ©μ΄ λκ³ ,
μλ³Έ 1κ°κ° κ° νμ§λ‘ μλΉμ€ νμΌμ΄ μΈμ½λ© λλ λμμ DRMμ΄ ν¨ν€μ§λ λ€λ₯Έ νμμ νμΌλ‘ νΈλμ€μ½λ©νκ² λλ€.
AWS μ΄μΈ λ€λ₯Έ μ루μ λ€μμλ λ§μ°¬κ°μ§λ‘ λ³νλμ΄ μΆλ ₯λλ κ²°κ³Όλ¬Όμ λΆλΉ κ³ΌκΈμΌλ‘ μκΈμ μ± μ νλ€.
λ¬Όλ‘ Live Streamingμ κ²½μ° inputκ³Ό output λ λ€λ₯Ό κ³ΌκΈνλ ννλ μλ€.
μ΄ λ μ‘°μ¬ν΄μΌ νλ λΆλΆμ 컨ν μΈ λ³ν λΉμ©μ μμΈ‘νκΈ° μν΄ λ¨μν λͺ λΆμ μΌλ§λΌλ μμΌλ‘ κ³μ°νλ©΄ μλλ€.
μ΄λ ν νμ§λ‘ μ΄λ€ νκ²½μμ μ΄λ€ λλ°μ΄μ€μ μλΉμ€ ν μ§λ₯Ό κ³ λ €ν΄μΌ νλ€.
μλ³Έ μμνμΌ λλ μ νΈλ₯Ό 1μ°¨μ μΌλ‘ μΈμ½λ©μ ν΅ν΄ νμ§λ³λ‘ μμΆνλ λμμ μλΉμ€ μ€νμ λ§λ νμΌ ννλ‘ νΈλμ€μ½λ© νλ€κ³ μκ°νλ©΄ λλ€.
μΈμ½λ© : μμΆκ³Όμ
νΈλμ€μ½λ© : λ³νκ³Όμ
DRM : Digital Rights Management
Livepeerλ μ΄λ리μ λΈλ‘체μΈμ ꡬμΆλ νμ€μν λΉλμ€ μ½λ λ³ν λ€νΈμν¬μ΄λ€.
μμ ν νμ€μνλκ³ νμ₯μ±μ΄ λμΌλ©° μνΈν ν ν° μΈμΌν°λΈκ° μλ λΌμ΄λΈ λΉλμ€ μ€νΈλ¦¬λ° λ€νΈμν¬ νλ‘ν μ½μ μ 곡νλ€.
κ²°κ³Όμ μΌλ‘ νμ€μν κ°λ° (Web3) μ€νμμ λΌμ΄λΈ λ―Έλμ΄ κ³μΈ΅ μν μ ν μ μλ μ루μ μ μ 곡νλ€.
λΉλμ€ κ°λ°μ κΈ°λ³Έ μμΉμ μλ³Έ λΉλμ€λ₯Ό μΈμ½λ© λκ΅¬λ‘ μμΆν΄μ μ μ‘ λ° λ³κ²½μ μν νμΌ ν¬κΈ°λ₯Ό μ€μ΄λ κ².
μΈμ½λ©λ λΉλμ€λ μ΄μ λ€λ₯Έ λ³νμΌλ‘ νΈλμ€μ½λ©λμ΄μΌ νλ€.
μ ν΅μ μΈ μΉμμλ μ€μνλ μλ²μμ νΈλμ€μ½λ©μ΄ μ΄λ£¨μ΄μ§λ€.
λΌμ΄λΈνΌμ΄λ λΉλμ€ λ° λΌμ΄λΈμ€νΈλ¦Ό λ°μ΄ν°λ₯Ό κ°μ Έμ λΌμ΄λΈνΌμ΄ λ€νΈμν¬μμ νΈλμ€μ½λ©μ νλ€.
λΌμ΄λΈνΌμ΄ λ€νΈμν¬λ λΉλμ€ λ°°ν¬λ₯Ό κ΄λ¦¬νλλ°, κ°λ³ μ»΄ν¨ν°μ λ Έλ μν μ νλ μ¬μ©μλ‘ κ΅¬μ±λ κ°λ°©ν λ€νΈμν¬μ΄λ€.
μ¬κΈ°μ λ Έλλ§λ€ λͺ©μ κ³Ό κΈ°λ₯μ΄ λ€λ₯Έλ°, λ€ κ°μ§ μ£Όμ λ Έλ μ νμ΄ μλ€.
https://livepeer.org/ko/primer
λΈλ‘λμΊμ€ν° : μ€νΈλ¦Όμ μμνκ³ λ Ήν νμΌμ κ΄λ¦¬νλ μ¬μ©μ. (μ ν리μΌμ΄μ μ μ΄μ©ν΄ λ°©μ‘ λ° λ―Έλμ΄ νλμ νλ μ¬μ©μ)
νΈλμ€μ½λ : νΈλμ€μ½λ© λ Έλ μν μ νλ μ¬μ©μ. μ€μ λ‘ νΈλμ€μ½λ©μ ν΄μ£Όλ μν μ λ΄λΉ. (Orchestrator)
μ€κ³κΈ° : νΈλμ€μ½λμμ μλΉμλ‘ μ λ¬νλ μ€κ°μ λ Έλ. (Orchestrator)
μλΉμ : μ€νΈλ¦Όμ μλΉνκ±°λ μ€νΈλ¦Όμ μΆκ°λ‘ λ°°ν¬νλ μ΅μ’ μ¬μ©μ. (νλ‘μ νΈμ λΌμ΄λΈνΌμ΄λ₯Ό μ¬μ©νλ κ°λ°μ)
μ€μΌμ€νΈλ μ΄ν°λ μμ μ μ»΄ν¨ν° 리μμ€λ₯Ό κΈ°μ¬νμ¬ λΉλμ€μ νΈλμ€μ½λ© λ° λ°°ν¬λ₯Ό μννλ€. κ·Έλ¦¬κ³ μ΄ λκ°λ‘ μνΈννλ₯Ό μμλ£λ‘ νλνλ€.
λμμμ μ€νΈλ¦¬λ° λΉμ©μ΄ λ§λνκ³ , κ·Έκ²μ΄ λΌμ΄λΈ μ€νΈλ¦¬λ°μΈ κ²½μ° ν¨μ¬ λ λ§μ λΉμ©μ΄ λ€κ² λλ€.
λμμμ λ°°ν¬νλ μΈ‘(Broadcaster)λ λ¨Όμ λμμμ λ³ν(μΈμ½λ© + νΈλμ€μ½λ©)ν΄μΌ νκΈ° λλ¬Έμ΄λ€.
μ½λ λ³νμ 2G λλ 5Gμ΄λ μ¬μ©μκ° μ¬μ©νλ λμνμ΄λ κΈ°κΈ°μ μκ΄ μμ΄ μ΅μ μ μμ² νκ²½μ μ 곡ν μ μλλ‘
μμ νμΌμ λ°μμ μ½λ μμμ λ€μ μ§μ νλ μμ
μ΄λ€.
AWSμμλ λ―Έλμ΄ μλ² ν λλΉ λ§€μ μ΅λ $4500, 컨ν μΈ μ 곡 λ€νΈμν¬μ κ²½μ° λ§€μ μ΅λ $1500μ λΉμ©μ΄ μμλλ€κ³ νλ€.
μ΄λ¬ν μ€νΈλ¦¬λ° λΉμ©μ μ±κ³΅μ μΈ λΉμ¦λμ€ λͺ¨λΈμ μ μν₯μ λΌμΉ μ μμΌλ©°, κ°λΉνκΈ° μν΄ μμΉ μλ μλ§μ κ΄κ³ λ₯Ό λ΄λ³΄λΌ μ λ°μ μλ€.
Livepeerλ μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ±μ₯ν μλΉμ€ νλ«νΌμΌλ‘μ¨,
μ΄λ리μ λΈλ‘체μΈμμ 보νΈλλ λ§μΌνλ μ΄μ€λ₯Ό ν΅ν΄ μνΈ μμ©νλ P2P μΈνλΌλ₯Ό ꡬμΆνκ³ μλ€.
λ³Έλμ λ°©μμ΄λΌλ©΄, μ°λ¦¬λ μ§μ μΈμ½λ©κ³Ό νΈλμ€μ½λ©μ μν μμ μ κ±°μ³μΌνκ³ ,
μ΄μ λν inputκ³Ό outputμ μμνλ λΉμ©μ μ§λΆν΄μΌνλ€.
λν κΈ°μ‘΄ μΈνλΌκ° μ€μ μ§μ€νλκ³ μ€ν체μΈμΌλ‘ ꡬμΆλμ΄ μκΈ° λλ¬Έμ,
λΈλ‘μ²΄μΈ νλ‘μ νΈλ μ΄λ¬ν νΈλμ€μ½λ© μλΉμ€λ₯Ό μ ν리μΌμ΄μ μ ν΅ν©νκΈ° μ΄λ €μ΄ μ μ΄ μλ€.
Livepeerλ νμ€μνλμ΄μκ³ , μ€ν μμ€μ΄λ©° ETH λΈλ‘체μΈμ κΈ°λ°μΌλ‘ νλ―λ‘, λͺ¨λ ETH νλ‘μ νΈμμ
Livepeer λ° λΉλμ€ μ€νΈλ¦¬λ°μ μ½κ² ν΅ν©ν μ μλ€.




https://library.gabia.com/contents/infrahosting/8985/
https://www.lonelyplanit.com/6
https://livepeer.org/ko/primer
https://engineering.linecorp.com/ko/blog/line-transcoding-server-architecture-improvement-1/
컨ν μΈ μ¬μ μμ λΉμ© λ¬Έμ λ λΉΌλμ μ μλ λ¬Έμ μ΄λ€.
λΌμ΄λΈνΌμ΄λ μ€νΈλ¦¬λ° λΉμ©μ μ€μΌ μ μλ κΈ°μ μ κ°μ§κ³ μλλ°, λΌμ΄λΈνΌμ΄κ° 무μμ΄λ©°
μ΄λ€ λ°©μμΌλ‘ λΉμ©μ μ€μΌ μ μλμ§ μμ보μ.
CDN(컨ν μΈ μ μ‘ λ€νΈμν¬)λ μ§λ¦¬μ μΌλ‘ λΆμ°λ μ¬λ¬ κ°μ μλ²μ΄λ€. μΉ μ»¨ν μΈ λ₯Ό μ¬μ©μμ κ°κΉμ΄ κ³³μμ μ μ‘ν¨μΌλ‘μ¨ μ μ‘ μλλ₯Ό λμΈλ€.
λ§€μΌλ§€μΌ νλ°μ μΌλ‘ μ¦κ°νλ λ°μ΄ν°λ₯Ό μ§μ° μμ΄ μ²λ¦¬νκΈ° μν΄μλ λ°μ΄ν°λ₯Ό λΆμ°ν΄μ μ λ¬νλ κΈ°μ μ΄ νμμ μΈλ°,
μ§λ¦¬μ μΌλ‘ λ¨Ό 거리μ λ¨μ΄μ Έ μλ μ¬μ©μμκ² μ§μ° μμ΄ μ»¨ν μΈ λ₯Ό λΆμ°ν΄ μ λ¬ν μ μλ CDN μλΉμ€κ° λ±μ₯νλ€.
CDNμ κ° μ§μμ μΊμ μλ²λ₯Ό λΆμ° λ°°μΉν΄, κ·Όμ ν μ¬μ©μμ μμ²μ μλ³Έ μλ²κ° μλ μΊμ μλ²(PoP, Points of presence)κ° μ»¨ν μΈ λ₯Ό μ λ¬νλ€.
μλ₯Ό λ€μ΄ λ―Έκ΅μ μλ μ¬μ©μκ° νκ΅μ νΈμ€ν λ μΉ μ¬μ΄νΈμ μ κ·Όνλ κ²½μ°, λ―Έκ΅μ μμ°¨ν PoP μλ²μμ μΉ μ¬μ΄νΈ 컨ν μΈ λ₯Ό μ¬μ©μμκ² μ μ‘νλ λ°©μμ΄λ€.
μΈν°λ·μ ν΅ν΄ λΉμ¦λμ€λ₯Ό μ΄μνκ±°λ μΉ μ¬μ΄νΈμμ κ·Έλν½ μ΄λ―Έμ§, λμμ νμΌ λ±μ 컨ν μΈ λ₯Ό μ 곡νλ€λ©΄ CDN μλΉμ€κ° νμνλ€.
νΉμ κ΅κ°λ μ§μ°λ§μ νκΉμΌλ‘ νλ μΉ μλΉμ€λ₯Ό μ΄μνλ€λ©΄ μ€νλ € λΆνμν μ°κ²° μ§μ μ΄ λμ΄λ μΉ μ¬μ΄νΈμ μ±λ₯ μ νλ‘ μ΄μ΄μ§ μ μλ€
RTMP/RTSP : (Real Time Messaging Protocol/ Real Time Streaming Protocol)
HLS : HTTP Live Streaming
μ°λ¦¬κ° μ€νΈλ¦¬λ°μ νκ² λλ©΄ μΉ΄λ©λΌκ° 촬μμ νκ² λκ³ , μ΄λ μΊ‘μ³ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ νμΌ μμ±μΌλ‘ μ΄μ΄μ§λ€.
μμ¦μ μΉ΄λ©λΌ μ체μ μΌλ‘ λ°λ‘ RTMP(Real Time Messaging Protocol) μ νΈμ κ°μ΄ κ³§ λ°λ‘ μ€νΈλ¦¬λ° μ νΈλ₯Ό λ½μλ΄λ κΈ°λ₯μ κ°μ§ μΉ΄λ©λΌλ μλ€.
μ΄λ΄ κ²½μ° μ€κ° κ³Όμ μμ΄ λ°λ‘ νμΌμ΄λ μ νΈλ‘ Outputμ΄ λμ€κ² λλ€.
μ νΈνμμ΄λΌλ ννμ μ¬μ©ν μ΄μ λ μλΉμ€ν 컨ν μΈ κ° μ€μκ°μΈ κ²½μ°μ ν΄λΉνλ€.
μ’ λ₯μ λ°λΌ HLSλ‘ μλΉμ€ νλ κ²½μ° μ νΈμΈ λμμ νμΌμ΄κΈ°λ νλ€.
HLS κΈ°μ€μΌλ‘ m3u8μ΄λΌλ manifest fileμ΄ μμ±λλ€. μ΄ νμΌμ λ©λͺ¨μ₯μΌλ‘ μ΄μ΄λ³΄λ©΄ λͺ κ°μ§ νκ·Έμ ν¨κ»
νμμ Chunk νμΌ λ¦¬μ€νΈκ° 보μ΄κ² λλ€. μ¦, m3u8 νμΌμ κ·Έ λ΄μ©μ΄ κ³μ λ°λκ² λκ³ ChunkλΌλ μ§§κ² μλ¦° λμμ νμΌ λͺ©λ‘μ΄ κ°±μ λλ€.
μ½λ±μ μμμ μμΆνκΈ° μν κΈ°μ μ΄λ€. μ΅λν μλ³Έμ νμ§μ μ μ§νλ©΄μ μ μ©λ κ³ νμ§μ μλΉμ€λ₯Ό μν΄ μμμ μμΆνλ S/Wμ΄λ€.
μ½λ±μλ μ¬λ¬ μ’ λ₯κ° μκ³ , 무λ£μΈ κ²μ΄ μκ³ μ λ£μΈ κ²μ΄ μμΌλ©°, νΈνμ±λ λ°μ Έλ΄μΌ ν¨μΌλ‘ μ μμλ³΄κ³ μ¬μ©νλ©΄ λλ€κ³ νλ€.
Encoding vs Transcoding
μΈμ½λ©μ μμΆ κ³Όμ μ체λ₯Ό μλ―Ένλ€. μλ₯Ό λ€μ΄ μμΆλμ§ μμ 무μμΆ μμμ μ½λ±μ μ΄μ©νμ¬ μμΆνλ μμ μ μλ―Ένλ€.
μΉ΄λ©λΌμμ 촬μνλ©΄μ μ μ₯λ 무μμΆ mp4 νμΌμ μ½λ±μ ν΅ν΄ HD, FHD λ±μΌλ‘ ν΄μλλ₯Ό μ€μ΄λ©΄μ μμΆνλ μμ μ΄λ€.
μ΄ κ³Όμ μμ μ€μν μ μ λ°λ‘ μ΄λ μ λμ μμ€μ κ°μνκ³ νμ§μ μ€μΌμ§ κ²°μ νλ λΆλΆμ΄λ€.
μ¬μ€μ νλ«νΌ μλΉμ€λ₯Ό μν΄μ μΈμ½λ©κ³Ό λμμ νΈλμ€μ½λ©μ΄ μ§νλλ€.
νΈλμ€μ½λ©μ μμ μμ€κ° λ€λ₯Έ νμμΌλ‘ λ³νλ¨μ μλ―Ένλ€.

μ£Όλ‘ μ΄ λΆλΆμ νμ μμ RTMPκ° μλ³ΈμΈ μμμ κ³ κ°μκ² νμ§λ³λ‘ μλΉμ€νκΈ° μν΄μ SD, HD, FHD μ΄λ κ² μΈ κ°μ§λ‘ μΈμ½λ©μ΄ λκ³ ,
μλ³Έ 1κ°κ° κ° νμ§λ‘ μλΉμ€ νμΌμ΄ μΈμ½λ© λλ λμμ DRMμ΄ ν¨ν€μ§λ λ€λ₯Έ νμμ νμΌλ‘ νΈλμ€μ½λ©νκ² λλ€.
AWS μ΄μΈ λ€λ₯Έ μ루μ λ€μμλ λ§μ°¬κ°μ§λ‘ λ³νλμ΄ μΆλ ₯λλ κ²°κ³Όλ¬Όμ λΆλΉ κ³ΌκΈμΌλ‘ μκΈμ μ± μ νλ€.
λ¬Όλ‘ Live Streamingμ κ²½μ° inputκ³Ό output λ λ€λ₯Ό κ³ΌκΈνλ ννλ μλ€.
μ΄ λ μ‘°μ¬ν΄μΌ νλ λΆλΆμ 컨ν μΈ λ³ν λΉμ©μ μμΈ‘νκΈ° μν΄ λ¨μν λͺ λΆμ μΌλ§λΌλ μμΌλ‘ κ³μ°νλ©΄ μλλ€.
μ΄λ ν νμ§λ‘ μ΄λ€ νκ²½μμ μ΄λ€ λλ°μ΄μ€μ μλΉμ€ ν μ§λ₯Ό κ³ λ €ν΄μΌ νλ€.
μλ³Έ μμνμΌ λλ μ νΈλ₯Ό 1μ°¨μ μΌλ‘ μΈμ½λ©μ ν΅ν΄ νμ§λ³λ‘ μμΆνλ λμμ μλΉμ€ μ€νμ λ§λ νμΌ ννλ‘ νΈλμ€μ½λ© νλ€κ³ μκ°νλ©΄ λλ€.
μΈμ½λ© : μμΆκ³Όμ
νΈλμ€μ½λ© : λ³νκ³Όμ
DRM : Digital Rights Management
Livepeerλ μ΄λ리μ λΈλ‘체μΈμ ꡬμΆλ νμ€μν λΉλμ€ μ½λ λ³ν λ€νΈμν¬μ΄λ€.
μμ ν νμ€μνλκ³ νμ₯μ±μ΄ λμΌλ©° μνΈν ν ν° μΈμΌν°λΈκ° μλ λΌμ΄λΈ λΉλμ€ μ€νΈλ¦¬λ° λ€νΈμν¬ νλ‘ν μ½μ μ 곡νλ€.
κ²°κ³Όμ μΌλ‘ νμ€μν κ°λ° (Web3) μ€νμμ λΌμ΄λΈ λ―Έλμ΄ κ³μΈ΅ μν μ ν μ μλ μ루μ μ μ 곡νλ€.
λΉλμ€ κ°λ°μ κΈ°λ³Έ μμΉμ μλ³Έ λΉλμ€λ₯Ό μΈμ½λ© λκ΅¬λ‘ μμΆν΄μ μ μ‘ λ° λ³κ²½μ μν νμΌ ν¬κΈ°λ₯Ό μ€μ΄λ κ².
μΈμ½λ©λ λΉλμ€λ μ΄μ λ€λ₯Έ λ³νμΌλ‘ νΈλμ€μ½λ©λμ΄μΌ νλ€.
μ ν΅μ μΈ μΉμμλ μ€μνλ μλ²μμ νΈλμ€μ½λ©μ΄ μ΄λ£¨μ΄μ§λ€.
λΌμ΄λΈνΌμ΄λ λΉλμ€ λ° λΌμ΄λΈμ€νΈλ¦Ό λ°μ΄ν°λ₯Ό κ°μ Έμ λΌμ΄λΈνΌμ΄ λ€νΈμν¬μμ νΈλμ€μ½λ©μ νλ€.
λΌμ΄λΈνΌμ΄ λ€νΈμν¬λ λΉλμ€ λ°°ν¬λ₯Ό κ΄λ¦¬νλλ°, κ°λ³ μ»΄ν¨ν°μ λ Έλ μν μ νλ μ¬μ©μλ‘ κ΅¬μ±λ κ°λ°©ν λ€νΈμν¬μ΄λ€.
μ¬κΈ°μ λ Έλλ§λ€ λͺ©μ κ³Ό κΈ°λ₯μ΄ λ€λ₯Έλ°, λ€ κ°μ§ μ£Όμ λ Έλ μ νμ΄ μλ€.
https://livepeer.org/ko/primer
λΈλ‘λμΊμ€ν° : μ€νΈλ¦Όμ μμνκ³ λ Ήν νμΌμ κ΄λ¦¬νλ μ¬μ©μ. (μ ν리μΌμ΄μ μ μ΄μ©ν΄ λ°©μ‘ λ° λ―Έλμ΄ νλμ νλ μ¬μ©μ)
νΈλμ€μ½λ : νΈλμ€μ½λ© λ Έλ μν μ νλ μ¬μ©μ. μ€μ λ‘ νΈλμ€μ½λ©μ ν΄μ£Όλ μν μ λ΄λΉ. (Orchestrator)
μ€κ³κΈ° : νΈλμ€μ½λμμ μλΉμλ‘ μ λ¬νλ μ€κ°μ λ Έλ. (Orchestrator)
μλΉμ : μ€νΈλ¦Όμ μλΉνκ±°λ μ€νΈλ¦Όμ μΆκ°λ‘ λ°°ν¬νλ μ΅μ’ μ¬μ©μ. (νλ‘μ νΈμ λΌμ΄λΈνΌμ΄λ₯Ό μ¬μ©νλ κ°λ°μ)
μ€μΌμ€νΈλ μ΄ν°λ μμ μ μ»΄ν¨ν° 리μμ€λ₯Ό κΈ°μ¬νμ¬ λΉλμ€μ νΈλμ€μ½λ© λ° λ°°ν¬λ₯Ό μννλ€. κ·Έλ¦¬κ³ μ΄ λκ°λ‘ μνΈννλ₯Ό μμλ£λ‘ νλνλ€.
λμμμ μ€νΈλ¦¬λ° λΉμ©μ΄ λ§λνκ³ , κ·Έκ²μ΄ λΌμ΄λΈ μ€νΈλ¦¬λ°μΈ κ²½μ° ν¨μ¬ λ λ§μ λΉμ©μ΄ λ€κ² λλ€.
λμμμ λ°°ν¬νλ μΈ‘(Broadcaster)λ λ¨Όμ λμμμ λ³ν(μΈμ½λ© + νΈλμ€μ½λ©)ν΄μΌ νκΈ° λλ¬Έμ΄λ€.
μ½λ λ³νμ 2G λλ 5Gμ΄λ μ¬μ©μκ° μ¬μ©νλ λμνμ΄λ κΈ°κΈ°μ μκ΄ μμ΄ μ΅μ μ μμ² νκ²½μ μ 곡ν μ μλλ‘
μμ νμΌμ λ°μμ μ½λ μμμ λ€μ μ§μ νλ μμ
μ΄λ€.
AWSμμλ λ―Έλμ΄ μλ² ν λλΉ λ§€μ μ΅λ $4500, 컨ν μΈ μ 곡 λ€νΈμν¬μ κ²½μ° λ§€μ μ΅λ $1500μ λΉμ©μ΄ μμλλ€κ³ νλ€.
μ΄λ¬ν μ€νΈλ¦¬λ° λΉμ©μ μ±κ³΅μ μΈ λΉμ¦λμ€ λͺ¨λΈμ μ μν₯μ λΌμΉ μ μμΌλ©°, κ°λΉνκΈ° μν΄ μμΉ μλ μλ§μ κ΄κ³ λ₯Ό λ΄λ³΄λΌ μ λ°μ μλ€.
Livepeerλ μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ±μ₯ν μλΉμ€ νλ«νΌμΌλ‘μ¨,
μ΄λ리μ λΈλ‘체μΈμμ 보νΈλλ λ§μΌνλ μ΄μ€λ₯Ό ν΅ν΄ μνΈ μμ©νλ P2P μΈνλΌλ₯Ό ꡬμΆνκ³ μλ€.
λ³Έλμ λ°©μμ΄λΌλ©΄, μ°λ¦¬λ μ§μ μΈμ½λ©κ³Ό νΈλμ€μ½λ©μ μν μμ μ κ±°μ³μΌνκ³ ,
μ΄μ λν inputκ³Ό outputμ μμνλ λΉμ©μ μ§λΆν΄μΌνλ€.
λν κΈ°μ‘΄ μΈνλΌκ° μ€μ μ§μ€νλκ³ μ€ν체μΈμΌλ‘ ꡬμΆλμ΄ μκΈ° λλ¬Έμ,
λΈλ‘μ²΄μΈ νλ‘μ νΈλ μ΄λ¬ν νΈλμ€μ½λ© μλΉμ€λ₯Ό μ ν리μΌμ΄μ μ ν΅ν©νκΈ° μ΄λ €μ΄ μ μ΄ μλ€.
Livepeerλ νμ€μνλμ΄μκ³ , μ€ν μμ€μ΄λ©° ETH λΈλ‘체μΈμ κΈ°λ°μΌλ‘ νλ―λ‘, λͺ¨λ ETH νλ‘μ νΈμμ
Livepeer λ° λΉλμ€ μ€νΈλ¦¬λ°μ μ½κ² ν΅ν©ν μ μλ€.




https://library.gabia.com/contents/infrahosting/8985/
https://www.lonelyplanit.com/6
https://livepeer.org/ko/primer
https://engineering.linecorp.com/ko/blog/line-transcoding-server-architecture-improvement-1/
No comments yet