[{"data":1,"prerenderedAt":365},["ShallowReactive",2],{"project-9839712":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":34,"aspects":35,"strip":45,"post_text":46,"what":47,"said":71,"maker_in_thread":150,"shape":162,"grid":167,"attempts":327,"same_week":328,"maker_shows":41,"maker_hidden":357,"reader_version":358,"card":359},"9839712","YouTube Filesystem","YTFS","title","Show HN: YouTube Filesystem – YTFS","https:\u002F\u002Fgithub.com\u002Frasguanabana\u002Fytfs","github.com","rasguanabana",1436196064,2015,185,61,97,2565,4,"notable","dev_tools","filesystem","cli",[24,25,26,27],"fuse filesystem","youtube","youtube-dl","mount","curious",0.083,{"positive":31,"neutral":32,"mixed":33,"critical":18},5,18,2,29,{"idea":36,"execution":39,"design":40,"performance":42,"docs":43,"privacy":44},{"positive":37,"critical":38},3,0,{"positive":38,"critical":33},{"positive":41,"critical":38},1,{"positive":38,"critical":33},{"positive":38,"critical":38},{"positive":38,"critical":38},[31,41,38,37,37,38,38,38,38,38,38,41,37,41,38,38,38,37,37,37,31,37,37,38,41,37,38,38,37,38,38,31,31,38,37,38,31,37,37,38],null,{"problem":46,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":48,"openness":68,"stage":69,"team_size":70},[49,57,65],{"value":50,"source":51,"evidence":52},"Python","inferred",[53],{"id":54,"by":55,"text":56},"9841506","anukulrm","This is great! Also, check out this easter egg which makes every video rick roll haha: https:\u002F\u002Fgithub.com\u002Frasguanabana\u002Fytfs\u002Fblob\u002Fmaster\u002Fstor.py#L126",{"value":58,"source":59,"evidence":60},"FUSE","commenter",[61],{"id":62,"by":63,"text":64},"9840047","JoshTriplett","Interesting! Looks like this is youtube-dl combined with FUSE, so that you can use a normal video player to play and filesystem tools to browse, rather than downloading first.…",{"value":26,"source":59,"evidence":66},[67],{"id":62,"by":63,"text":64},"open_source","beta","unknown",{"praise":72,"objections":88,"requests":112,"questions":131,"alternatives":139},[73],{"value":74,"source":59,"evidence":75},"Clever idea that uses a familiar filesystem UI",[76,80,84],{"id":77,"by":78,"text":79},"9841004","0xdeadbeefbabe","The file system is a great UI that doesn't pretend to be a great UI. Thanks!",{"id":81,"by":82,"text":83},"9840392","zeeed","kudos, that's an excellent idea, combining out-of-the box thinking, data structuring, creating value all using basic tools. A tip to the hat. Nice work!",{"id":85,"by":86,"text":87},"9840058","andrewstuart2","Haha, from the title I expected this to be a solution for generating MP4s from arbitrary data that you could then upload to YouTube for backup. This is definitely really cool,…",[89,95,105],{"value":90,"source":59,"evidence":91},"Wasteful and abuses a free service",[92],{"id":93,"by":63,"text":94},"9840085","That's a fascinating idea. Unlike gmail, there isn't an upper bound on how much you can store on YouTube. If you could encode data in a way that's resilient against re-encoding,…",{"value":96,"source":59,"evidence":97},"Read-only and no streaming; whole video downloads first",[98,102],{"id":99,"by":100,"text":101},"9840288","kalmi10","It seems not to support streaming. It has to download the whole video before playing can begin.",{"id":103,"by":11,"text":104},"9840126","It's read-only - you can play\u002Fcopy youtube movies as a file",{"value":106,"source":59,"evidence":107},"Missing installation instructions",[108],{"id":109,"by":110,"text":111},"9840801","fiatjaf","Are there any installations instructions? This seems to depend on a lot of libraries that are not specified anywhere.",[113,124],{"value":114,"source":59,"evidence":115},"Mount options or subdirectories for video quality",[116,120],{"id":117,"by":118,"text":119},"9840415","fragmede","Neat! Any plans to make the different video qualities quickly available? Maybe as a subdir named with the resolution, eg search\u002Fmovie\u002F480p.mp4 or maybe movie.1080p.mp4?",{"id":121,"by":122,"text":123},"9840508","omribahumi","How about doing it with mount options, so someone would mount \u002Fmnt\u002Fyoutube\u002Fhires \u002Fmnt\u002Fyoutube\u002Flowres with different options?",{"value":125,"source":59,"evidence":126},"Search results as paged directories",[127],{"id":128,"by":129,"text":130},"9841886","rian","Might I recommend not using the prev\u002Fnext executables and instead adding another directory level to indicate search page, e.g. ytfs\u002Fsearch\u002F1\u002Fvideo.mp4 would make it easy to…",[132],{"value":133,"source":59,"evidence":134},"Does it use a persistent cookie for personalization?",[135],{"id":136,"by":137,"text":138},"9841616","walterbell","Does this use a persistent cookie which YouTube can use to personalize search results?",[140,143],{"value":26,"source":59,"evidence":141},[142],{"id":62,"by":63,"text":64},{"value":144,"source":59,"evidence":145},"livestreamer",[146],{"id":147,"by":148,"text":149},"9840818","83a","yes. you can force the streamable mpg4 download with the -f option (-f22), but it seems not all videos are encoded that way. livestreamer might be the tool of choice if you don't…",{"comments":151,"answered":18,"key":152},8,[153,156,159],{"id":154,"text":155},"9841389","Maybe using Fourier\u002Fwavelet\u002Fwhatsoever transform would be the way to go, just like in digital watermarking techniques. Both high capacity and robustness would seem easier to…",{"id":157,"text":158},"9840209","If there was a way to do massive changes in existing videos it would be feasible to use them as storage - that would be a definitely interesting approach. Anyway, advanced data…",{"id":160,"text":161},"9840485","Oh, I don't want to clutter it too much, it's better to keep it simple. It definitely needs a mount option to set the default quality. Changing it later might be tricky, maybe…",{"commenters":163,"max_depth":164,"maker_replies":151,"first_comment_mins":165,"lifespan_hours":166},43,7,40,268,[168,170,172,175,179,182,186,190,193,194,198,201,204,207,209,211,214,217,221,224,226,229,232,234,236,237,240,244,247,251,254,255,257,258,260,261,264,265,268,271,274,276,279,280,282,286,289,292,294,295,297,299,302,305,308,311,314,316,320,322,323],[85,38,31,169,86,38],"project\u002Fpositive\u002Fidea",[93,38,37,171,63,38],"project\u002Fmixed\u002Fidea",[173,38,41,174,86,38],"9840109","project\u002Fcritical\u002Fexecution",[176,38,38,177,178,38],"9840384","commenter\u002Fneutral\u002Fnone","thisjepisje",[180,38,38,177,181,38],"9840598","antsar",[183,38,37,184,185,38],"9840838","project\u002Fneutral\u002Fdesign","ionforce",[187,38,37,188,189,38],"9840893","project\u002Fneutral\u002Fidea","boomzilla",[191,38,38,177,192,38],"9843426","pyre",[154,38,38,188,11,41],[195,38,38,196,197,38],"9840937","other\u002Fneutral\u002Fnone","Joona",[199,38,38,196,200,38],"9842721","Houshalter",[202,38,38,196,203,38],"9842796","madez",[205,38,38,196,206,38],"9842923","a1369209993",[208,38,38,196,203,38],"9843055",[210,38,38,196,197,38],"9842963",[212,38,38,196,213,38],"9843955","audiodude",[215,38,37,188,216,38],"9841218","bch",[218,38,41,219,220,38],"9842822","project\u002Fcritical\u002Fperformance","NeutronBoy",[222,38,37,188,223,38],"9843196","amino",[225,38,38,196,216,38],"9843628",[227,38,41,174,228,38],"9841354","mkagenius",[230,38,38,177,231,38],"9842045","MichaelGG",[233,38,38,177,228,38],"9842522",[235,38,38,177,231,38],"9842619",[157,38,38,188,11,41],[238,38,37,188,239,38],"9843173","hamidnazari",[241,38,37,242,243,38],"9845941","project\u002Fmixed\u002Fperformance","Vexs",[245,38,37,188,246,38],"9840555","OmgImAlexis",[248,38,37,249,250,38],"9841144","project\u002Fneutral\u002Fnone","amelius",[252,38,38,177,253,38],"9841490","joeskyyy",[62,41,37,184,63,38],[54,33,31,256,55,38],"project\u002Fpositive\u002Fnone",[117,37,37,184,118,38],[160,37,38,259,11,41],"maker\u002Fneutral\u002Fdesign",[121,37,37,259,122,38],[262,37,38,263,11,41],"9841398","maker\u002Fneutral\u002Fnone",[99,18,41,219,100,38],[266,18,38,267,11,41],"9840350","maker\u002Fneutral\u002Fperformance",[269,18,37,267,270,38],"9840713","agumonkey",[272,18,38,177,273,38],"9840772","CyberShadow",[275,18,38,177,270,38],"9840828",[277,18,38,177,278,38],"9843089","daxelrod",[147,18,38,177,148,38],[109,31,37,281,110,38],"project\u002Fneutral\u002Fdocs",[283,284,38,196,285,38],"9841300",6,"dfrey",[287,284,38,196,288,38],"9841426","TimJRobinson",[290,284,38,196,291,38],"9841763","tomswartz07",[77,164,31,293,78,38],"project\u002Fpositive\u002Fdesign",[81,151,31,169,82,38],[128,296,37,184,129,38],9,[298,296,38,259,11,41],"9841988",[300,296,37,184,301,38],"9842230","mappu",[136,303,37,304,137,38],10,"project\u002Fneutral\u002Fprivacy",[306,303,38,307,11,41],"9841643","maker\u002Fneutral\u002Fprivacy",[309,310,31,169,270,38],"9840773",11,[312,310,38,196,313,38],"9843321","nitrogen",[315,310,37,188,270,38],"9843352",[317,318,37,188,319,38],"9840073",12,"aikah",[321,318,37,249,86,38],"9840123",[103,318,38,249,11,41],[324,318,38,325,326,38],"9904594","commenter\u002Fneutral\u002Fidea","njharman",[],[329,334,339,344,348,352],{"id":330,"name":331,"points":332,"category":333},"9838955","“Who is hiring",546,"productivity",{"id":335,"name":336,"points":337,"category":338},"9828962","Trigrad",175,"languages",{"id":340,"name":341,"points":342,"category":343},"9830531","Silicon Valley Dictionary",158,"learning_science",{"id":345,"name":346,"points":347,"category":338},"9845763","node-rdpjs",140,{"id":349,"name":350,"points":351,"category":20},"9843268","ttystudio",118,{"id":353,"name":354,"points":355,"category":356},"9820521","Ironclad",105,"web_saas",false,"v2",{"id":360,"name":5,"line":6,"ai":357,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":361,"top":18,"kw":362,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":363,"url":9,"mix":364,"praise":74,"objection":90,"sub":21},9839712,0.08,[24,25,26,27],"5103300000013100033353301300300550305330",[31,32,33,18],1793990927271]