42 comments

[ 3.1 ms ] story [ 102 ms ] thread
I wondered what video you picked...I shouldn't have.
You haven't been here long enough that the XcQ gives it away, huh :P
I always recognize it based on "dQw". Interesting that you look at the ending
Huh, yeah... I figure I don't have to scan for the = that way (not that I ever really consciously decided that).
Been around long enough, but I guess managed to dodge it mostly (or usually see links that go through some intermediary?) and not really mind, to be honest :)
This requires building with libcaca. There's also tct, which is surprisingly high fidelity (but not ASCII).

  mpv --quiet -vo=tct 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
> VO: [caca] 1920x1080 bgr24

the irony of fetching HD to downsample to ascii :)

> -vo=caca

Ironically, the video output called "caca" comes from "libcaca", "a graphics library that outputs text instead of pixels". The irony comes from "caca" meaning "poop" in Spanish, so the video output is named "poop", which seems fitting.

AFAIK this is totally intentional. The lib is done by French people, and in French, 'caca' also means 'poop' :-)
> in French ... also

In all the dialects: it's greek for "evil, bad". From the IE root for "twisted".

Given the original core concept of "strongly bent", its meaning as "morally twisted", its connotation of "repulsive" and its use as a pejorative (prefixed), the nursery reference collected a good deal of the above - the physical description, the moral metaphor, the reaction, the qualification.

Couldn't get it to work on Safari. Just a blank screen, but audio works.
Cool!

YMMV, but for me setting the font slider to a considerably smaller value than the default gave a more visually impressive result.

The controls will apparently self-hide after a few moments with no mouse activity, if you want to get a screenshot of something.

Is there a canonical way to find the source to these types of github links? The broken link to durian.blender.org doesn't show anything, and the user page https://github.com/Pessimistress doesn't have any obvious ascii-art or video projects. Neither does the home page linked from github. And bundle.js is just obfuscated.

It looks like libcaca, but I would have to recompile mpv to see how similar it is.

What does this do that mplayer with ascii-out doesn't?
What are the benefits I'm curious... it seems obvious less data? In that case when would this be a good thing to use... maybe generic DIY/how to's on not so difficult concepts. It's really cool, has decent color too. Probably do the same with large pixels/blurred video?

I still think about that "world knowledge compressed to disc" or something like 10GB Wikipedia. Video's not good compared to text for space saving but yeah.

Would be surprised if anyone could come up with legitimate benefits. To me this is just a fun coding challenge
Watching videos on the command line? Watching videos in vim?
If you actually intend to do that for whatever reason, sixel is a far more usable alternative (if your terminal can actually process the frames in real time, that is).
(comment deleted)
Nothing is happening? There is a dropdown to select a video source and font, and a white blank page? (Safari 15.1, macOS Monterey)
You use the framebuffer/kms if you don't want X.
apparently safari doesn't support webgl2
Basically AAlib [1].

I remember it was mind-blowing being able to launch quake inside your terminal, but that was over 20 years ago. The tech is basically scaling the image down to the size of the terminal and using LUT to get a character from pixel's luminosity. The hardest part of this particular demo is, in fact, rendering font in WebGL. Rest is rather trivial and while interesting and pretty I don't really think it deserves first page on HN.

[1] https://en.wikipedia.org/wiki/AAlib

I think it might be better with one of the old character sets that had multiple blocks per pixel. That would increase the resolution and they could use Floyd-Steinberg dithering or similar to get grayscale. OTOH that wouldn't be ASCII.
Too lazy to go add video but wrote a post processing pass to do this here

https://greggman.github.io/doodles/textme08.html

You can choose various different subsets of unicode (glyphs), you can also choose "DOS colors" (debug) and change the text size etc..

It's just post processing a 3D scene but it would be trivial to change it to video

A different kind of video effect is to use the video has a height map. Works best with certain kinds of videos

https://greggman.github.io/doodles/3d-grid-video.html?url=vi... (warning: has sound)

(comment deleted)
It's weird hearing the audio so clear while video is ASCII. What would be the audio equivalent of ASCII video?
QuickTime used to have an ascii output, like 20 years ago!