[{"data":1,"prerenderedAt":597},["ShallowReactive",2],{"project-25627673":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":48,"post_text":49,"what":50,"said":93,"maker_in_thread":186,"shape":195,"grid":199,"attempts":560,"same_week":561,"maker_shows":44,"maker_hidden":589,"reader_version":590,"card":591},"25627673","Lightspeed","subsecond, open source, self hosted stream from OBS","title","Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS","https:\u002F\u002Fgithub.com\u002FGRVYDEV\u002FProject-Lightspeed","github.com","GRVYDEV",1609731062,2021,452,138,51,2533,3,"legend","infrastructure","self-hosted live streaming server","web_app",[24,25,26,27,28],"live streaming","low latency","webrtc","obs","self hosted","curious",0.069,{"positive":32,"neutral":33,"mixed":34,"critical":35},11,35,1,7,54,{"performance":38,"docs":41,"idea":42,"execution":45,"privacy":46,"design":47},{"positive":39,"critical":40},2,0,{"positive":40,"critical":39},{"positive":43,"critical":44},5,4,{"positive":39,"critical":34},{"positive":40,"critical":40},{"positive":34,"critical":40},[18,18,18,43,43,34,34,18,43,40,43,39,40,40,40,18,43,40,18,39,18,43,18,40,40,40,40,40,40,18,18,43,18,44,40,34,18,43,43,39],null,{"problem":51,"audience":61,"pricing":49,"motivation":65,"time_to_build":49,"stack":69,"openness":90,"stage":91,"team_size":92},{"value":52,"source":53,"evidence":54},"Live streams from OBS have multi-second latency on mainstream platforms","maker",[55,58],{"id":56,"by":11,"text":57},"25627674","Welcome to Project Lightspeed. This is a project that allows anyone to easily deploy their own sub-second latency live-streaming server. In its current state you can stream from…",{"id":59,"by":11,"text":60},"25628475","YouTube and twitch use RTMP which operates over TCP. This means that each time we send a packet we need to ensure that it’s been received which adds latency overhead. Lightspeed…",{"value":62,"source":53,"evidence":63},"People who want their own low-latency live stream server for friends",[64],{"id":56,"by":11,"text":57},{"value":66,"source":53,"evidence":67},"Learn WebRTC and real-time communication, and offer a self-hosted streaming platform",[68],{"id":56,"by":11,"text":57},[70,74,78,82,86],{"value":71,"source":53,"evidence":72},"Rust",[73],{"id":56,"by":11,"text":57},{"value":75,"source":53,"evidence":76},"Go",[77],{"id":56,"by":11,"text":57},{"value":79,"source":53,"evidence":80},"React",[81],{"id":56,"by":11,"text":57},{"value":83,"source":53,"evidence":84},"WebRTC",[85],{"id":56,"by":11,"text":57},{"value":87,"source":53,"evidence":88},"FTL protocol",[89],{"id":59,"by":11,"text":60},"open_source","beta","unknown",{"praise":94,"objections":111,"requests":132,"questions":148,"alternatives":163},[95,107],{"value":96,"source":97,"evidence":98},"Useful for playing Jackbox and other games with remote friends","commenter",[99,103],{"id":100,"by":101,"text":102},"25629543","morsch","Awesome! I was looking for something like this when trying to play a local multiplayer game via the Internet in an early lockdown. There are, or were, no good turnkey solutions…",{"id":104,"by":105,"text":106},"25632439","xd1936","This is fantastic! I needed this yesterday evening while trying to bring a remote family member into a Jackbox game, with no account or software needed on their end. Great project!",{"value":108,"source":53,"evidence":109},"Lightweight server, low CPU use",[110],{"id":56,"by":11,"text":57},[112,119,126],{"value":113,"source":97,"evidence":114},"FTL is proprietary and not supported on most Linux distributions",[115],{"id":116,"by":117,"text":118},"25631765","Jnr","Apparently since FTL is a proprietary protocol, it is not supported on most Linux distributions. I wanted to try this, even made a docker config and only then realized I can't…",{"value":120,"source":97,"evidence":121},"Setup is complicated and needs Go and Rust installed",[122],{"id":123,"by":124,"text":125},"25628634","matsemann","Very cool! If you want casual people to use this, I would look into simplifying the setup. Either by providing compiled binaries instead of having to set up go, rust etc oneself.…",{"value":127,"source":53,"evidence":128},"No working demo yet",[129],{"id":130,"by":11,"text":131},"25628478","As of right now there isn’t a demo. I need to determine the most cost effective way to stream 24\u002F7 then I will put one up",[133,137],{"value":134,"source":97,"evidence":135},"Simpler setup via binaries or containers",[136],{"id":123,"by":124,"text":125},{"value":138,"source":97,"evidence":139},"Support SRT or RIST",[140,144],{"id":141,"by":142,"text":143},"25628496","rlyshw","This project is pretty cool, I’ll tinker around with it tomorrow. As an aside, I’ve noticed you’re building out your own stream protocol stack (FTL\u002FLightSpeed). What’s the…",{"id":145,"by":146,"text":147},"25628994","midasuni","SRT is massively complicated hence just the one implementation from one person. It’s based on a defunct file transfer protocol. RIST adds nack based retransmissions to decades…",[149,156],{"value":150,"source":97,"evidence":151},"Why FTL instead of SRT",[152,153],{"id":141,"by":142,"text":143},{"id":154,"by":11,"text":155},"25652733","I went with FTL instead of RTMP for the sake of latency. Also FTL gives me a stream of RTP packets which can go directly into WebRTC meaning I have to do 0 processing of the…",{"value":157,"source":97,"evidence":158},"How it handles packet loss and network issues",[159],{"id":160,"by":161,"text":162},"25628700","samstave","So assuming you have packet loss - you just get a paused\u002Fblank stream until the flow continues? How does it handle any network issues. Would it ever be possible to route two…",[164,171,178,182],{"value":165,"source":97,"evidence":166},"Parsec",[167],{"id":168,"by":169,"text":170},"25629602","ossopite","I've played local multiplayer games over parsec (https:\u002F\u002Fparsec.app\u002F), it works great and is pretty much turnkey",{"value":172,"source":97,"evidence":173},"Discord Go Live",[174],{"id":175,"by":176,"text":177},"25629665","Warchamp7","Have you tried Discords GoLive sharing?",{"value":179,"source":97,"evidence":180},"Jitsi Meet with OBS virtual webcam",[181],{"id":100,"by":101,"text":102},{"value":183,"source":97,"evidence":184},"SRT",[185],{"id":141,"by":142,"text":143},{"comments":187,"answered":188,"key":189},23,10,[190,191,192],{"id":56,"text":57},{"id":59,"text":60},{"id":193,"text":194},"25628707","This wouldn’t actually solve anything since WebRTC can handle packet loss. The loss is going to be coming from OBS -> Server which unfortunately there isn’t much I can do about…",{"commenters":196,"max_depth":197,"maker_replies":187,"first_comment_mins":40,"lifespan_hours":198},70,13,86,[200,202,206,207,208,209,212,214,217,221,223,227,230,231,233,235,238,241,244,246,250,254,257,258,260,263,267,270,271,273,275,277,281,284,286,288,291,293,295,297,299,302,305,307,309,311,314,316,320,323,326,328,330,333,335,338,341,344,347,350,353,356,359,362,366,369,371,374,376,378,380,382,385,387,389,392,394,398,400,403,406,408,410,413,416,418,420,422,424,427,429,431,433,435,437,439,441,444,447,449,452,454,457,460,462,465,466,469,471,473,477,480,484,487,489,492,496,499,502,504,506,508,512,517,518,522,524,526,528,530,534,537,538,542,546,550,552,556],[56,40,40,201,11,34],"maker\u002Fpositive\u002Fidea",[203,40,18,204,205,40],"25628464","project\u002Fneutral\u002Fperformance","12things",[59,40,40,204,11,34],[160,40,18,204,161,40],[193,40,40,204,11,34],[210,40,18,211,161,40],"25628739","project\u002Fneutral\u002Fdocs",[213,40,18,204,146,40],"25629023",[215,40,18,204,216,40],"25628664","imtringued",[218,40,18,219,220,40],"25628465","project\u002Fneutral\u002Fidea","simlevesque",[222,40,40,219,11,34],"25628476",[224,40,43,225,226,40],"25628467","project\u002Fpositive\u002Fidea","ghostie_plz",[228,40,40,229,11,34],"25628484","commenter\u002Fneutral\u002Fnone",[141,40,18,219,142,40],[232,40,40,219,11,34],"25628514",[234,40,40,219,11,34],"25628520",[236,40,40,237,11,34],"25628526","project\u002Fneutral\u002Fexecution",[239,40,43,240,142,40],"25628551","project\u002Fpositive\u002Fnone",[242,40,40,243,11,34],"25628577","maker\u002Fneutral\u002Fnone",[116,40,34,245,117,40],"project\u002Fcritical\u002Fexecution",[247,40,34,248,249,40],"25628643","project\u002Fcritical\u002Fidea","rapsey",[251,40,18,252,253,40],"25628897","project\u002Fmixed\u002Fidea","stormbrew",[255,40,40,229,256,40],"25629742","Sean-Der",[145,40,34,248,146,40],[259,40,40,219,11,34],"25631847",[261,40,18,237,262,40],"25629294","oblio",[264,40,18,265,266,40],"25635307","maker\u002Fneutral\u002Fexecution","codetrotter",[268,40,18,237,269,40],"25636367","rektide",[100,40,43,225,101,40],[168,40,40,272,169,40],"other\u002Fcritical\u002Fidea",[274,40,40,229,101,40],"25629655",[276,40,40,229,176,40],"25629674",[278,40,40,279,280,40],"25633679","other\u002Fneutral\u002Fperformance","chrisweekly",[282,40,40,279,283,40],"25635947","entropicdrifter",[285,40,40,229,280,40],"25649292",[175,40,40,287,176,40],"other\u002Fneutral\u002Fidea",[289,40,43,225,290,40],"25630852","naikrovek",[292,40,40,243,11,34],"25631935",[294,40,18,204,249,40],"25629712",[296,40,18,204,101,40],"25629799",[298,40,34,248,249,40],"25629820",[300,40,40,229,301,40],"25630090","ahofmann",[303,40,40,229,304,40],"25630173","hnlmorg",[306,40,40,229,101,40],"25630495",[308,40,40,229,304,40],"25630758",[310,40,40,229,101,40],"25631772",[312,40,40,229,313,40],"25633407","laumars",[315,40,40,229,249,40],"25630262",[317,40,40,318,319,40],"25631585","other\u002Fneutral\u002Fnone","TameAntelope",[321,40,40,318,322,40],"25631659","dwild",[324,40,40,229,325,40],"25629844","krageon",[327,40,40,229,249,40],"25629917",[329,40,40,229,325,40],"25630106",[331,40,18,204,332,40],"25630122","saurik",[334,40,18,204,290,40],"25630819",[336,40,40,229,337,40],"25634270","slightwinder",[339,40,43,340,290,40],"25636932","project\u002Fpositive\u002Fperformance",[342,40,18,204,343,40],"25636584","pault",[345,40,40,279,346,40],"25630632","adrianN",[348,40,40,279,349,40],"25630720","Xeago",[351,40,40,279,352,40],"25631727","gmemstr",[354,40,40,229,355,40],"25634594","craftkiller",[357,40,40,229,358,40],"25635131","nemetroid",[360,40,40,229,361,40],"25637289","ReaganFJones",[363,40,18,364,365,40],"25629798","project\u002Fneutral\u002Fprivacy","justaj",[367,40,18,204,368,40],"25629945","Lucasoato",[370,40,18,204,365,40],"25630472",[372,40,34,248,373,40],"25631555","dodgepong",[375,40,40,243,11,34],"25631792",[377,40,18,219,373,40],"25632702",[379,40,40,243,11,34],"25633873",[381,40,18,219,373,40],"25634199",[383,40,18,219,384,40],"25632376","captn3m0",[386,40,18,237,105,40],"25632728",[388,40,40,318,290,40],"25637266",[390,40,43,391,269,40],"25636240","project\u002Fpositive\u002Fdesign",[154,40,40,393,11,34],"maker\u002Fneutral\u002Fdesign",[395,34,18,396,397,40],"25629767","maker\u002Fneutral\u002Fidea","j1elo",[399,34,40,396,11,34],"25630165",[401,34,40,402,290,40],"25630782","commenter\u002Fneutral\u002Fidea",[404,34,40,229,405,40],"25630901","Brian_K_White",[407,34,40,229,397,40],"25631073",[409,34,40,243,11,34],"25631809",[411,34,40,229,412,40],"25632168","busterarm",[414,34,40,229,415,40],"25632501","falcolas",[417,34,40,229,412,40],"25632838",[419,34,40,229,415,40],"25632974",[421,34,40,229,412,40],"25633271",[423,34,40,229,415,40],"25633306",[425,34,40,229,426,40],"25635489","gary-kim",[428,34,40,229,397,40],"25633064",[430,34,40,229,412,40],"25633330",[432,34,40,229,415,40],"25633377",[434,34,40,229,412,40],"25633482",[436,34,40,229,397,40],"25633708",[438,34,40,229,412,40],"25633794",[440,34,40,229,397,40],"25632873",[442,34,40,229,443,40],"25631089","TheChaplain",[445,34,40,229,446,40],"25631561","CarVac",[448,34,40,229,397,40],"25632963",[450,34,40,229,451,40],"25632274","lucideer",[453,34,40,229,397,40],"25630986",[455,39,18,204,456,40],"25633863","lawl",[458,39,40,229,459,40],"25635453","thedmstdmstdmst",[461,39,40,229,456,40],"25638825",[463,39,40,464,459,40],"25673843","commenter\u002Fpositive\u002Fnone",[123,18,18,211,124,40],[467,18,18,237,468,40],"25628663","reactspa",[470,18,40,265,11,34],"25628680",[472,18,40,265,11,34],"25628692",[474,18,43,475,476,40],"25628940","project\u002Fpositive\u002Fexecution","prox",[478,44,40,318,479,40],"25628485","Tepix",[481,44,40,482,483,40],"25636106","other\u002Fcritical\u002Fnone","campbellmorgan",[485,43,18,219,486,40],"25628516","orliesaurus",[488,43,40,396,11,34],"25628538",[490,43,18,219,491,40],"25629329","gzer0",[493,494,43,340,495,40],"25634071",6,"jedberg",[497,35,18,219,498,40],"25628888","te_chris",[500,35,40,318,501,40],"25629599","corobo",[503,35,40,229,290,40],"25630909",[505,35,40,318,498,40],"25639844",[507,35,40,229,501,40],"25651946",[509,35,18,510,511,40],"25639936","project\u002Fneutral\u002Fdesign","woodrowbarlow",[513,514,34,515,516,40],"25628470",8,"project\u002Fcritical\u002Fdocs","fireattack",[130,514,40,243,11,34],[519,514,18,520,521,40],"25628515","maker\u002Fneutral\u002Fdocs","29athrowaway",[523,514,40,243,11,34],"25628542",[525,514,18,237,161,40],"25628728",[527,514,40,229,313,40],"25628956",[529,514,43,475,511,40],"25639817",[531,532,43,225,533,40],"25631356",9,"cfjgvjh",[535,532,40,536,11,34],"25631822","project\u002Fneutral\u002Fpricing",[104,188,43,225,105,40],[539,32,18,540,541,40],"25630112","project\u002Fneutral\u002Fnone","xmodem",[543,544,40,318,545,40],"25629408",12,"867-5309",[547,197,34,548,549,40],"25630187","maker\u002Fcritical\u002Fdocs","xeyownt",[551,197,40,243,11,34],"25631813",[553,554,18,265,555,40],"25635102",14,"polishdude20",[557,558,18,219,559,40],"25630523",15,"2Gkashmiri",[],[562,567,572,576,581,585],{"id":563,"name":564,"points":565,"category":566},"25634192","read.cv",938,"productivity",{"id":568,"name":569,"points":570,"category":571},"25614167","iceland-thermal",753,"creative",{"id":573,"name":574,"points":575,"category":566},"25644828","Unclack",279,{"id":577,"name":578,"points":579,"category":580},"25657198","Reslash",266,"consumer_social",{"id":582,"name":583,"points":584,"category":566},"25622095","OpenScan",200,{"id":586,"name":587,"points":588,"category":571},"25641420","Handel",187,false,"v2",{"id":592,"name":5,"line":6,"ai":589,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":593,"top":18,"kw":594,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":595,"url":9,"mix":596,"praise":96,"objection":113,"sub":21},25627673,0.07,[24,25,26,27,28],"3335511350520003503235300000033534013552",[32,33,34,35],1794036600311]