[{"data":1,"prerenderedAt":792},["ShallowReactive",2],{"project-46400251":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":46,"post_text":50,"what":51,"said":78,"maker_in_thread":209,"shape":211,"grid":216,"attempts":755,"same_week":756,"maker_shows":33,"maker_hidden":784,"reader_version":785,"card":786},"46400251","Ez FFmpeg","Video editing in plain English","title","Show HN: Ez FFmpeg – Video editing in plain English","http:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fezff","npmjs.com","josharsh",1766825146,2025,420,198,106,3837,3,"legend","dev_tools","ffmpeg wrapper cli","cli",[24,25,26,27],"ffmpeg","video conversion","command line","gif converter","mixed",-0.163,{"positive":31,"neutral":32,"mixed":33,"critical":34},12,20,1,28,61,{"idea":37,"execution":40,"docs":43,"design":44,"privacy":45},{"positive":38,"critical":39},11,14,{"positive":41,"critical":42},0,7,{"positive":41,"critical":18},{"positive":41,"critical":18},{"positive":41,"critical":33},[33,41,33,33,18,18,47,18,47,48,33,33,41,47,47,41,41,33,41,18,33,33,41,41,33,33,33,48,41,33,33,33,18,33,18,41,47,47,49,33],5,2,4,"I built a CLI tool that lets you do common video\u002Faudio operations without remembering ffmpeg syntax.\n\nInstead of:\nffmpeg -i video.mp4 -vf \"fps=15,scale=480:-1:flags=lanczos\" -loop 0 output.gif\n\nYou write:\n  ff convert video.mp4 to gif\n\nMore examples:\n  ff compress video.mp4 to 10mb\n  ff trim video.mp4 from 0:30 to 1:00\n  ff extract audio from video.mp4\n  ff resize video.mp4 to 720p\n  ff speed up video.mp4 by 2x\n  ff reverse video.mp4\n\nThere are similar tools that use LLMs (wtffmpeg, llmpeg, ai-ffmpeg-cli), but they require API keys, cost money, and have latency.\n\nEz FFmpeg is different:\n  - No",{"problem":52,"audience":58,"pricing":58,"motivation":59,"time_to_build":58,"stack":63,"openness":76,"stage":77,"team_size":76},{"value":53,"source":54,"evidence":55},"Remembering ffmpeg syntax for common video and audio operations","maker",[56],{"id":57},"post",null,{"value":60,"source":54,"evidence":61},"Avoid memorizing ffmpeg syntax; no LLM API costs or latency",[62],{"id":57},[64],{"value":65,"source":66,"evidence":67},"Node.js (npm package)","inferred",[68,72],{"id":69,"by":70,"text":71},"46400975","broken-kebab","I like the idea, but a CLI utility dependent on Node.js is not a good idea frankly.",{"id":73,"by":74,"text":75},"46406582","nextstep","This is very nice. When I use ffmpeg recently I usually ask an LLM first but it often takes a few tries to get the exact incantation right. On a side note (I’m not a web…","unknown","launched",{"praise":79,"objections":103,"requests":146,"questions":166,"alternatives":182},[80,92],{"value":81,"source":82,"evidence":83},"Useful for people who repeatedly look up ffmpeg syntax","commenter",[84,88],{"id":85,"by":86,"text":87},"46401719","alexellisuk","This looks handy.. along with the odd gist of \"convert mkv to mp4\" that I have to use every other week. Quite telling that these tools need to exist to make ffmpeg actually…",{"id":89,"by":90,"text":91},"46400658","bdbdbdb","Sometimes an idea comes along thats so obvious it makes me angry. I have been struggling with ffmpeg commands for over well a decade. All the time I wasted googling and creating…",{"value":93,"source":82,"evidence":94},"Non-LLM approach appeals to some users",[95,99],{"id":96,"by":97,"text":98},"46400754","pdyc","interesting approach, i solved similar problem by creating visual tool to generate ffmpeg commands but its not the same(it cant do conversion etc.) I like that you took no AI…",{"id":100,"by":101,"text":102},"46408431","anymouse123456","This is extremely sexy and represents a great trade off where the ergonomics can be improved without sacrificing the incredible investments in a high performance library.",[104,115,120,135],{"value":105,"source":82,"evidence":106},"Hides ffmpeg complexity, so default re-encoding loses quality where a remux would do",[107,111],{"id":108,"by":109,"text":110},"46401788","qbow883","Days since last ffmpeg CLI wrapper: 0 It's incredible what lengths people go to to avoid memorizing basic ffmpeg usage. It's really not that hard, and the (F.) manual explains…",{"id":112,"by":113,"text":114},"46401910","hnarn","> Some people just want to use a tool to do a job swiftly. Not everything has to be educational. > some folks want to use lossless cut In that case I would encourage you to…",{"value":116,"source":82,"evidence":117},"Node.js dependency is a poor fit for a CLI tool",[118,119],{"id":69,"by":70,"text":71},{"id":73,"by":74,"text":75},{"value":121,"source":82,"evidence":122},"GitHub repo link is broken",[123,127,131],{"id":124,"by":125,"text":126},"46400636","vithalreddy","Can't access the githup repo https:\u002F\u002Fgithub.com\u002Fjosharsh\u002Fezff",{"id":128,"by":129,"text":130},"46400515","Kwpolska","GitHub repo link returns 404.",{"id":132,"by":133,"text":134},"46407374","amcsi","Where's the public Git repository for this project? The GitHub link on the NPM page seems broken to me.",{"value":136,"source":82,"evidence":137},"Ambiguous phrasing such as 'trim from' and 'slow down by 2x'",[138,142],{"id":139,"by":140,"text":141},"46405639","naikrovek","Small English nitpick: > ff slow down video.mp4 by 2x How do you slow something down by 2x? x is a multiplier. 2 is a number greater than 1. Multiplying by a number greater than…",{"id":143,"by":144,"text":145},"46410982","imglorp","Sometimes English is not swell as a specification format. > ff trim video.mp4 from 0:30 to 1:00 Does this mean I keep the indicated section or does it mean I throw it away? And…",[147,152,159],{"value":148,"source":82,"evidence":149},"Public working repository link",[150,151],{"id":124,"by":125,"text":126},{"id":132,"by":133,"text":134},{"value":153,"source":82,"evidence":154},"Tab completion",[155],{"id":156,"by":157,"text":158},"46400398","mmahemoff","Very cool idea since ffmpeg is one of those tools that has a few common tasks but most users would need to look up the syntax every time to implement them (or make an alias). In…",{"value":160,"source":82,"evidence":161},"Standalone binary without Node.js",[162],{"id":163,"by":164,"text":165},"46408552","GajendraSahu23","Love the simplification of ffmpeg flags. I noticed some comments about Node.js dependencies. Are there plans to make this a standalone binary for faster server-side processing?",[167,174],{"value":168,"source":82,"evidence":169},"Whether the 90% coverage claim is accurate",[170],{"id":171,"by":172,"text":173},"46401485","ramon156","> it handles 20 common patterns ... that cover 90% Could you elaborate on this? I see a lot of AI-use and I'm wondering if this is claude speaking or you",{"value":175,"source":82,"evidence":176},"Whether the README was written by an LLM or the code was vibecoded",[177,178],{"id":171,"by":172,"text":173},{"id":179,"by":180,"text":181},"46401428","ramigb","That's beautiful! I see a .claude folder in your code, I am curious if you've \"vibecoded\" the whole project or just had claude there for some tasks! not that it matters or takes…",[183,198,205],{"value":184,"source":82,"evidence":185},"LLM CLI tools and coding agents for generating ffmpeg commands",[186,190,194],{"id":187,"by":188,"text":189},"46400693","spullara","I have a little script that I use on the CLI to do this kind of stuff (calls an LLM to figure out how to do CLI stuff) but you can just as easily now use any of the coding agents.",{"id":191,"by":192,"text":193},"46402742","arjie","I actually just use Claude code. “Stabilize the video x.mp4 and keep my daughter Astra as the subject. Convert it to a GIF that is under a megabyte”. It does a great job. It will…",{"id":195,"by":196,"text":197},"46410945","johanyc","is this better than just ask any llm cli tool (warp, codex, gemini, claude code, etc.) to generate ffmpeg command for you?",{"value":199,"source":82,"evidence":200},"LosslessCut GUI",[201],{"id":202,"by":203,"text":204},"46402474","Forgeties79","As the other person said (and this is my mistake for not capitalizing), Lossless Cut is a popular CLI wrapper for ffmpeg with a (somewhat) intuitive interface. Someone is going…",{"value":206,"source":54,"evidence":207},"wtffmpeg, llmpeg, ai-ffmpeg-cli",[208],{"id":57},{"comments":41,"answered":41,"key":210},[],{"commenters":212,"max_depth":213,"maker_replies":41,"first_comment_mins":214,"lifespan_hours":215},139,10,9,296,[217,219,222,224,228,231,232,235,237,239,242,244,246,249,253,256,259,261,264,266,269,272,275,277,280,283,286,289,292,295,298,301,305,308,312,315,318,320,323,326,329,332,334,337,340,343,347,349,352,354,357,359,361,364,366,369,372,374,377,380,384,386,388,391,394,397,400,403,406,409,412,415,418,421,424,427,430,433,435,438,440,443,446,449,452,455,458,461,463,466,468,471,473,475,478,481,484,487,490,493,495,498,500,502,504,506,508,511,514,517,520,523,526,529,532,535,537,540,543,546,548,551,553,555,558,561,564,566,568,571,574,577,580,582,584,586,588,590,592,594,596,599,603,607,611,615,618,621,623,625,627,630,633,635,639,641,644,647,649,652,655,658,660,664,667,669,673,675,678,681,684,687,690,693,695,697,700,702,705,708,710,712,714,718,722,724,728,730,735,737,740,744,746,751],[108,41,33,218,109,41],"project\u002Fcritical\u002Fidea",[220,41,41,221,203,41],"46401880","commenter\u002Fpositive\u002Fidea",[112,41,41,223,113,41],"commenter\u002Fcritical\u002Fexecution",[225,41,41,226,227,41],"46402353","commenter\u002Fneutral\u002Fnone","foodevl",[229,41,41,226,230,41],"46402367","wpm",[202,41,41,226,203,41],[233,41,41,226,234,41],"46403543","leephillips",[236,41,41,226,203,41],"46403692",[238,41,41,226,234,41],"46403739",[240,41,33,241,109,41],"46401939","project\u002Fcritical\u002Fexecution",[243,41,41,226,203,41],"46402499",[245,41,33,218,109,41],"46402651",[247,41,41,248,203,41],"46402707","commenter\u002Fneutral\u002Fidea",[250,41,18,251,252,41],"46402086","project\u002Fneutral\u002Fnone","e-Minguez",[254,41,41,226,255,41],"46543373","account42",[257,41,41,226,258,41],"46402087","kristopolous",[260,41,41,226,109,41],"46402103",[262,41,41,263,258,41],"46402126","other\u002Fneutral\u002Fnone",[265,41,33,218,109,41],"46402163",[267,41,47,268,258,41],"46402184","project\u002Fpositive\u002Fidea",[270,41,41,226,271,41],"46402248","juujian",[273,41,41,226,274,41],"46402309","WhitneyLand",[276,41,33,218,109,41],"46402365",[278,41,41,226,279,41],"46402721","Tempest1981",[281,41,41,226,282,41],"46402739","there_is_try",[284,41,41,226,285,41],"46407252","josephg",[287,41,41,226,288,41],"46420057","ranger_danger",[290,41,18,251,291,41],"46403952","MattDaEskimo",[293,41,41,263,294,41],"46408140","russfink",[296,41,41,263,297,41],"46408259","stevage",[299,41,41,263,300,41],"46405828","ThrowawayTestr",[302,41,18,303,304,41],"46402731","project\u002Fneutral\u002Fidea","ninalanyon",[306,41,47,268,307,41],"46403437","larodi",[309,41,41,310,311,41],"46404659","other\u002Fneutral\u002Fidea","crazygringo",[313,41,18,251,314,41],"46405556","darrenf",[316,41,18,251,317,41],"46405799","reassess_blind",[319,41,18,251,311,41],"46406323",[321,41,41,226,322,41],"46406537","zahlman",[324,41,41,263,325,41],"46409789","pathartl",[327,41,41,263,328,41],"46404832","magicalhippo",[330,41,41,263,331,41],"46407092","navane",[333,41,41,263,285,41],"46407313",[335,41,47,268,336,41],"46403094","Gud",[338,41,18,251,339,41],"46403324","BeetleB",[341,41,41,263,342,41],"46403943","mhuffman",[344,41,18,345,346,41],"46404284","project\u002Fneutral\u002Fexecution","ubercow13",[348,41,33,218,109,41],"46404516",[350,41,41,263,351,41],"46408109","plufz",[353,41,41,263,288,41],"46420074",[355,41,41,263,356,41],"46405077","zzzeek",[358,41,33,218,109,41],"46405669",[360,41,33,218,356,41],"46406952",[362,41,33,218,363,41],"46405415","koyote",[365,41,41,226,109,41],"46405638",[367,41,41,263,368,41],"46413462","CamperBob2",[370,41,41,263,371,41],"46405634","msla",[373,41,33,218,322,41],"46406519",[375,41,18,303,376,41],"46407770","C4K3",[378,41,41,263,379,41],"46407933","robertheadley",[381,41,41,382,383,41],"46407981","other\u002Fpositive\u002Fnone","zymhan",[385,41,41,263,383,41],"46407945",[387,41,41,226,297,41],"46408247",[389,41,41,226,390,41],"46408945","tombert",[392,41,47,268,393,41],"46409170","jayd16",[395,41,41,226,396,41],"46409506","UqWBcuFx6NV4r",[398,41,41,263,399,41],"46409808","memset",[401,41,41,226,402,41],"46410308","agentifysh",[404,41,47,268,405,41],"46410709","guntis_dev",[407,33,41,263,408,41],"46400494","dllu",[410,33,41,263,411,41],"46400591","CrossVR",[413,33,41,263,414,41],"46400978","xattt",[416,33,41,263,417,41],"46401587","crazysim",[419,33,41,263,420,41],"46401684","dspillett",[422,33,41,263,423,41],"46402832","foltik",[425,33,41,263,426,41],"46403080","BoingBoomTschak",[428,33,41,263,429,41],"46403767","dceddia",[431,48,41,263,432,41],"46400291","HelloUsername",[434,48,41,263,279,41],"46400325",[436,48,41,263,437,41],"46401381","geysersam",[439,48,41,263,279,41],"46404546",[441,48,41,263,442,41],"46400469","Terr_",[444,48,41,263,445,41],"46400566","eviks",[447,48,41,263,448,41],"46400679","left-struck",[450,48,41,263,451,41],"46401011","serial_dev",[453,48,41,226,454,41],"46401757","skydhash",[456,48,41,263,457,41],"46401444","rolfus",[459,48,33,241,460,41],"46403537","lukeschlather",[462,48,41,263,414,41],"46400982",[464,48,41,263,465,41],"46401621","famahar",[467,48,41,263,454,41],"46401735",[469,48,41,263,470,41],"46402089","ben_w",[472,48,41,263,454,41],"46402591",[474,48,41,263,285,41],"46407396",[476,48,41,263,477,41],"46401818","d-us-vb",[479,48,47,268,480,41],"46400615","beepbooptheory",[482,48,18,303,483,41],"46400650","imiric",[485,48,33,241,486,41],"46400770","pixelpoet",[488,48,41,226,489,41],"46401673","RadiozRadioz",[491,48,33,218,492,41],"46401000","chpatrick",[494,48,41,226,454,41],"46401778",[496,48,41,226,497,41],"46404409","NewsaHackO",[499,48,41,263,480,41],"46402553",[501,48,41,263,460,41],"46403561",[503,48,41,263,300,41],"46405851",[505,48,41,263,480,41],"46407668",[507,48,33,218,437,41],"46401456",[509,48,41,263,510,41],"46400992","corobo",[512,48,41,263,513,41],"46401332","madeofpalk",[515,48,41,263,516,41],"46401387","Marazan",[518,48,41,263,519,41],"46402182","Kiro",[521,48,41,263,522,41],"46402493","vovavili",[524,48,41,263,525,41],"46402538","andrepd",[527,18,41,263,528,41],"46403014","phil294",[530,18,41,263,531,41],"46403402","dheera",[533,18,41,263,534,41],"46405004","PaulDavisThe1st",[536,18,41,263,528,41],"46406613",[538,18,41,263,539,41],"46405521","self_awareness",[541,18,41,263,542,41],"46407099","ishandotpage",[544,18,41,263,545,41],"46409556","troupo",[124,49,18,547,125,41],"project\u002Fneutral\u002Fdocs",[549,49,33,241,550,41],"46401342","az09mugen",[552,49,18,547,180,41],"46401412",[139,47,33,554,140,41],"project\u002Fcritical\u002Fdesign",[556,47,41,263,557,41],"46405990","jimbobthrowawy",[559,47,41,226,560,41],"46406984","nulltype",[562,47,41,226,563,41],"46411767","metadope",[565,47,41,226,140,41],"46438220",[143,567,33,554,144,41],6,[569,42,33,241,570,41],"46402246","karmakaze",[171,572,18,573,172,41],8,"maker\u002Fneutral\u002Fnone",[575,214,18,576,445,41],"46400578","project\u002Fneutral\u002Fdesign",[578,214,18,576,579,41],"46400660","my_brain_saying",[581,214,33,554,445,41],"46400705",[583,214,41,226,454,41],"46401830",[585,214,41,226,445,41],"46401865",[587,214,41,226,454,41],"46401959",[589,214,41,226,445,41],"46402060",[591,214,41,226,454,41],"46402478",[593,214,41,226,445,41],"46402828",[595,214,41,226,454,41],"46403180",[597,214,41,226,598,41],"46402614","NooneAtAll3",[600,213,41,601,602,41],"46403057","other\u002Fcritical\u002Fidea","tgsovlerkhgsel",[604,38,41,605,606,41],"46400689","other\u002Fneutral\u002Fdesign","petterroea",[608,31,33,609,610,41],"46402379","project\u002Fcritical\u002Fprivacy","btbuildem",[612,613,41,601,614,41],"46402616",13,"Workaccount2",[616,613,41,221,617,41],"46402834","two_handfuls",[619,613,33,218,620,41],"46402936","andyfilms1",[622,613,41,226,336,41],"46403150",[624,613,41,226,620,41],"46404695",[626,613,41,601,614,41],"46403171",[628,39,41,263,629,41],"46408470","foundart",[128,631,33,632,129,41],15,"project\u002Fcritical\u002Fdocs",[156,634,41,263,157,41],16,[636,637,41,263,638,41],"46409039",17,"dev1ycan",[69,640,33,241,70,41],18,[642,640,41,226,643,41],"46401036","tclancy",[645,640,33,241,646,41],"46402166","AnonC",[85,648,47,268,86,41],19,[650,648,41,263,651,41],"46401770","sallveburrpi",[653,648,41,263,654,41],"46401820","teitoklien",[656,32,33,218,657,41],"46404083","justinhj",[187,659,41,263,188,41],21,[661,662,41,263,663,41],"46401947",22,"gcanyon",[73,665,18,666,74,41],23,"project\u002Fmixed\u002Fexecution",[191,668,41,263,192,41],24,[670,671,18,303,672,41],"46404915",25,"low_tech_punk",[179,674,18,573,180,41],26,[676,677,41,263,279,41],"46400397",27,[679,677,41,263,680,41],"46400419","codegladiator",[682,677,41,263,683,41],"46400480","felixfoertsch",[685,677,41,226,686,41],"46400725","trvz",[688,677,41,226,689,41],"46400753","wging",[691,677,41,263,692,41],"46400699","kiicia",[694,677,41,263,279,41],"46402400",[696,677,41,263,692,41],"46410522",[698,677,41,263,699,41],"46401547","andrewf",[701,677,41,263,279,41],"46402661",[703,677,41,263,704,41],"46403038","stackedinserter",[706,34,47,268,707,41],"46403294","sirodoht",[96,709,47,268,97,41],29,[163,711,18,303,164,41],30,[100,713,47,268,101,41],31,[715,716,41,601,717,41],"46412184",32,"skc",[719,720,18,303,721,41],"46401797",33,"vivzkestrel",[89,723,47,268,90,41],34,[725,726,41,263,727,41],"46401277",35,"gamer191",[132,729,18,547,133,41],36,[731,732,47,733,734,41],"46419959",37,"project\u002Fpositive\u002Fnone","witnessme",[195,736,33,218,196,41],38,[738,739,41,263,531,41],"46403374",39,[741,742,33,632,743,41],"46401201",40,"Joyfield",[745,742,33,632,617,41],"46403116",[747,748,41,749,750,41],"46406518",41,"other\u002Fcritical\u002Fnone","lerp-io",[752,753,41,263,754,41],"46401924",42,"Kcnfjhggjbh",[],[757,762,766,771,775,780],{"id":758,"name":759,"points":760,"category":761},"46435308","HackerBook",730,"data",{"id":763,"name":764,"points":765,"category":20},"46392910","Witr",526,{"id":767,"name":768,"points":769,"category":770},"46417815","Z80-μLM",514,"ai",{"id":772,"name":773,"points":774,"category":761},"46442245","exopriors.com",397,{"id":776,"name":777,"points":778,"category":779},"46420453","balajmarius.com",284,"creative",{"id":781,"name":782,"points":783,"category":770},"46426624","Ensue Memory",202,false,"v2",{"id":787,"name":5,"line":6,"ai":784,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":788,"top":18,"kw":789,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":790,"url":9,"mix":791,"praise":81,"objection":105,"sub":21},46400251,-0.16,[24,25,26,27],"1011335352110550010311001112011131305541",[31,32,33,34],1794036688212]