Result of the scripts

watch this at full resolution (full HD), or you will not see anything :)

how does it works

notes for me and whoever might find this interesting

the logo is using the 'ascii' font JS Cursive, slightly modified on the 'n'

  __  __,   ,_   _   __,   __   _   ,  
_(_,_(_/(__/ (__/ (_(_/(__(_/__(/__/_)_
                          _/_          
                         (/

that's a nice way to display other fonts in the terminal; see resources for links

information gathering

to retrieve the file information, i used ffprobe, it dumps a lot of info

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'carnages_creamy_patterns.mov':
 Metadata:
   major_brand     : qt  
   minor_version   : 512
   compatible_brands: qt  
   encoder         : Lavf56.40.101
 Duration: 01:39:01.03, start: 0.000000, bitrate: 200411 kb/s
   Stream #0:0(eng): Video: qtrle (rle  / 0x20656C72), rgb24, 1920x1080, 200408 kb/s, 30 fps, 30 tbr, 15360 tbn, 15360 tbc (default)
   Metadata:
     handler_name    : DataHandler
     encoder         : Lavc56.60.100 qtrle

for the credits, i just used the Stream #0:0, reformated as a tabbed list

other info comes from the file browser (nemo in my case)

scripting

here comes the interesting part!

the process requires a minimum of text editing: just create a media_*.py file containing the required vars (with correct types)

media info

example of media info file

from styler import *
filename = style("b|yellow") + "carnages_teeny_black.mkv [#6]" + style("")
t_date= 		"date: " + style("b") + "20171019" + style("")
t_size= 		"size: " + style("b") + "2.507.349.390 bytes" + style("")
t_duration= 	"duration: " + style("b") + "00:08:16.8" + style("")
t_author = 		"author:" + style("b") + "françois zajéga" + style("")
t_credits = title font: JS Cursive By Joan Stark
t_stream = stream #0:0(eng): video: 
   mjpeg
   yuvj444p(pc, bt470bg/unknown/unknown)
   1920x1080
   SAR 1:1 DAR 16:9
   25 fps
   25 tbr
   1k tbn 
   1k tbc (default)
encoder: Lavc56.60.100 libx264
t_input= source:
   width: 1024
   height: 544

content of the video here above

the imported script comes from TerminalStyler

resources

  • TerminalStyler - script to style the console output
  • taag - online interface to use 'ascii' fonts
  • FIGlet - a program for making large letters out of ordinary text
  • figlet-fonts - collection of ascii art fonts for figlet or toilet
  • asciinema - record and share your terminal sessions, the right way.

online identity ∋ [ social ∋ [mastodon♥, twitter®, facebook®, diaspora, linkedin®] ∥ repos ∋ [github®, gitlab♥, bitbucket®, sourceforge] ∥ media ∋ [itch.io®, vimeo®, peertube♥, twitch.tv®, tumblr®] ∥ communities ∋ [godotengine♥, openprocessing, stackoverflow, threejs]]