Vir die 5% van lesers wat reeds weet oor Media over Quic, het jy byna sekerlik jou eie mening oor hierdie vraag, so voel vry om die artikel te slaan en direk na die kommentaar te spring om te verduidelik waarom ek verkeerd is. Vir die ander 95%, is jy waarskynlik so nou: Moenie bekommerd wees my vriende, ons sal in Quic kom, hoe jy Media oor dit stuur, en hoe dit anders is as om RTC op die Web te plaas. Wat is WebRTC? Eerstens, laat ons 'n vinnige herhaal op WebRTC doen. WebRTC is die API agter die meeste video-konferensietoepassings op die web. Dit word ook gebruik vir 'n klomp ander gebruik gevalle wat real-time video-streaming betrek. Om dit te illustreer, oorweeg 'n webinar aansoek: Maak 'n webinar app Kom ons sê jy wou 'n webtoepassing bou om webinars te gaste. jy het 'n gaste nodig om hul webcam video en klank te kan deel, en potensieel 'n skermdeling in reële tyd. Jy sal ook deelnemers nodig hê om daardie video-stroom van die gasheer te kan verbruik, en potensieel hul eie webcam-video en klank te deel om vrae te vra en / of vir algemene interaktiwiteit. Hoe WebRTC webinars moontlik maak Die standaardoplossing vir die bou van ons webinar-toepassing sal wees om WebRTC te gebruik, wat 'n Web API is wat hoofsaaklik ontwerp is om video-konferensie-toepassings te fasiliteer. Selektiewe oordragseenheid Elke deelnemer maak 'n verbinding met die bediener, vang hul eie plaaslike webcam-stroom, onderhandel met die bediener om te koördineer op codek keuse, bit rate, ens. In die kode sal dit so lyk: // SFU WebRTC: Single connection to server async function joinWebinar() { // 1. Get your webcam const localStream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true }); // 2. Create ONE peer connection (to the server, not to each participant) const peerConnection = new RTCPeerConnection({ iceServers: [{ urls: ['stun:stun.example.com'] } }); // 3. Add your local stream to the connection for (let track of localStream.getTracks()) { peerConnection.addTrack(track, localStream); } // 4. Exchange connection details with the server const offer = await peerConnection.createOffer(); const answer = await signalingServer.send({ offer }); await peerConnection.setLocalDescription(offer); await peerConnection.setRemoteDescription(answer); // 5. When the server sends you other participants' streams, display them peerConnection.ontrack = (event) => { const participantId = event.streams[0].id; displayRemoteVideo(participantId, event.streams[0]); }; } Die WebRTC-server Die bediener koördineer nie net verbindings tussen deelnemers nie, dit maak ook selektiwiteit van streams tussen deelnemers moontlik. Vir 'n webinar met 100 deelnemers, beteken dit dat elke deelnemer nie hul webcam-stroom 99 verskillende keer deel nie, hulle laai net 1 stroom na die bediener en dit word na almal oorgedra. Elkeen van die 100 deelnemers hoef ook nie te abonneer op 99 ander video-voedings nie, die aansoek kan besigheidslogika toepas sodat elke deelnemer slegs 'n subset van beskikbare voedings abonneer (soos miskien almal kry die gasheer se webcam en skerm-deel, en 5 ewekansige ander deelnemer se voedings), wat bandbreedte vir almal verminder. WebRTC in die praktyk WebRTC is gebou vir video-konferensie en aangrenzende gebruik gevalle soos ons webinar voorbeeld, so dit het die defacto metode geword vir die doen van real-time video uitruil selfs vir nie-browser platforms soos Android & iOS. Die belangrikste uitdagings vir WebRTC sluit in Scalability - Server-side forwarding of many simultaneous video streams requires significant CPU and bandwidth, making it increasingly expensive to scale beyond a certain point (usually thousands) Control - WebRTC was built primarily with video conferencing in mind, and so while it is highly optimized for that use case, it lacks fine-grained control over media encoding & delivery (codecs, strings, packet-level control) that are relevant in other use cases like remote control or AI video pipelines. Wat is die media oor Quic? Media over Quic (MoQ) is 'n nuwe protokoll vir streaming real-time video ... soortgelyk aan WebRTC. En Media over Quic laat ons toe om real-time video-toepassings soos ons webinar-program te bou, soortgelyk aan WebRTC ... Ok, so, maar as WebRTC reeds bestaan en werk net goed, hoekom is maatskappye soos en Al die plotselinge werk aan 'n nuwe protokol? Die CloudFlare Die doel Kom ons praat eers oor Quick Byna enige normale kommunikasie wat jy as 'n webontwikkelaar kan hanteer, neem die vorm van 'n HTTPS-verzoek, wat 'n aantal terug-en-uit-stappe tussen 'n netwerk en bediener behels om die verbinding op te stel. Hierdie HTTP versoekings, en APIs soos Websockets en soms WebRTC, gebruik 'n protokoll genaamd TCP, 'n protokoll vir die uitruil van data tussen 'n netwerk en 'n bediener, waar pakkette in volgorde gestuur word. As 'n pakket verloor word, word daaropvolgende pakkette opgehou, wat orde bewaar, maar wat kan lei tot "head of line blokkeer" QUIC is 'n alternatiewe protokol, en optree meer soos vinnige koerier wat spoed prioriteer, dit kan minder belangrike pakkette (soos 'n video frame) laat val, maar dit beteken dat die res van jou aflewering vinniger gaan. Verskeie verskille tussen QUIC en normale TCP / HTTP QUIC verbindings vereis minder opstel QUIC kan individuele pakkette slim laat val in plaas van die hele verbinding te vertraag QUIC kan 'n verbinding handhaaf wanneer jy tussen netwerke skakel, soos om van WIFI na 'n selfoonverbinding te skakel. QUIC is dus 'n nuttige netwerkprotocol wat veral goed geskik is vir streaming video, alhoewel jy in teorie enige data oor QUIC kan stuur. Nou dat ons het, QUIC, laat ons 'n paar media oor dit stuur Die idee agter Media over Quic is, soos jy waarskynlik reeds gedacht het, om Media oor QUIC-verbindings te stuur. Spesifiek egter, Media over Quic is 'n geformaliseerde protokolle op die top van QUIC. Media over Quic werk as 'n pub / substelsel waar 'n stuur strome van gekodeerde media na 'n (in wese 'n CDN), en ontvang die strome van die relay: publisher relay subscribers Media oor Quic-relays is inhoud-agnosties, hulle weet nie wat oor die netwerk gebeur nie, of dit video, klank, teks of net ewekansige binêre kode is nie. Nog 'n belangrike aspek is dat Media over Quic-relay's saam geketting kan word, sodat sommige abonnees data kan ontvang wat net 1 relay gegaan het, en ander kan data ontvang wat deur 5 relays gegaan het. Media over Quic-relays hoef ook nie die toestand van die algehele "uitsending" te handhaaf nie, hulle optree net as data-pipes sonder om bewus te wees van hoeveel uitgewers en abonnees daar is of hoe lank die sessie aktief was. Dit is die belangrikste funksies wat Media over Quic toelaat om deur te hardloop , wat real-time streaming tot miljoene kykers op dieselfde tyd moontlik maak, iets wat nie moontlik is met WebRTC nie. CDNs Pseudokode voorbeelde Om 'n stroom te kyk, dit Media over Quic sou lyk soos hierdie async function watchWebinarViaQuic() { // 1. Connect to the relay const connection = await Moq.connect("https://relay.moq.some-cdn.com"); // 2. Subscribe to the broadcast const broadcast = connection.consume("my-webinar"); // 3. Subscribe to the video and audio tracks const videoTrack = await broadcast.subscribe("video"); const audioTrack = await broadcast.subscribe("audio"); // 4. Decode and display/play the streams decodeAndDisplayVideo(videoTrack); decodeAndPlayAudio(audioTrack); } Om 'n stroom te stuur, sal iets soos hierdie lyk: async function joinWebinarViaQuic() { // 1. Get your webcam const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true }); const videoTrack = stream.getVideoTracks()[0]; const audioTrack = stream.getAudioTracks()[0]; // 2. Connect to a MoQ relay (instead of connecting to an SFU) const connection = await Moq.connect("https://relay.moq.some-cdn.com"); // 3. Create a broadcast (namespace for your streams) const broadcast = new Moq.Broadcast(); connection.publish("my-webinar", broadcast); // 4. Get video and audio tracks from the relay const videoMoqTrack = await broadcast.requested('video'); const audioMoqTrack = await broadcast.requested('audio'); // 5. Stream your camera to the relay encodeAndStreamVideo(videoTrack, videoMoqTrack); encodeAndStreamAudio(audioTrack, audioMoqTrack); } Eintlik kodering / dekodeer en toon video behels 'n heel ander ding genaamd Maar daar is ook Die handhawing van die.. die webcodes Die biblioteek Streams versus verbindings Die fundamentele argitektuurverskil tussen WebRTC en Media oor Quic is dat WebRTC as 'n reeks aktiewe staatlike verbindings bedryf, terwyl MoQ as 'n reeks onafhanklike, parallelle strome optree. In WebRTC verbindings is inherent bidireksionaal (of tussen peers of van kliënt na bediener), terwyl in MoQ-operasies met parallelle onafhanklike eenrigtingsstroom. Oké, maar hoekom MoQ? 'N Aantal maatskappye en ontwikkelaars is opgewonde oor MoQ omdat dit konkrete voordele het in vergelyking met WebRTC (en ander webvideo tegnologieë). MoQ kan dieselfde soort real-time video-ervaring lewer as video-konferensie sagteware, maar omdat strome oor CDN's gestuur word, kan een persoon met 'n webcam na miljoene mense stroom, wat onmoontlik sou wees met WebRTC Scale: QUIC maak meer betroubare streaming moontlik, wat verbindings toelaat om voort te bly selfs wanneer netwerke oorskakel (bv. mobiele na WIFI), en ook toelaat om frames / pakkette te laat val om real-time aflewering te verseker. Efficient transport Omdat die infrastruktuurmodel so eenvoudig is, vereenvoudig dit die netwerkstapel baie, terwyl dit ook meer lae vlakke van beheer oor video-kodeer en dekodeer bied, wat belangrik is vir sommige toepassings. Simple model Media oor Quic in die praktyk Vanaf Januarie 2026 is Media over Quic nog steeds in 'n baie vroeë stadium, en vertrou op verskeie komponente wat nog ontwikkel word: WebTransport - die WebAPI wat QUIC-verbindings toelaat, word ondersteun deur ~80% van die blaaiers, maar word nog nie ondersteun op Safari nie Biblioteke: Die kernbiblioteke vir Media over Quic bestaan slegs vir Rust (server) en JS (kliënt), en daar is nog geen mobiele SDK's nie Relays: Verskeie CDN-verskaffers skep MoQ-relays, en Cloudflare het reeds een, maar hulle is nog steeds in "beta", en die mees betroubare metode op die oomblik is jou eie hosting. Media over Quic het genoeg gereedskap en ondersteuning vir vroeë adopters om met dit te begin bou, maar dit vereis nog baie 'DIY' aanpassings en implementasies, en dit is nog te vroeg vir 'n naadloze ontwikkelaar ervaring. Ontwikkelaars (insluitend ek!) werk aan die kernbiblioteke vir Media oor Quic, en maatskappye ontwikkel relay / gehost oplossings, dus verwag MoQ om meer stabiel te word en produksie gereed in die komende maande / jare. Sal dit die WebRTC vervang? Vir mense in die real-time video ruimte, Media oor Quic is 'n warm onderwerp, met baie bespreking oor of Media oor Quic WebRTC sal vervang. Aan die 5% van lesers wat reeds van MoQ geweet het voordat jy na hierdie artikel kom, het jy waarskynlik reeds in hierdie artikel gekom met 'n soort mening oor die antwoord, so voel vry om kommentaar te maak of jou teenargument te plaas, ek kan die SEO gebruik. Vir die ander 5% van julle wat dit deur die hele artikel gemaak het (kudos!). Jy mag nie 'n perd in hierdie wedloop hê nie, maar ek wil daarop wijs dat, ongeag, as jy werk in webontwikkeling, dit is waarskynlik 'n goeie ding om bewus te wees van MoQ en dat dit 'n nuwe opkomende standaard is vir real-time media streaming. Ek het begin help met ontwikkeling op MoQ biblioteke nie omdat ek 'n spesifieke belangstelling of begeerte het om WebRTC te vervang nie, maar eerder omdat ek daarvan hou. en lae-vlak beheer, en dit is cool om op die grondvloer van 'n nuwe protokoll te kry. Dit het gesê, sommige van my naaste professionele kontakte is WebRTC-deskundiges (Ek het voorheen 'n wat 'n AI filters SDK gerig op WebRTC produkte) en as 'n ontwikkelaar, net kyk na die MoQ dokumentasie dit is duidelik dat dit nog te rou en vroeg is vir wydverspreide gebruik. die webcodes Die start Sal dit die WebRTC vervang? Miskien WebRTC het 'n goed gevestigde ekosisteem en het 'n probleem opgelos wat voorheen nie 'n goeie oplossing gehad het nie. Dit gesê, MoQ het werklike voordele oor WebRTC en ander streaming tegnologieë soos , en so hier is waarskynlik 'n paar gebruik gevalle waar MoQ se voordele sou bied 'n oortuigende geval vir vroeë aannemers: HLS / DASH Streaming Too big for WebRTC, to small for HLS/DASH Die sweet spot vir vroeë aannemers sal waarskynlik aansoek kategorieë wees wat nie goed bedien word nie deur WebRTC of deur HLS / DASH (nie real-time nie, maar is veral groot skaal) Sommige voorbeelde kan insluit: Webinar sagteware, waar webinars real-time interaktiwiteit benodig, maar wat ook tot duisende of tienduisende deelnemers moet skaal Uitstraal virtuele gebeure waar sprekers gewoonlik 'n paar => baie uitstraal, maar wat dikwels interaktiewe vrae en vrae behels Browser-gebaseerde live-streaming gereedskap, wat video van blaaiers na bedieners en ander deelnemers stroom, terwyl simultaan sosiale media platforms soos Facebook soos of YouTube live stroom More control and reliability than WebRTC Media over Quic sal ook nuttig wees in scenario's waar robuuste video-verbindings of lae-vlak beheer van video-levering benodig word, soos in scenario's met afstandskamera-voedings (beveiligingskamera's, drone, op afstand bestuurde voertuie) of in real-time AI-video-pijpleidings. WebRTC word dikwels in hierdie scenario's gebruik, maar in hierdie gevalle is die skaalvoordeel van MoQ irrelevant, die primêre voordele sou wees van meer robuuste verbindings van HTTP3/Quic en lae vlak frame beheer wat MoQ 'n aantreklike opsie maak. For everything else Vir alles anders is daar Die WebRTC. Die Mastercard As jy standaard koekie-sniper video-konferensie bou, is WebRTC die duidelik beter tegnologie en daar sal waarskynlik nie 'n gebruik geval wees waar MoQ sin maak totdat / tensy die MoQ-ekosisteem die vlak van stabiliteit en volwassenheid van WebRTC bereik (moontlik? maar selfs dan, dit kan 'n rukkie neem). Meer hulpbronne As jy nuuskierig is oor Media over Quic, WebRTC of net real-time media streaming in die algemeen, hier is 'n paar hulpbronne: Media over Quic As jy meer wil leer oor Media over Quic, kan jy dieper grawe op Die amptelike webwerf van MoQ. WebCodecsFundamentals, 'n open-source lesboek met voorbeelde van kode Die MoQ discord WebRTC Daar is baie tutoriale oor WebRTC ( die ) en jy kan ook hoor 'n paar ander WebRTC kundiges praat oor MoQ vs WebRTC op Daar is ook 'n groot discord gemeenskap vir WebRTC ontwikkelaars genoem . die web.dev Die MDN Die webwerwe Pionie