[{"data":1,"prerenderedAt":496},["ShallowReactive",2],{"project-25328622":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":78,"maker_in_thread":206,"shape":208,"grid":213,"attempts":459,"same_week":460,"maker_shows":43,"maker_hidden":489,"reader_version":490,"card":491},"25328622","Boltstream","Self-hosted full end-to-end live video streaming platform","title","Show HN: Boltstream – Self-hosted full end-to-end live video streaming platform","https:\u002F\u002Fgithub.com\u002Fbenwilber\u002Fboltstream","github.com","benwilber0",1607305983,2020,510,93,48,3028,2,"legend","infrastructure","self-hosted live streaming","web_app",[24,25,26,27],"live streaming","self-hosted","rtmp","hls","curious",0.2,{"positive":31,"neutral":32,"mixed":33,"critical":34},9,14,1,4,28,{"performance":37,"design":39,"pricing":40,"execution":41,"idea":42},{"positive":38,"critical":18},0,{"positive":18,"critical":38},{"positive":38,"critical":38},{"positive":38,"critical":33},{"positive":43,"critical":38},3,[43,43,38,38,38,38,38,38,38,38,38,43,38,38,43,45,45,33,43,38,38,38,38,45,38,38,38,38,38,45,38,38,43,33,43,33,45,45,43,43],5,null,{"problem":46,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":48,"openness":76,"stage":77,"team_size":77},[49,61,65,69],{"value":50,"source":51,"evidence":52},"nginx (RTMP and HLS)","commenter",[53,57],{"id":54,"by":55,"text":56},"25329513","spenczar5","Cool! Some thoughts from a former Twitch engineer: - Probably the hardest part of running these things is managing outbound bandwidth costs. You'll need to either limit inbound…",{"id":58,"by":59,"text":60},"25328946","VWWHFSfQ","This is really great. I've seen so many of these \"self-hosted live video streaming\" sites show up here and this is the first one that show the actual backend code. Usually…",{"value":62,"source":51,"evidence":63},"Django",[64],{"id":58,"by":59,"text":60},{"value":66,"source":51,"evidence":67},"Ansible",[68],{"id":58,"by":59,"text":60},{"value":70,"source":51,"evidence":71},"Python backend",[72],{"id":73,"by":74,"text":75},"25329478","sim_card_map","Strange to see a python backend for such a performance critical application.","open_source","unknown",{"praise":79,"objections":95,"requests":124,"questions":149,"alternatives":176},[80,84],{"value":81,"source":51,"evidence":82},"Shows actual backend code, unlike typical self-hosted streaming sites",[83],{"id":58,"by":59,"text":60},{"value":85,"source":51,"evidence":86},"Timely alternative to centralized streaming platforms",[87,91],{"id":88,"by":89,"text":90},"25329146","HHC-Hunter","This is really needed right now, thank you for making this! More self hosted solutions people! Less centralized things.",{"id":92,"by":93,"text":94},"25329209","killingtime74","Really great project to decentralise video",[96,100,104,112,120],{"value":97,"source":51,"evidence":98},"Bandwidth costs could be high without bitrate limits or transcoding",[99],{"id":54,"by":55,"text":56},{"value":101,"source":51,"evidence":102},"Ingest and playback on one nginx host limits scaling",[103],{"id":54,"by":55,"text":56},{"value":105,"source":51,"evidence":106},"RTMP is outdated and insecure",[107,108],{"id":54,"by":55,"text":56},{"id":109,"by":110,"text":111},"25330193","tleb_","> RTMP is very old as a protocol. Would you consider that this is, by itself, a reason not to use it?",{"value":113,"source":51,"evidence":114},"Setup looks easy to DDoS and lacks admin\u002Fmoderation tools",[115,116],{"id":54,"by":55,"text":56},{"id":117,"by":118,"text":119},"25333441","OpuRahman","You'll almost certainly need admin and moderation tools soon. Expect lots of pirate streams, as well as some horrific content. You can't run a live streaming platform without…",{"value":121,"source":51,"evidence":122},"Python backend is odd for performance-critical streaming",[123],{"id":73,"by":74,"text":75},[125,137,142],{"value":126,"source":51,"evidence":127},"Support a modern ingest protocol beyond RTMP such as SRT or RIST",[128,129,133],{"id":54,"by":55,"text":56},{"id":130,"by":131,"text":132},"25329628","toomuchtodo","> Please don't keep using RTMP. ... You might consider accepting an alternative modern protocol. What would you recommend as an alternative modern protocol to RTMP for shipping…",{"id":134,"by":135,"text":136},"25331473","gizah","(disclaimer: I'm participating in the libRIST development) RIST! It's a well thought out protocol without technical debt (which SRT has), supports multicast (if you need it),…",{"value":138,"source":51,"evidence":139},"Add admin and moderation tools",[140,141],{"id":117,"by":118,"text":119},{"id":54,"by":55,"text":56},{"value":143,"source":51,"evidence":144},"Support for multi-platform simultaneous broadcasting",[145],{"id":146,"by":147,"text":148},"25330951","echelon","I have some questions for people in this field. Is there a good way to broadcast to Twitch, YouTube, and Reddit simultaneously? Is it a bad idea to target multiple communities?…",[150,154,158,162,169],{"value":151,"source":51,"evidence":152},"How widely deployed is the nginx rtmp\u002Fvod stack in the industry",[153],{"id":58,"by":59,"text":60},{"value":155,"source":51,"evidence":156},"How is pay-per-view enforced with plain HLS playback",[157],{"id":58,"by":59,"text":60},{"value":159,"source":51,"evidence":160},"How is long-term storage of recorded streams handled",[161],{"id":58,"by":59,"text":60},{"value":163,"source":51,"evidence":164},"Has load testing or scalability been measured",[165],{"id":166,"by":167,"text":168},"25328940","artfulhippo","Have you performed any load testing or measured performance and scalability?",{"value":170,"source":51,"evidence":171},"Why HLS instead of DASH with MSE",[172],{"id":173,"by":174,"text":175},"25330261","shmerl","> Playback via standard HLS Why HLS instead of DASH + MSE? Isn't HLS Apple only?",[177,188,192,199],{"value":178,"source":51,"evidence":179},"Twitch",[180,184],{"id":181,"by":182,"text":183},"25329111","keyle","It's a chicken and egg problem where there is not much point in building your own whizbang streaming platform and have no one come to it. Twitch is getting increasingly…",{"id":185,"by":186,"text":187},"25329356","eli_front","How secure do you think Twitch (Amazon), Facebook Gaming (Facebook), and Youtube Live (Google) are at the top of the streaming world? We’ve recently seen Mixer (Microsoft) fall,…",{"value":189,"source":51,"evidence":190},"YouTube Live and Facebook Gaming",[191],{"id":185,"by":186,"text":187},{"value":193,"source":51,"evidence":194},"PeerTube live streaming",[195],{"id":196,"by":197,"text":198},"25329258","2Gkashmiri","Peertube is getting live streaming capability.... actually you can check it right now on https:\u002F\u002Flive.canard.tube\u002Fvideos\u002Fwatch\u002F5e7b916e-c5b5-4996-a970-cf106967fe32 The p2p part…",{"value":200,"source":51,"evidence":201},"AWS IVS",[202],{"id":203,"by":204,"text":205},"25330163","nowahe","Having worked with AWS IVS, which is using the same infrastructure design as Twitch (or the other way around), it only accepts RTMP (well RTMPS to be fair) as an input. To me it…",{"comments":38,"answered":38,"key":207},[],{"commenters":209,"max_depth":210,"maker_replies":38,"first_comment_mins":211,"lifespan_hours":212},64,6,68,40,[214,216,218,221,223,227,229,232,234,236,239,242,244,247,250,252,253,256,258,260,264,266,270,272,275,278,280,284,287,289,292,295,299,302,306,310,313,315,317,320,324,328,331,333,334,337,340,343,346,348,350,352,355,357,361,362,365,367,370,372,373,376,379,381,383,385,388,391,395,397,400,403,406,408,411,413,416,421,424,426,430,434,436,439,443,445,449,451,454,456],[54,38,43,215,55,38],"project\u002Fmixed\u002Fperformance",[130,38,43,217,131,38],"project\u002Fneutral\u002Fdesign",[219,38,43,217,220,38],"25329667","grogenaut",[109,38,38,222,110,38],"commenter\u002Fneutral\u002Fnone",[224,38,38,225,226,38],"25335195","commenter\u002Fneutral\u002Fdesign","iso1631",[228,38,38,225,55,38],"25329697",[230,38,38,222,231,38],"25329850","Sean-Der",[233,38,38,222,55,38],"25329939",[235,38,38,222,231,38],"25330115",[237,38,38,222,238,38],"25330152","eropple",[240,38,38,222,241,38],"25330759","DominikD",[243,38,38,222,238,38],"25347296",[245,38,38,246,238,38],"25348422","other\u002Fneutral\u002Fnone",[248,38,38,225,249,38],"25334596","cstejerean",[251,38,38,222,226,38],"25335041",[134,38,38,225,135,38],[254,38,38,222,255,38],"25338242","stormbrew",[257,38,38,246,226,38],"25334925",[203,38,38,259,204,38],"other\u002Fpositive\u002Fnone",[261,38,38,262,263,38],"25330329","other\u002Fneutral\u002Fperformance","jiofih",[265,38,38,262,204,38],"25330429",[267,38,38,268,269,38],"25330668","commenter\u002Fneutral\u002Fperformance","colde",[271,38,38,262,226,38],"25334900",[273,38,38,246,274,38],"25331325","captn3m0",[276,38,43,217,277,38],"25332485","Torkel",[279,38,38,246,226,38],"25335320",[281,38,38,282,283,38],"25330587","other\u002Fneutral\u002Fpricing","sneak",[285,38,38,222,286,38],"25330769","dewey",[288,38,38,222,283,38],"25330830",[290,38,38,246,291,38],"25330985","nielsole",[293,38,38,282,294,38],"25332185","chaz6",[296,38,43,297,298,38],"25330911","project\u002Fneutral\u002Fperformance","supermatt",[300,38,38,246,301,38],"25330928","ChrisMarshallNY",[303,38,45,304,305,38],"25331108","maker\u002Fpositive\u002Fnone","zweizeichen",[307,38,43,308,309,38],"25332263","project\u002Fneutral\u002Fpricing","andrenotgiant",[311,38,38,312,255,38],"25334494","other\u002Fmixed\u002Fnone",[58,33,45,314,59,38],"project\u002Fpositive\u002Fdesign",[316,33,43,217,55,38],"25329551",[318,33,38,246,319,38],"25330130","ta123523567",[321,33,33,322,323,38],"25331011","project\u002Fcritical\u002Fexecution","ddorian43",[325,33,43,326,327,38],"25332024","project\u002Fneutral\u002Fexecution","jawngee",[329,33,38,222,330,38],"25332245","bronco21016",[332,33,38,222,55,38],"25332247",[181,18,38,246,182,38],[335,18,38,282,336,38],"25329261","reificator",[338,18,38,282,339,38],"25329280","codetrotter",[341,18,38,282,342,38],"25329458","minot",[344,18,38,282,345,38],"25330615","bryanrasmussen",[347,18,38,282,55,38],"25329562",[349,18,38,282,336,38],"25337404",[351,18,38,282,182,38],"25329842",[353,18,38,246,354,38],"25329879","moneywoes",[356,18,38,246,182,38],"25330011",[358,43,45,359,360,38],"25329040","project\u002Fpositive\u002Fidea","dayjah",[196,34,38,246,197,38],[363,34,38,246,364,38],"25329339","InitEnabler",[366,34,38,246,197,38],"25329430",[368,34,38,222,369,38],"25329847","m3adow",[371,34,38,246,197,38],"25330139",[185,45,38,246,186,38],[374,45,38,246,375,38],"25329451","lovehashbrowns",[377,45,38,222,378,38],"25329704","holler",[380,45,38,222,375,38],"25330091",[382,45,38,222,378,38],"25333651",[384,45,38,222,375,38],"25334310",[386,45,38,246,387,38],"25330772","skocznymroczny",[389,210,45,314,390,38],"25330221","simplecto",[392,393,38,246,394,38],"25331367",7,"TrevizeGP",[146,396,38,246,147,38],8,[398,396,38,246,399,38],"25331217","corobo",[401,396,38,246,402,38],"25331263","Wouter33",[404,396,38,282,405,38],"25335577","reggieband",[166,31,43,407,167,38],"maker\u002Fneutral\u002Fperformance",[409,31,43,297,410,38],"25329319","gruez",[412,31,43,297,399,38],"25332371",[117,414,33,415,118,38],10,"project\u002Fcritical\u002Fnone",[417,418,43,419,420,38],"25329374",11,"project\u002Fneutral\u002Fnone","michaelmarkell",[422,418,38,246,423,38],"25329377","contrahax",[425,418,38,222,420,38],"25329416",[427,418,33,428,429,38],"25329442","project\u002Fcritical\u002Fperformance","bobthebuilders",[431,432,38,246,433,38],"25334646",12,"jaequery",[88,435,45,359,89,38],13,[437,32,45,304,438,38],"25331266","7357",[440,441,45,442,93,38],"25329204",15,"project\u002Fpositive\u002Fnone",[92,444,45,359,93,38],16,[446,447,45,442,448,38],"25329391",17,"Ceezy",[73,450,33,428,74,38],18,[452,450,43,297,453,38],"25329556","jyap",[173,455,43,419,174,38],19,[457,455,43,419,458,38],"25333617","oplav",[],[461,466,471,476,481,484],{"id":462,"name":463,"points":464,"category":465},"25352385","Web Data Render (WDR)",604,"languages",{"id":467,"name":468,"points":469,"category":470},"25361224","Hystoria",375,"productivity",{"id":472,"name":473,"points":474,"category":475},"25365397","Recipe Search",349,"consumer_social",{"id":477,"name":478,"points":479,"category":480},"25355580","Slices",219,"games",{"id":482,"name":483,"points":479,"category":470},"25358108","Typefully",{"id":485,"name":486,"points":487,"category":488},"25356156","RecipeNLG",189,"learning_science",false,"v2",{"id":492,"name":5,"line":6,"ai":489,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":493,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":494,"url":9,"mix":495,"praise":81,"objection":97,"sub":21},25328622,[24,25,26,27],"3300000000030035513000050000050031315533",[31,32,33,34],1793991019838]