(recording)
 
(chronology)
 
Line 1: Line 1:
'''Result of the scripts'''
+
== chronology ==
  
<html>
+
in visioning chronological order, newest first
<iframe src="https://player.vimeo.com/video/239142597?title=0&credits=0&portrait=0&byline=0" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
+
</iframe>
+
</html>
+
  
watch this at full resolution (full HD), or you will not see anything :)
+
===Arrival===
 +
* seen 2017/11/05 (completed) - 2016 - [http://www.imdb.com/title/tt2543164/ imdb] - [https://www.rottentomatoes.com/m/arrival_2016 rotten tomatoes]
 +
* torrent, language, first contact, heptapods, time awareness, giant squid
 +
* related: [https://www.youtube.com/watch?v=d3zTfXvYZ9s Time Travel in Fiction Rundown(youtube)]
 +
[[File:Arrival-filming-locations-poster-e1485131647103.jpg|150px]]
  
== how does it works ==
+
===String theory===
 +
* seen ~2017/11/03 (completed) - uploaded in 2015 - [https://www.youtube.com/watch?v=S8sbzA5j2Tk #1], [https://www.youtube.com/watch?v=l5t8STlF_ns #2], [https://www.youtube.com/watch?v=Q8ccXzM3x8A comments of Dr Tony Padilla]
 +
* youtube, documentary, physics, theory, fundamental
 +
[[File:About Testing String Theory by Analogy.gif|150px]]
  
notes for me and whoever might find this interesting
+
===Blade runner 2049===
 +
* seen 2017/11/01 (completed) - 2017 - [http://www.imdb.com/title/tt1856101/ imdb] - [https://www.rottentomatoes.com/m/blade_runner_2049 rotten tomatoes]
 +
* ugc toison d'or, photography & CG++, romantic relation with IA, hologram embodiment, memories factory, augmented vision
 +
[[File:Blade-runner2049 poster.jpg|150px]]
  
=== logo ===
+
===Stalker===
 +
* seen 2017/10/30 (completed) - 1971 - [http://www.imdb.com/title/tt0079944/ imdb]
 +
* torrent, poetry, sadness, mysticism, painting, sculpture, water
 +
[[File:Stalker 1979 poster.jpg|150px]]
  
the logo is using the 'ascii' font JS Cursive, slightly modified on the 'n'
+
===THX 1138===
+
* seen ~2017/10/22 (completed) - 1971 - [http://www.imdb.com/title/tt0066434/ imdb]
  __  __,  ,_  _  __,  __  _  , 
+
* torrent, underground city, inhibiting drugs, no border spaces, christ, skins
_(_,_(_/(__/ (__/ (_(_/(__(_/__(/__/_)_
+
[[File:Thx1138 movie poster.jpeg|150px]]
                          _/_         
+
                          (/
+
  
that's a nice way to display other fonts in the terminal; see resources for links
+
===Wrong===
 +
* seen ~2017/10/20 (completed) - 2012 - [http://www.imdb.com/title/tt1901040/ imdb]
 +
* torrent, twisted reality, time & social inconsistency, french accent, lost dog
 +
[[File:Wrong the movie poster.jpg|150px]]
  
=== information gathering ===
+
===Tank girl===
 +
* seen 2017/10/16 & 17 (completed) - 1995 - [http://www.imdb.com/title/tt0114614/ imdb]
 +
* torrent, desert, grunge, feminism, real character + anime, cobain (ost), iggy pop
 +
* [http://web.stanford.edu/class/femst140x/Abstracts/tank%20girl.htm Tank Girl = Riot Grrl?]
 +
[[File:Tank-girl-movie-poster-1995-1020472204.jpg |150px]]
  
to retrieve the file information, i used '''ffprobe''', it dumps a lot of info
+
===Virtual Revolution===
 +
* seen 2017/10/10 (completed) - 2016 - [http://www.imdb.com/title/tt4054004/ imdb]
 +
* torrent, blade runner-like merged with kind-of sucker punch
 +
[[File:V1.bTsxMjI3NDA5OTtqOzE3NDY3OzEyMDA7MTIwMDsxNjAw.jpeg|150px]]
  
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'carnages_creamy_patterns.mov':
+
===The dark tower===
  Metadata:
+
* seen 2017/10/10 (completed) - 2017 - [http://www.imdb.com/title/tt1648190/ imdb]
    major_brand    : qt 
+
* torrent, parallel worlds, psychic power, king arthur
    minor_version  : 512
+
[[File:The-Dark-Tower-Poster-McConaughey.jpg|150px]]
    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
+
===Logan's run===
 +
* seen 2017/10/09 (completed) - 1976 - [http://www.imdb.com/title/tt0074812/?ref_=fn_al_tt_1 imdb]
 +
* torrent, dome city, limited lifetime, sadmen, cardboard models++
 +
[[File:Logan s run.jpg|150px]]
  
other info comes from the file browser (''nemo'' in my case)
+
===StarCraft 2 - Legacy of the Void===
 +
* seen 2017/10/09 - 2015 - [https://www.youtube.com/watch?v=erTmXZCEYko&t=3864s youtube] [[wikipedia:StarCraft_II:_Legacy_of_the_Void | wikipedia]]
 +
* youtube, game, cinematic, protoss, 3d, fan-made
  
=== scripting ===
+
===Horizon : Robot Dinosaur World===
here comes the interesting part!
+
* seen 2017/10/09 - 2017 - [https://www.youtube.com/watch?v=iMko75rhJUc&t=2310s youtube] [[wikipedia:Horizon_Zero_Dawn | wikipedia]]
 +
* youtube, game, cinematic, 3d, fan-made
  
the process requires a minimum of text editing: just create a '''media_*.py''' file containing the required vars (with correct types)
+
===Le fidèle===
 +
* seen 2017/10/06 (completed) - 2017 - http://www.imdb.com/title/tt2586120/ imdb]
 +
* cinéma aventure, gangster, porsche, brusseler, [[wikipedia:Patrick_Haemers|Patrick Haemers]]
 +
[[File:Le-fidele.20170821101527.jpg|150px]]
  
==== media info ====
+
===In the aftermath===
 +
* seen 2017/10/05 (completed) - 1988 - [http://www.imdb.com/title/tt0206827/ imdb]
 +
* torrent, real character + anime, dark, serie z
 +
[[File:In the aftermath.jpg|150px]] [[File:In the aftermath2.jpg|200px]]
  
example of media info file
+
== series ==
  
'''WARNING''': mediawiki removes the "'" chars, go to source to copy/paste! (append '''&action=edit''' to current url)
+
* [http://www.imdb.com/title/tt4158110/ Mr. Robot], torrent
 +
[[File:Mr robot.jpg|150px]]
  
from styler import *
+
* [http://www.imdb.com/title/tt2861424/ Rick and Morty], torrent
filename = style("b|yellow") + "carnages_teeny_black.mkv [#6]" + style("")
+
[[File:Poster-rick-y-morty.jpg|150px]]
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
+
== listings ==
  
the imported script comes from [https://github.com/frankiezafe/TerminalStyler TerminalStyler]
+
* [https://www.youtube.com/playlist?list=LLaTxtuDCjHDuzXGfI6b1zcQ youtube likes]
 +
* [https://vimeo.com/frankiezafe/likes vimeo likes]
  
==== animation ====
+
== resources ==
  
the animation is done via another python script, '''credits_generator.py''':
+
* https://www.rollingstone.com/movies/lists/50-best-sci-fi-movies-of-the-1970s-20150114/laserblast-1978-20150113
 
+
* https://mubi.com/lists/the-fabulous-world-of-eastern-european-cinema
import os
+
import sys
+
import time
+
from styler import *
+
+
mediainfo = __import__( str( sys.argv[1] )[:-3], fromlist=["*"] )
+
+
############# config #############
+
margin = (4,10)
+
logo = '''
+
                                         
+
  __  __,  ,_  _  __,  __  _  , 
+
_(_,_(_/(__/ (__/ (_(_/(__(_/__(/__/_)_
+
                          _/_         
+
                          (/           
+
                                         
+
'''
+
ret = style("_n")
+
t_mtop = style("_n" + str( margin[0] ) )
+
t_mlef = style("_s" + str( margin[1] ) )
+
logo_margined_y = style("_n" + str( margin[0] ) + "|cyan" ) + margin_left( logo, margin[1] ) + style("")
+
logo_margined_w = style("_n" + str( margin[0] ) ) + margin_left( logo, margin[1] ) + style("")
+
credits_margined = margin_left( mediainfo.t_credits, margin[1] )
+
stream_margined = margin_left( mediainfo.t_stream, margin[1] )
+
input_margined = margin_left( mediainfo.t_input, margin[1] )
+
+
############# frames #############
+
+
frames = []
+
frames.append( [t_mtop, 4] )
+
for i in range( 0, 5 ):
+
if i % 2 == 0:
+
frames.append( [logo_margined_w, 0.1] )
+
else:
+
frames.append( [logo_margined_y, 0.15] )
+
frames.append( [style("_n" + str( margin[0] + 8 )), 0.1] )
+
frames.append( [logo_margined_y, 0.5] )
+
frames.append( [
+
logo_margined_y +
+
ret + t_mlef + mediainfo.filename +
+
ret + t_mlef,
+
1] )
+
+
authinfo = ret + t_mlef + mediainfo.t_date + ret + t_mlef + mediainfo.t_size + ret + t_mlef + mediainfo.t_duration + ret + t_mlef + mediainfo.t_author
+
for i in range( linecount(stream_margined) ):
+
frames.append( [
+
logo_margined_y +
+
ret + t_mlef + mediainfo.filename +
+
ret +
+
ret + lines( authinfo, 0, i ),
+
0.05] )
+
frames.append( [
+
logo_margined_y +
+
ret + t_mlef + mediainfo.filename +
+
ret +
+
ret + authinfo + ret,
+
5] )
+
+
techinfo = stream_margined + ret + input_margined
+
for i in range( linecount(stream_margined) ):
+
frames.append( [
+
logo_margined_y +
+
ret + t_mlef + mediainfo.filename +
+
ret +
+
ret + lines( techinfo, 0, i ),
+
0.05] )
+
frames.append( [
+
logo_margined_y +
+
ret + t_mlef + mediainfo.filename +
+
ret +
+
ret + techinfo,
+
3] )
+
frames.append( [
+
logo_margined_y +
+
ret + t_mlef + mediainfo.filename +
+
ret +
+
ret + techinfo +
+
ret + credits_margined,
+
2] )
+
+
############# animation #############
+
+
for i in frames:
+
os.system('clear')
+
print( i[0] )
+
sys.stdout.write( t_mlef )
+
sys.stdout.flush()
+
time.sleep( i[1] )
+
 
+
 
+
* __import__( str( sys.argv[1] )[:-3], fromlist=["*"] ) is super useful, as it allows to pass the media_*.py path as an rgument, without changing anything to this script
+
* '''margin''' represents the top and left margin of the text, expressed in returns and tabs
+
* '''frames''' is a list of the animation frame, with text at position 0 and duration at 1
+
* functions '''linecount''' and '''lines''' (from styler.py) allows to make the text animations easier: '''lines''' function truncates the block of text by lines (from, to)
+
 
+
Once all frames are packed, we just have to loop over them and print the text. Lines ''sys.stdout'' allows to offset the cursor by the left margin.
+
 
+
To test, just launch the script in terminal,
+
 
+
python credits_generator.py media_*.py
+
 
+
==== recording ====
+
 
+
once everything's ready on python level, we still have to record the execution of the script and save it as a video
+
 
+
bash is there to help:
+
 
+
#!/bin/bash
+
+
#open gnome-terminal in fullscreen, with menu bar enabled
+
+
if [ -f "tmp.mov" ]
+
then
+
    rm tmp.mov
+
fi
+
if [ -f "credits.mkv" ]
+
then
+
    rm credits.mkv
+
fi
+
ffmpeg -loglevel quiet -nostats -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0 -q:v 1 -vcodec qtrle tmp.mov > /dev/null &
+
+
python credits_generator.py $1
+
+
killall ffmpeg
+
+
sleep 1
+
+
ffmpeg -ss 00:00:01 -i tmp.mov -video_size 1920x1080 -vcodec mjpeg -q:v 0 -vf crop=740:700:0:25,pad=1920:1080:iw-740:ih-700 credits.mkv
+
 
+
first thing to do is to remove old video files: as we launch ffmpeg recording in silent mode, we will not be able to confirm overwrite!
+
 
+
second line is just a standard line to grab screen
+
 
+
the last ffmpeg command is a bit special: the 1 second removal is due to glitches appearing when ffmpeg synchronises with display, and the cropping and padding removes the menu bar of the fullscreen terminal
+
 
+
The full process outputs a credits.mkv in full HD, ready to be used!
+
 
+
== resources ==
+
  
* [https://github.com/frankiezafe/TerminalStyler/ TerminalStyler] - script to style the console output
+
[[category:documentation]]
* [http://www.patorjk.com/software/taag/ taag] - online interface to use 'ascii' fonts
+
[[category:notes]]
* [http://www.figlet.org/ FIGlet] - a program for making large letters out of ordinary text
+
[[category:video]]
* [https://github.com/blueset/figlet-fonts figlet-fonts] - collection of ascii art fonts for figlet or toilet
+
* [https://asciinema.org/ asciinema] - record and share your terminal sessions, the right way.
+

Revision as of 15:16, 6 November 2017

chronology

in visioning chronological order, newest first

Arrival

Arrival-filming-locations-poster-e1485131647103.jpg

String theory

About Testing String Theory by Analogy.gif

Blade runner 2049

  • seen 2017/11/01 (completed) - 2017 - imdb - rotten tomatoes
  • ugc toison d'or, photography & CG++, romantic relation with IA, hologram embodiment, memories factory, augmented vision

Blade-runner2049 poster.jpg

Stalker

  • seen 2017/10/30 (completed) - 1971 - imdb
  • torrent, poetry, sadness, mysticism, painting, sculpture, water

Stalker 1979 poster.jpg

THX 1138

  • seen ~2017/10/22 (completed) - 1971 - imdb
  • torrent, underground city, inhibiting drugs, no border spaces, christ, skins

Thx1138 movie poster.jpeg

Wrong

  • seen ~2017/10/20 (completed) - 2012 - imdb
  • torrent, twisted reality, time & social inconsistency, french accent, lost dog

Wrong the movie poster.jpg

Tank girl

  • seen 2017/10/16 & 17 (completed) - 1995 - imdb
  • torrent, desert, grunge, feminism, real character + anime, cobain (ost), iggy pop
  • Tank Girl = Riot Grrl?

Tank-girl-movie-poster-1995-1020472204.jpg

Virtual Revolution

  • seen 2017/10/10 (completed) - 2016 - imdb
  • torrent, blade runner-like merged with kind-of sucker punch

V1.bTsxMjI3NDA5OTtqOzE3NDY3OzEyMDA7MTIwMDsxNjAw.jpeg

The dark tower

  • seen 2017/10/10 (completed) - 2017 - imdb
  • torrent, parallel worlds, psychic power, king arthur

The-Dark-Tower-Poster-McConaughey.jpg

Logan's run

  • seen 2017/10/09 (completed) - 1976 - imdb
  • torrent, dome city, limited lifetime, sadmen, cardboard models++

Logan s run.jpg

StarCraft 2 - Legacy of the Void

  • seen 2017/10/09 - 2015 - youtube wikipedia
  • youtube, game, cinematic, protoss, 3d, fan-made

Horizon : Robot Dinosaur World

Le fidèle

Le-fidele.20170821101527.jpg

In the aftermath

  • seen 2017/10/05 (completed) - 1988 - imdb
  • torrent, real character + anime, dark, serie z

In the aftermath.jpg In the aftermath2.jpg

series

Mr robot.jpg

Poster-rick-y-morty.jpg

listings

resources

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]]