Taula de continguts[Amaga][Espectacle]
Hi ha una possibilitat bastant decent que hàgiu reproduït alguna cosa si heu passat temps en línia.
El streaming és un dels usos més habituals de les aplicacions més conegudes d'Internet, ja sigui a través de YouTube, Spotify, Netflix o un centenar d'altres.
No obstant això, tenint en compte com de comú és el streaming, és senzill donar-ho per fet. Per exemple: què és exactament el streaming?
Qualsevol material multimèdia, ja sigui en directe o gravat, que s'envia per Internet a ordinadors i dispositius mòbils i es reprodueix en temps real s'anomena streaming.
Els tipus habituals de material en temps real inclouen podcasts, retransmissions web, pel·lícules en moviment, programes de televisió i vídeos musicals.
Els elements multimèdia com ara música, vídeo i altres tipus es planifiquen i es transfereixen en paquets de dades consecutius perquè es puguin reproduir a l'instant.
Un dispositiu adequat, accés a un servei o aplicació de reproducció en temps real i una connexió a Internet d'alta velocitat ràpida i fiable són tot el que necessiteu per transmetre en temps real.
Nota: utilitzarem un servei de transmissió de vídeo com a exemple.
Aquesta publicació analitzarà en profunditat el disseny del sistema del servei de streaming i els factors clau a tenir en compte a l'hora de desenvolupar aplicacions de transmissió de vídeo.
Requisit del sistema
Entre els serveis de transmissió de vídeo més populars del món es troben YouTube i Netflix. Per millorar l'experiència de l'usuari, la seva arquitectura inclou una sèrie d'elements.
Aquest servei inclou pel·lícules populars, facturació, sistemes de recomanació basats en IA i funcions de visualització posterior, però ens centrarem en els elements essencials.
Qualitats bàsiques
Hem inclòs les capacitats següents en el nostre concepte per a streaming de vídeo servei:
- Els creadors de contingut poden publicar vídeos.
- Els espectadors poden utilitzar molts dispositius per veure vídeos (mòbil, televisió, etc.).
- Als vídeos, els usuaris poden comentar, m'agrada o no.
- Els títols dels vídeos es poden utilitzar per cercar-los.
- Per mostrar aquestes estadístiques als usuaris, el sistema pot emmagatzemar visualitzacions, m'agrada i no m'agrada.
Objectius del sistema
- No hi hauria d'haver cap memòria intermèdia perquè els espectadors puguin veure vídeos en temps real.
- L'emmagatzematge del vídeo hauria de ser fiable. No hauríeu de perdre els vídeos que heu penjat.
- Amb un augment d'usuaris, el sistema hauria de ser escalable.
- La baixa latència i l'alta disponibilitat haurien de ser característiques del sistema. En aquesta situació, la coherència no és tan important perquè està bé que un usuari espere una estona abans de veure una pel·lícula acabada de presentar.
Un sol servidor no pot gestionar el volum de dades, ja que el sistema ha de gestionar un trànsit fort de manera regular. S'utilitzarà un grup de servidors per donar servei al sistema.
No hi hauria d'haver cap impacte notable en la velocitat per als clients, fins i tot si un servidor es bloqueja.
Arquitectura d'Alt Nivell
Un programa de transmissió de vídeo pot acceptar un dels tres tipus diferents de sol·licituds:
- Carregar (escriure)
- Cerca (llegir)
- Veure (llegir)
Com que les consultes de lectura (cerca i visualització) sovint seran diverses vegades més freqüents que les sol·licituds d'escriptura (càrrega), cadascuna d'elles es gestiona per un clúster de servidors independent.
Com que el programa és de lectura intensiva, haureu de configurar més servidors per gestionar les sol·licituds de lectura que les càrregues.
Cada sol·licitud realitzada per un client s'encamina al microservei adequat balanç de càrrega quan es rep.
Servei de càrrega
El servei de càrrega, que processa el vídeo, el puja als servidors d'Open Connect i el fa accessible a tots els usuaris, compleix una sol·licitud de càrrega.
Servei de cerca
L'equilibrador de càrrega envia la sol·licitud de cerca al microservei de cerca, que després l'envia a la cerca elàstica de Netflix. El client rep la resposta de la cerca elàstica.
La cerca elàstica, un motor de cerca de codi obert de text complet increïblement escalable, és utilitzat per Netflix per cercar milions de vídeos.
Netflix utilitza la cerca elàstica per analitzar les operacions d'atenció al client.
Veure Servei
La majoria de les sol·licituds de visualització no s'enviaran a l'equilibrador de càrrega ni als servidors de Netflix. En canvi, els usuaris es connectaran als ISP locals i s'alimentaran directament des del servidor Open Connect més proper.
Tanmateix, si el vídeo sol·licitat no és accessible, s'enviarà a l'equilibrador de càrrega i al microservei de visualització.
A continuació, es cerca el vídeo a la base de dades de metadades, es recupera del camí especificat a les metadades i es transmet al client.
Per descomptat, aquesta tècnica inclou la latència, per això pràcticament totes les sol·licituds de visualització es proporcionen mitjançant Open Connect.
Pengeu vídeos
L'objectiu principal de YouTube és penjar una pel·lícula o un vídeo. Un servei de streaming de vídeo ha de superar una sèrie d'obstacles abans de fer accessible un vídeo als seus consumidors.
Manteniment a trossos
Cada vídeo enviat es dividirà en nombrosos fitxers més petits en lloc de conservar-se com un únic fitxer gran.
Això és essencial, ja que els productors de contingut poden enviar vídeos enormes. Un únic fitxer gran pot trigar una estona a processar-se o reproduir-se.
L'espectador no haurà de descarregar el vídeo complet per reproduir-lo si es desa i es posa a la seva disposició a trossos.
Per tal de garantir que hi hagi poca latència entre els fragments i que l'usuari tingui una experiència de visualització fluida, el client primer sol·licitarà el primer tros al servidor i després sol·licitarà el següent mentre es reprodueix.
Cua de processament
Cada vídeo té nombrosos fragments i Netflix utilitzarà diversos treballadors simultanis per analitzar-los, per la qual cosa es requereix una cua de processament. En afegir-los a la cua, això es fa més senzill.
Les feines seran recollides pels treballadors (o codificadors, que tractarem a continuació), codificades en diversos formats i després emmagatzemades a l'emmagatzematge de fitxers distribuït.
codificació de vídeo
És crucial convertir i desar els fragments de vídeo en diversos formats perquè els espectadors puguin accedir-hi mitjançant la tecnologia i la connexió a Internet que els funcioni millor.
Els espectadors poden veure el vídeo en un ordinador portàtil, telèfon, TV o altres aparells. Els formats òptims per a diversos dispositius difereixen entre si.
En una línia similar, diversos espectadors podrien utilitzar diferents amplades de banda per accedir a Internet.
Alguns espectadors podrien reproduir pel·lícules d'alta resolució amb facilitat depenent de la velocitat de la seva connexió a Internet o de l'ample de banda, mentre que els que tinguin un ample de banda menor podran reproduir vídeos de baixa qualitat amb molta més facilitat.
Obriu Connect
Quan utilitzeu el vostre navegador per sol·licitar Netflix.com, realment se li demana al vostre ISP (proveïdor de serveis d'Internet) que estableixi una connexió entre el vostre ordinador i el servidor de Netflix.
El vostre ISP contacta amb l'adreça IP de Netflix en nom vostre i us retorna el resultat. L'audiència d'una nació remota com Tòquio experimentarà retards importants en la transmissió i la recepció de senyals a causa de la concentració d'aquests servidors als EUA.
Amb els vídeos, els retards són molt més preocupants, ja que s'han de transmetre moltes dades a l'espectador i, si és així, la transmissió es retardarà i l'experiència de l'usuari es ressenteix.
Netflix utilitza una tècnica intel·ligent per solucionar el problema. Es coneix com a Open Connect (OC). Open Connect és el CDN que utilitza Netflix (xarxa de lliurament de contingut).
Per tal d'emmagatzemar la informació en línia a la memòria cau i lliurar-la ràpidament als consumidors reduint la distància física entre l'usuari i el material, CDN és una xarxa de servidors distribuïts i centres de dades associats.
Equilibri de càrrega
A aplicació única El servidor no pot gestionar el volum de sol·licituds (incloses les sol·licituds de càrrega, cerca i visualització) que arriben cada segon.
Hi ha d'haver un equilibrador de càrrega per distribuir eficaçment la càrrega de treball entre els nombrosos servidors, ja que hi ha diversos servidors implicats.
Netflix utilitza hashing constant per distribuir les càrregues entre servidors perquè pot gestionar les fallades del servidor i permetre la instal·lació de servidors addicionals amb facilitat.
Com que la popularitat de cada vídeo varia, els servidors reals que allotgen aquestes pel·lícules poden experimentar una càrrega desigual. Utilitzant redireccions HTTP dinàmiques, que permeten que un servidor ocupat desviï una sol·licitud nova a un servidor obert, podem solucionar aquest problema.
Consideracions a l'hora de desenvolupar una aplicació de transmissió de vídeo
Trobeu i desenvolupeu el vostre nínxol
Amb tants tipus diferents de material disponible, des d'entreteniment fins a educació i fitness, és fonamental construir un diferenciador amb una especialitat especialitzada. Pots crear una plataforma per a documentals o pel·lícules independents.
Monetització de l'aplicació
La interrupció dels patrons de monetització tradicionals pot generar innovació i creixement. Els plans sempre s'han d'adaptar al públic objectiu.
Com que els titulars ja han monopolitzat el mercat, podeu provar de monetitzar les subscripcions gratuïtes amb anuncis o col·locació de productes.
Juntament amb això, si voleu construir una plataforma de servei de streaming global, heu de tenir en compte les necessitats multimoneda.
Millor experiència
El rendiment del programa s'hauria de millorar per a circumstàncies de punta, com ara Internet lenta o usuaris amb accés restringit.
Transmissió de vídeos
Netflix no només emet contingut, sinó que també utilitza tècniques d'enginyeria d'usuari i suggeriments personalitzats per mantenir els usuaris connectats al servei.
Planifiqueu establir un servei de streaming similar a Netflix amb èmfasi en l'anàlisi de dades i la personalització dels usuaris.
Gestionar les múltiples funcions de l'aplicació
A l'aplicació Netflix, la vista de l'usuari és simplement un dels diversos rols d'usuari. La planificació és necessària per a diversos usuaris i el seu accés, inclosos l'administrador, el propietari del vídeo, els socis, els moderadors, etc.
Conclusió
En conclusió, així és com els serveis de transmissió de vídeo com Netflix, YouTube i altres vídeos integrats els fan un seguiment i els mostren a milions de consumidors.
Tot i que cadascuna d'aquestes aplicacions pot tenir algunes característiques addicionals que les diferencien, la funcionalitat fonamental es basa en els mateixos algorismes.
Vaig fer tot el possible per donar-vos una visió general de l'arquitectura del sistema del servei de transmissió, però hi ha moltes més coses en segon pla.
Espero sincerament que trobeu aquest coneixement valuós i que en feu servir.
Deixa un comentari