[HN Gopher] Video: A Language for Making Movies
___________________________________________________________________
Video: A Language for Making Movies
Author : bedits
Score : 75 points
Date : 2024-07-30 04:46 UTC (18 hours ago)
(HTM) web link (lang.video)
(TXT) w3m dump (lang.video)
| kmoser wrote:
| Documentation seems to be 404 (except for the earliest version,
| v0.0).
| fouronnes3 wrote:
| I'll be that guy: curious name :/
| jpk wrote:
| In the same realm as "Go", but we seem to get by searching with
| "golang".
| tnzk wrote:
| Even videolang is just a letter away from VideoLAN. I love
| the idea as I built something similar in the past though.
| rjh29 wrote:
| I 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 wrote:
| I agree. Giving instructions to untrained people becomes a
| nightmare.
| roydivision wrote:
| Hey Apple, are you listening? Pages, Numbers, Photos, Finder,
| Messages...
| ryukoposting wrote:
| Oh, they know. The arrogance is intentional.
| oersted wrote:
| To 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 wrote:
| Yeah, 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 wrote:
| > Every OS has a "Calculator"
|
| wait till you hear about iPadOS
| nextaccountic wrote:
| Also Gnome
| Doctor_Fegg wrote:
| The number of people who call Google Maps just "Maps" is
| continually depressing.
| gwervc wrote:
| That'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 wrote:
| > 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
| rscho wrote:
| In 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 wrote:
| Author 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?
| LeifAndersen wrote:
| Author 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
|
| 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...)
| rjh29 wrote:
| There'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 wrote:
| I'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 wrote:
| Same. 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 wrote:
| Additionally: no sample video (that's what this project is
| about, right?). And using terms only an ingroup can understand
| ("what's DrRacket again?")
| mkl wrote:
| The documentation was hosted on another site, and at least one
| version of it has moved to 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/scribbl...
| and there are examples at
| 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.
| rafaelferreira wrote:
| There are some conference slides linked from project website:
| https://lang.video/pub/icfp2017/slides.pdf
| arm wrote:
| Archive.org link for the v0.2 documentation:
|
| https://web.archive.org/web/20210419191239/https://docs.rack...
| EvanAnderson wrote:
| This 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 wrote:
| Avisynth+ does that. It is well supported and has a huge
| community.
|
| http://avisynth.nl/index.php/Main_Page
| noiv wrote:
| AviSynth also has a 'function' keyword.
| EvanAnderson wrote:
| Definitely going to check that out. Thank you for the link.
| zersiax wrote:
| I'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 wrote:
| Author of videolang:
|
| Avisynth+ is awesome.
|
| Interestingly enough, the first version of video was
| actually built on top of libmlt:
| 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.
| bux93 wrote:
| This "language" looks more like a file format to be honest.
| rscho wrote:
| Well, it gets compiled to Racket code, and has distinct
| syntax, so it seems to fit the bill as a language.
| thelightherder wrote:
| I agree the UI for Premiere can be overwhelming to a new
| user. Also, the keyboard shortcuts are clearly assigned by
| engineers and not editors.
|
| When I switched from tape-to-tape editing to NLEs in 2005, I
| started a new keyboard shortcut layout that was more
| intuitive, and was all on the left side of the keyboard,
| allowing the right hand to never have to leave the mouse.
|
| I made a tutorial teaching Premiere by way of these shortcuts
| (although these shortcuts work on just about every NLE, with
| slight variations). The tutorial is long, but if you just go
| through the first part, explaining each shortcut, you can get
| pretty far along learning how to edit with Premiere.
|
| The video and shortcut layout download is here:
| https://davidblairportfolio.com/daves-premiere-pro-tutorial
|
| This might be the only editing tutorial that uses as an
| editing example the editing of the tutorial you're watching.
| soperj wrote:
| > Copyright (c) 2016-2019 Leif Andersen
|
| Is it still being updated?
| mkl wrote:
| No: https://github.com/videolang/video/commits/master/. Last
| commit November 2019.
| rscho wrote:
| Im not sure, but I think Leif has graduated
| LeifAndersen wrote:
| That I did. You can find my dissertation here:
| https://www2.ccs.neu.edu/racket/pubs/#dissertation-andersen
| preek wrote:
| I'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 wrote:
| I would like to see a few examples of usage of this tool. Like
| code and video example.
| INTPenis wrote:
| Unfortunately 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 wrote:
| Ya, 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 wrote:
| > 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
| liampulles wrote:
| How 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 wrote:
| I have been using around 2010 avisynth. The premise seems similar
|
| https://sourceforge.net/projects/avisynth2/files/AviSynth%20...
|
| http://www.avisynth.org/
|
| Last update seems to be from 2015 though.
| thih9 wrote:
| If the project's repository is 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
| bentt wrote:
| This 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 wrote:
| I clicked off for this reason. Sounds really interesting but
| nowhere does it even show a screenshot or capabilities.
| LeifAndersen wrote:
| Author 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/scribbl.
| ..
| LeifAndersen wrote:
| Oh, it also looks like @arm found a wayback snapshot at:
|
| https://web.archive.org/web/20210419191239/https://docs.rac
| k...
|
| Still will fix that ASAP, thanks!
| pimlottc wrote:
| Honestly from the title I thought this was a think piece about
| visual media and human communication.
| b2bsaas00 wrote:
| It's no very clear from the homepage what it does.
| hkonsti wrote:
| Cool! 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
|
| 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 wrote:
| Author of videolang here:
|
| Oh wow, that's really neat!
|
| I'd also love to plug Remotion https://www.remotion.dev/ That
| also has a video making product. (I don't work with them, but
| would love to!)
| dartos wrote:
| A 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?
___________________________________________________________________
(page generated 2024-07-30 23:01 UTC)