12 ms·
Video: A Language for Making Movies
- fouronnes3 2y agoI'll be that guy: curious name :/
- jpk 2y agoIn the same realm as "Go", but we seem to get by searching with "golang".
- deleted 2y ago[deleted]
- tnzk 2y agoEven videolang is just a letter away from VideoLAN. I love the idea as I built something similar in the past though.
- rjh29 2y agoI wish people would stop using common nouns for program names, not only is it hard to search for, but it's kind of ... arrogant? Like you think you're the best there is and will ever be for that particular noun? Imagine if Google Chrome renamed to 'Browser'
- n3storm 2y agoI agree. Giving instructions to untrained people becomes a nightmare.
- roydivision 2y agoHey Apple, are you listening? Pages, Numbers, Photos, Finder, Messages...
- ryukoposting 2y agoOh, they know. The arrogance is intentional.
- oersted 2y agoTo be fair these are part of a preinstalled suite of native apps, an extension of the OS, rather than being part of the larger app ecosystem. You could argue that implicitly they have the brand-name in front: e.g. "Apple/Mac Photos" or "iMessage". Every OS has a "Calculator" or something like "Notes", these are reasonable names. Just like you have Google/Apple "Maps" or "Calendar". It's standard to use such naming for apps within a branded suite.
- shiroiushi 2y agoYeah, that's basically how I treat Google stuff with generic names: I call them "Google Maps", "Google Photos", etc. When I hear Apple users talk about their music service, they call it "Apple Music".
- fragmede 2y ago> Every OS has a "Calculator" wait till you hear about iPadOS
- nextaccountic 2y agoAlso Gnome
- Doctor_Fegg 2y agoThe number of people who call Google Maps just “Maps” is continually depressing.
- gwervc 2y agoThat's a pet peeve of mine for a long time. It pollutes the global namespace, it's hard to search for, gives no information on what the product or company does (e.g. Alphabet) and lacks originality. Edit: as someone noted in a siblings comment, it's also make harder to help people. I had a hard time making someone install "Signal" at a stressing time because that's just a normal word in French.
- Zambyte 2y ago> It pollutes the global namespace I think we should rely less on global namespaces. DNS was designed in a way that specifically allows for the same name to mean different things for different people. I should be able to use my first name as a domain name if I want. Other people should also be able to use their first name if they want. Other people still should be able to use whatever domain they want to disambiguate between the two. This is a feature of all high level programming languages within a rounding error. > it's hard to search for It was the first result for me on Kagi when I searched "video lang". I also tested Google and DDG and unfortunately it didn't even make the first page. I wonder why Kagi was able to surface it, but not the other two. Either way, I recommend using search engines for discovery rather than recall, and you've already discovered this through other means. For recall, save a link to it. I personally use Org Roam for capture and recall. > I had a hard time making someone install "Signal" at a stressing time because that's just a normal word in French. The English word comes from the French word[0], but as an English speaker at least, the name makes a lot of sense to me. Particularly, it is a descriptive name that to me doesn't feel super generic like video lang. [0] https://en.wiktionary.org/wiki/signal https://en.wiktionary.org/wiki/signal
- rscho 2y agoIn this context, you'd import the language just like a library, and feed the file to the Racket compiler. This an embedded language, so there can be no confusion.
- LeifAndersen 2y agoAuthor here: The idea for calling it Video originated from it just being a library in Racket for editing videos. The name `video` fit the trend for packages in Racket at the time: * `pict` - was an existing library for making pictures * `slideshow` - was an existing library for making slideshows * `math` - was an existing library for...well..math (beyond what the language natively provided) * `web-server` - was an existing library for making webservers. You get the idea, extending it: * `video` - was a new (and thus far only in Racket) library for making videos. (note the lower case `v`) Unfortunately video grew far beyond what I expected it to (yes still small, but I honestly expected to be the only user ever, rather then one of a dozen or so users). Unfortunately as mentioned in previous comments, I suck at naming things. But also unfortunately, no one else offered another name. So video just sort of...stuck. I eventually tacked `Lang` onto the end of it, and made the initial `V` uppercase in a desperate attempt to give it a slightly more unique name. But then that became too close to videolan...which...sigh...did I mention I fucking suck at naming things?
- deleted 2y ago[deleted]
- LeifAndersen 2y agoAuthor here: Ya...its a terrible name. Most of the people I work with tell me I shouldn't be allowed to name things. And frankly, I agree. I mean, for fuck sake, I named my latest project (hybrid visual-textual programming languages): VISr: https://visr.pl https://visr.pl It was supposed to stand for visual and interactive syntax realized, buuuut....ya. (For the record, I got started working on VISr because I wanted interactive code snippets in my Video programs. And while I 'technically' got a prototype of it, as documented in my dissertation, its very...lacking...)
- jrm4 2y agoPerhaps the worst possible name, going by the spirit/ideas similar to trademark. This is calling your programming language "Program"
- kmoser 2y agoDocumentation seems to be 404 (except for the earliest version, v0.0).
- rjh29 2y agoThere's no explanation of how to use it, or even a code snippet. And the documentation is down. So not very useful I'm afraid :(
- bjackman 2y agoI've always thought that tech websites often start with the wrong thing, with installation instructions front & centre like this one. If I'm coming to the website looking for that info I'll be happy to dig around a little bit to find it. If I'm coming to the website as a curious observer that information is not useful, it's wasting space that could be used demonstrating _why_ I'd want to install it.
- noufalibrahim 2y agoSame. Installed it. Couldn't find a small thing I could play around with. Clicked on the docs link and got an error. Very disappointing.
- Eduard 2y agoAdditionally: no sample video (that's what this project is about, right?). And using terms only an ingroup can understand ("what's DrRacket again?")
- mkl 2y agoThe documentation was hosted on another site, and at least one version of it has moved to https://docs.racket-lang.org/video/index.html https://docs.racket-lang.org/video/index.html. Sadly it says almost nothing - I think this is v0.0 and can't find a way to change that. The more recent documentation source code is at https://github.com/videolang/video/tree/master/video/scribblings https://github.com/videolang/video/tree/master/video/scribbl... and there are examples at https://github.com/videolang/video/tree/master/video/examples https://github.com/videolang/video/tree/master/video/example... (without any explanation, and they don't seem to do much). Unsearchable name, Scheme-like syntax, no accessible documentation, no compelling examples ... not much chance of success. Still, the idea of a "language for making movies" is interesting.
- 2y ago
- arm 2y agoArchive.org link for the v0.2 documentation: https://web.archive.org/web/20210419191239/https://docs.racket-lang.org/video@video/index.html https://web.archive.org/web/20210419191239/https://docs.rack...
- EvanAnderson 2y agoThis looks interesting. Thanks for digging that up. I've done a little video editing using Adobe Premiere (mid-2000's) and Shotcut (2022). The UI for both seemed overwrought and difficult to get what I wanted out of. A text description of timecodes and filter parameters sounds a ton easier to use. Having said that, I assume that would exist if the market actually wanted it.
- CodeArtisan 2y agoAvisynth+ does that. It is well supported and has a huge community. http://avisynth.nl/index.php/Main_Page http://avisynth.nl/index.php/Main_Page
- noiv 2y agoAviSynth also has a 'function' keyword.
- EvanAnderson 2y agoDefinitely going to check that out. Thank you for the link.
- zersiax 2y agoI'll check that out :) I'd be curious how well this would work without being able to see the video you're messing with (fully blind myself). Will give that a whirl.
- LeifAndersen 2y agoAuthor of videolang: Avisynth+ is awesome. Interestingly enough, the first version of video was actually built on top of libmlt: https://www.mltframework.org/ https://www.mltframework.org/ I was just dissatisfied with it due to its lack of functions. I can't remember why I didn't just use avisynth as it does actually have functions.
- soperj 2y ago> Copyright © 2016-2019 Leif Andersen Is it still being updated?
- mkl 2y agoNo: https://github.com/videolang/video/commits/master/ https://github.com/videolang/video/commits/master/. Last commit November 2019.
- rscho 2y agoIm not sure, but I think Leif has graduated
- LeifAndersen 2y agoThat I did. You can find my dissertation here: https://www2.ccs.neu.edu/racket/pubs/#dissertation-andersen https://www2.ccs.neu.edu/racket/pubs/#dissertation-andersen
- preek 2y agoI’ve seen a talk about this at BOB conference at Berlin some years ago. I learned a lot about DSLs in scheme, also the talk was highly entertaining. I’d recommend it for anyone into scheme or lisp.
- Brosper 2y agoI would like to see a few examples of usage of this tool. Like code and video example.
- INTPenis 2y agoUnfortunately not updated anymore, but in essence it was just an interface to ffmpeg options. So either create pre-defined script modules for all your ffmpeg tasks, or video language scripts. Practically it doesn't really matter, but I think I'd go for simple scripting modules out of familiarity.
- LeifAndersen 2y agoYa, I haven't updated video in years. I'm perfectly happy to do it, but I just haven't had a need, and no one asking for updates. :D There is a lot of overlap between video and ffmpeg's filtergraph. The biggest difference, however, is that video tries to provide a full language on top of it, that tries to use NLVEs as an abstraction, rather than pure filters. It worked out very well for lots of videos with very similar composites (in my case it was making conference recordings). But frankly, OBS also fit the bill almost as well so we started using that.
- jagged-chisel 2y ago> This is a highly unstable and experimental DSL for editing videos. Do not use this library as core parts of it are still being written. From docs v0.0 link. Not terribly informative, but it’s a start. Edit: oh, someone found an archive of 0.2 docs: https://news.ycombinator.com/item?id=41106319 https://news.ycombinator.com/item?id=41106319
- liampulles 2y agoHow does this compare to vapoursynth? That's a python DSL, mainly used for video filtering, but one can use it to splice together video.
- renegat0x0 2y agoI have been using around 2010 avisynth. The premise seems similar https://sourceforge.net/projects/avisynth2/files/AviSynth%202.6/AviSynth%202.6.0/ https://sourceforge.net/projects/avisynth2/files/AviSynth%20... http://www.avisynth.org/ http://www.avisynth.org/ Last update seems to be from 2015 though.
- thih9 2y agoIf the project's repository is https://github.com/videolang/video https://github.com/videolang/video , then the last commit was 5 years ago. > You can find the documentation for the current stable version of Video on the Racket docs website. The link resolves to "Page not found" for me, same for the versions listed below: 0.2, 0.1. The link to 0.0 [1] works - but the page describes it as the oldest version. [1]: https://docs.racket-lang.org/video/index.html https://docs.racket-lang.org/video/index.html
- bentt 2y agoThis might be really neat, but apparently it's for people who already know what it is. The website does so little to explain it that it feels unwelcoming.
- chankstein38 2y agoI clicked off for this reason. Sounds really interesting but nowhere does it even show a screenshot or capabilities.
- LeifAndersen 2y agoAuthor here. Yikes, I didn't realize that Racket's documentation builder broke. It looks like it has for some time. I'll fix that momentarily. In the meantime, you can look at the source for the documentation at: https://github.com/videolang/video/blob/master/video/scribblings/video.scrbl https://github.com/videolang/video/blob/master/video/scribbl...
- LeifAndersen 2y agoOh, it also looks like @arm found a wayback snapshot at: https://web.archive.org/web/20210419191239/https://docs.racket-lang.org/video@video/index.html https://web.archive.org/web/20210419191239/https://docs.rack... Still will fix that ASAP, thanks!
- pimlottc 2y agoHonestly from the title I thought this was a think piece about visual media and human communication.
- b2bsaas00 2y agoIt’s no very clear from the homepage what it does.
- hkonsti 2y agoCool! I am the maintainer of a project that does very similar things. Maybe this is relevant for people trying to compose videos in JS or TS. https://github.com/redotvideo/revideo https://github.com/redotvideo/revideo It's based on the browser canvas and allows for instant preview of compositions. We recently rebuilt our renderer on top of the web-codecs API which makes it super fast. Would love some feedback!
- LeifAndersen 2y agoAuthor of videolang here: Oh wow, that's really neat! I'd also love to plug Remotion https://www.remotion.dev/ https://www.remotion.dev/ That also has a video making product. (I don't work with them, but would love to!)
- dartos 2y agoA clever name, but not a good one. Makes the headline read weirdly, doesn’t tell me anything about what it is and probably has poor SEO. Also, as someone with literally 0 video editing experience, why would I want my video editor to be programmable?