[{"data":1,"prerenderedAt":252},["ShallowReactive",2],{"docs:list:en":3,"docs:page:en:credits\u002Ftechnologies\u002Frealtime":66},[4,10,14,19,23,27,32,36,40,44,49,53,57,62],{"path":5,"title":6,"description":7,"section":8,"order":9},"\u002Fdocs\u002Fen\u002Fcredits\u002Foverview","Overview","The open source work Alluno stands on, grouped by the layer each project lives in.","Credits",1,{"path":11,"title":12,"description":13,"section":8,"order":9},"\u002Fdocs\u002Fen\u002Fcredits\u002Ftechnologies\u002Foverview","Stack","How the host, the services, the web client and the real time layer fit together.",{"path":15,"title":16,"description":17,"section":18,"order":9},"\u002Fdocs\u002Fen\u002Fgetting-started\u002Fintroduction","Introduction","What Alluno is, how a session actually works, and which parts of the product you will meet first.","Getting started",{"path":20,"title":6,"description":21,"section":22,"order":9},"\u002Fdocs\u002Fen\u002Fprivacy-policy\u002Foverview","What Alluno collects, what it deliberately never sees, and the choices you keep over both.","Privacy policy",{"path":24,"title":6,"description":25,"section":26,"order":9},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Foverview","The agreement between you and Alluno: what you may do, what we owe you, and where each ends.","Terms of service",{"path":28,"title":29,"description":30,"section":8,"order":31},"\u002Fdocs\u002Fen\u002Fcredits\u002Ftechnologies\u002Ffrontend","Frontend Architecture","The web client that decodes, syncs and paints a session in your browser, and what it is built from.",2,{"path":33,"title":34,"description":35,"section":18,"order":31},"\u002Fdocs\u002Fen\u002Fgetting-started\u002Finstallation","Installation","Install the host on the machine you want to reach, pair it once, and open it from any browser afterwards.",{"path":37,"title":38,"description":39,"section":22,"order":31},"\u002Fdocs\u002Fen\u002Fprivacy-policy\u002Fdata-collection-types","Data Types","Every category of data the service touches, why each one exists, and how long it is kept.",{"path":41,"title":42,"description":43,"section":26,"order":31},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Fbilling-payments-payment-terms","Payment Terms","Plans, billing cycles, how payment is taken, and what happens when one fails.",{"path":45,"title":46,"description":47,"section":8,"order":48},"\u002Fdocs\u002Fen\u002Fcredits\u002Ftechnologies\u002Fbackend","Backend Systems","The host on your machine and the services behind alluno.io, both written in Rust, and what they are built from.",3,{"path":50,"title":51,"description":52,"section":18,"order":48},"\u002Fdocs\u002Fen\u002Fgetting-started\u002Ffaq","FAQ","Straight answers on transports, encryption, what Alluno can and cannot see, plans and licensing.",{"path":54,"title":55,"description":56,"section":26,"order":48},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Fbilling-payments-commercial-disclosure","Commercial Disclosure","The trading details a subscription requires: who sells the service, from where, and on what terms.",{"path":58,"title":59,"description":60,"section":8,"order":61},"\u002Fdocs\u002Fen\u002Fcredits\u002Ftechnologies\u002Frealtime","Real-time Systems","The media and transport layer that moves a frame from the host to your screen in a few milliseconds.",4,{"path":63,"title":64,"description":65,"section":26,"order":61},"\u002Fdocs\u002Fen\u002Fterms-of-service\u002Facceptable-use-guidelines","Guidelines","What a machine on Alluno may be used for, and the handful of things that will end an account.",{"id":67,"title":59,"body":68,"description":60,"extension":245,"meta":246,"navigation":247,"order":61,"path":58,"section":8,"seo":248,"stem":249,"updated":250,"__hash__":251},"docs\u002Fdocs\u002Fen\u002Fcredits\u002Ftechnologies\u002Frealtime.md",{"type":69,"value":70,"toc":237},"minimark",[71,75,80,104,108,135,140,194,198,224,232],[72,73,74],"p",{},"Everything on this page runs against a clock. At 165 Hz a frame has 6.1 ms to be captured, encoded, carried, decoded and painted, and each of these projects takes a slice of that budget.",[76,77,79],"h2",{"id":78},"media","Media",[81,82,83,97],"field-group",{},[84,85,88],"field",{"name":86,"type":87},"FFmpeg","media engine",[72,89,90,96],{},[91,92,86],"a",{"href":93,"rel":94},"https:\u002F\u002Fffmpeg.org",[95],"nofollow"," handles encoding and decoding on the host, with hardware paths for NVENC, QuickSync, AMF and VideoToolbox, and H.264, HEVC and AV1 where the hardware and the browser both agree.",[84,98,101],{"name":99,"type":100},"Opus","audio",[72,102,103],{},"Low latency audio in both directions, for the session sound and for voice in a room.",[76,105,107],{"id":106},"transport","Transport",[109,110,111,123],"card-group",{"cols":31},[112,113,116],"card",{"icon":114,"title":115},"lucide:git-branch","WebRTC",[72,117,118,122],{},[91,119,115],{"href":120,"rel":121},"https:\u002F\u002Fwebrtc.org",[95]," for one to one sessions. ICE finds the shortest path, DTLS-SRTP encrypts it, and a TURN relay steps in only when the network refuses a direct route.",[112,124,127],{"icon":125,"title":126},"lucide:radio","QUIC and Media over QUIC",[72,128,129,134],{},[91,130,133],{"href":131,"rel":132},"https:\u002F\u002Fquicwg.org",[95],"QUIC"," with TLS 1.3 built in, carrying Media over QUIC for rooms. One publish, many subscribers, and no head of line blocking between them.",[136,137,139],"h3",{"id":138},"why-two-transports","Why two transports",[141,142,143,158],"table",{},[144,145,146],"thead",{},[147,148,149,153,155],"tr",{},[150,151,152],"th",{},"Session",[150,154,107],{},[150,156,157],{},"Reason",[159,160,161,172,183],"tbody",{},[147,162,163,167,169],{},[164,165,166],"td",{},"One viewer",[164,168,115],{},[164,170,171],{},"Shortest possible path, direct where the network allows",[147,173,174,177,180],{},[164,175,176],{},"A room",[164,178,179],{},"Media over QUIC",[164,181,182],{},"Fan out through a relay, so a slow viewer stalls only their own picture",[147,184,185,188,191],{},[164,186,187],{},"LAN or VPN",[164,189,190],{},"Media over QUIC direct",[164,192,193],{},"No relay hop at all when the browser can reach the host",[76,195,197],{"id":196},"input","Input",[81,199,200,207,218],{},[84,201,204],{"name":202,"type":203},"Binary input codec","wire",[72,205,206],{},"Keyboard, mouse and gamepad events travel as a compact binary format shared byte for byte between the host and the browser, so input never waits on a text parser.",[84,208,211],{"name":209,"type":210},"ViGEmBus","windows",[72,212,213,217],{},[91,214,209],{"href":215,"rel":216},"https:\u002F\u002Fgithub.com\u002FViGEm\u002FViGEmBus",[95]," presents a virtual Xbox controller to games and carries rumble back.",[84,219,221],{"name":220,"type":210},"Kernel input filter",[72,222,223],{},"Delivers keyboard and mouse events at the device level, which is what raw input titles expect.",[225,226,229],"callout",{"icon":227,"type":228},"lucide:clock","tip",[72,230,231],{},"Video, audio and input share one timebase across the whole path. That is the difference between a stream that looks fast and one that feels local.",[233,234],"read-more",{"title":235,"to":236},"Which transport a session uses, and why","\u002Fdocs\u002Fgetting-started\u002Ffaq",{"title":238,"searchDepth":61,"depth":61,"links":239},"",[240,241,244],{"id":78,"depth":31,"text":79},{"id":106,"depth":31,"text":107,"children":242},[243],{"id":138,"depth":48,"text":139},{"id":196,"depth":31,"text":197},"md",{},true,{"title":59,"description":60},"docs\u002Fen\u002Fcredits\u002Ftechnologies\u002Frealtime",null,"zKAmYxf9swQkkAe_c7HmiRY_2hSAQMTeXZp_XnDjl5U",1789362703353]