ImageInTerminal.jl icon indicating copy to clipboard operation
ImageInTerminal.jl copied to clipboard

VideoInTerminal!

Open IanButterworth opened this issue 4 years ago • 3 comments

I tried out streaming images at video framerate rates using ImageInTerminal, and it works surprisingly well, at least on MacOS.

Here's a quick and dirty start of a package https://github.com/IanButterworth/VideoInTerminal.jl

An easy demo is just

using VideoInTerminal
testvideo("annie_oakley")
testvideo("ladybird")

Would this be something to bring into ImageInTerminal, or leave separate given the dependency on VideoIO?

I'm thinking it would be nice to try adding additional UI controls to it, like pause, play speed, scrubbing

Edit: Controls added. Also a webcam viewer

IanButterworth avatar Feb 17 '21 06:02 IanButterworth

This is so interesting! The FFMPEG dependency seems a little bit heavy to me so I prefer to keep them apart... (at least for now.)

johnnychen94 avatar Feb 18 '21 15:02 johnnychen94

There are some methods that don't rely on VideoIO, just ones for playing and seeking back and forth through framestacks or along specific dims in 3D arrays which could come into here without taking on any additional deps.

https://github.com/IanButterworth/VideoInTerminal.jl#explore

Also:

julia> @time using VideoInTerminal
  3.237035 seconds (5.73 M allocations: 401.186 MiB, 3.98% gc time)
julia> @time using ImageInTerminal
  2.224965 seconds (4.66 M allocations: 336.147 MiB, 2.84% gc time)

julia> @time using VideoIO
  0.833947 seconds (1.05 M allocations: 63.679 MiB, 4.15% gc time)
julia> @time using ImageTransformations
  2.151483 seconds (4.64 M allocations: 334.747 MiB, 2.67% gc time)

I think this might be another case where it would be nice to remove restrict out of ImageTransformations?

IanButterworth avatar Feb 20 '21 06:02 IanButterworth

@IanButterworth @johnnychen94 really hoping this moves forward,I have been thinking of working on a project that helps videochat through terminal and this is just the thing that will kind of help:)

ashwanirathee avatar Mar 23 '21 02:03 ashwanirathee