Tuesday, 02 May 2017 11:27

First sexual experiences in GIF

Wenn ich heute sterben würde, täte ich tatsächlich viele Menschen vermissen. Momente. Vieles. Schlimm ist nur wenn man dann per RSS feed einen tumblr Eintrag zugeschickt bekommt der mich dann daran erinnert das man doch vor allem das Internet missen wird. Bei so viel Müll und Spass der da online gestellt wird, will man vielleicht sich vor Scham noch in die Ecke zwängen, aber keineswegs sterben! Seien Sie doch mal ehrlich! Also, jener tumblr Eintrag trug den titel: Your first sexual experience in GIF. Herlich!






Published in Blog
Wednesday, 23 November 2016 13:50

ffmpeg code für Remember The .GIF

Ich hab jetzt endlich das bereits vor ein paar Monaten begonnene Batch-Script für das automatisiert generieren von "remember the .GIF" Videos beendet. Es ist schon unglaublich was mit ffmpeg mittlerweilse über die DOS Ebene möglich aber bevor ich da näher drauf eingehe, hier der gesamte Script:

for %%A IN (*.gif) do ffmpeg -ignore_loop 0 -i "%%A" -s 1920x1080 -pix_fmt yuv420p -r 25 -t 5 "tempo\%%A".mp4

(for %%i in (tempo\*.mp4) do @echo file '%%i') > list.txt
ffmpeg -f concat -i list.txt -i music.mp3 -c copy output.mp4
del list.txt
del tempo\*.mp4

ffmpeg -i output.mp4 -i watermark-qrcode.png -filter_complex "overlay=main_w-overlay_w-30:30" output1.mp4


SET mTit=Magic - Digital brain RMX
SET mArtist=Alexis Storm
SET mLabel=Sostanze Records
SET mDomain=WWW.SOSTANZERECORDS.IT

SET mTitFS=60
SET mArtistFS=40
SET infoFS=25
SET fontPathBold=fonts/Oswald-Bold.ttf
SET fontPath=fonts/Oswald-Regular.ttf
SET fontColor=white

REM ffmpeg -i output1.mp4 -vf drawtext="fontfile=%fontPath%: text='Hello There, overlaid':fontsize=120:fontcolor=white:x=30:y=800" output2.mp4
ffmpeg -i output1.mp4 -vf "[in]drawtext=enable='between(t,0,8)':fontfile=%fontPathBold%: text='%mTit%':fontsize=%mTitFS%:fontcolor=%fontColor%:x=90:y=750,drawtext=enable='between(t,0,8)':fontfile=%fontPath%: text='%mArtist%':fontsize=%mArtistFS%:fontcolor=%fontColor%:x=90:y=815,drawtext=enable='between(t,0,8)':fontfile=%fontPath%: text='%mLabel%':fontsize=%infoFS%:fontcolor=%fontColor%:x=90:y=875,drawtext=enable='between(t,0,8)':fontfile=%fontPath%: text='%mDomain%':fontsize=%infoFS%:fontcolor=%fontColor%:x=90:y=905[out]" output2.mp4

REM del output.mp4
REM del output1.mp4

Und jetzt Zeile für Zeile näher erklärt: Mit der ersten Befehlszeile starte ich eine For Schleife die sämtliche GIF Bilder im Verezichnis nicht nur in MP4 VIdeos umwandelt, sondern auch gleich bei 25 Bildern Pro Sekunde auf 5 Sekunden länge und eine Auflösung von 1920x1080 Pixel bringt. Die mp4 Files werden in einen unterordner "Tempo" abgespeichert.
In dem nächsten Block lasse ich sämtliche mp4 Videos in dem Unterordner "Tempo" zu einer Textdatei als Liste abspeichern un zu einem einzigen Video zusammen fügen und mit einer mp3 Datei abmischen. Ich habe jetzt also ein Video mit den jeweiligen GIF Animationen und der dazu gehörigen Musik aus der mp3 Datei.

Es folgtein Satz an Variablen die ich mit SET definiere. Das hab ich eingebaut damit ich nich jedes mal in die elendig lange letzte Befehlszeile die jeweiligen Stllen raussuchen und mit den neuen Informationen füllen muss. Erst der Musiktitel, dann der Künstler, gefolgt von dem Herausgebendem Laben und einer Webseite.
Im nächsten Satz an Variablen definiere ich weitere Parameter für die generierung des neuen Videos. Es handelt sic hhierbei ausschliesslich um Schriftgrössen, Farben des Textes und dem Pfad zu der jewweiligen Schriftart.
Bsonderdas das mit der Typografie ist schier unglaublich denn bisher musste man immer über die GD Library oder ImageMagic an die Texteinbindung ran. Jetzt lässt sich alles via ffmpeg lösen.

In der letzten Zeile nehme ich dann das neu generierte mp4 Video samt Musik und packe sowohl als Watermark-Overlay den QR-Code oben rechts hin, als auch unten links die Musikvideo information.

Das einzige was mir zum finetuning jetzt noch fehlt ist das der Txt ein und ausgeblendet wird und nicht so plötzlich erscheint.
Auf diese Weise - via ffmpeg - spare ich mir schätzungsweise 4 Stunden Arbeit und 2 Stunden rendering des Videos.
Published in remember the .GIF
Bei fast jeder "remember the .GIF" Nacht die ich in Hamburg realisiert habe, wurde ich gefragt wo man die Videos downloaden kann. Daraus entstand die Idee neben dem eigentlichem JS und HTML script tatsächlich auch Videos zu erstellen. Das Resultat ist der eigens für die GIF Videos generierte Youtube Kanal.
Ursprünglich liess ich ein script 150 GIFs aus meinem Archiv auswählen und in einen neuen Ordner kopieren. Mit dem Bulk File Renamer konnte ich die GIFs dann nach einer numerischen Reihenfolge (1,2,3,4...) umbennen. Diese 150 Files importiere ich dann in Magix Video Deluxe, welches es mir zum Glück erlaubte automatisch einzustellen das jedes importierte Bild 5 Sekunden lang sei. Bei 95% der GIF Bilder klappte das auch ganz gut. Aber es gab immer ein paar die sich auf Grund ihrer Codierung nicht oder nur falsch importieren liessen. Da fehlte dann entweder das looping oder sie waren zu hoch, während die Videos ja im 16:9 Format generiert wurden. Waren die Bilder ein mal drin und richtig proportioniert, generierte ich das mp4 Video direkt aus Magix heraus. Dieser ganze Vorgang konnte schon mal 4 bis 5 Stunden dauern.

Logisch das eine schnellere Lösung her musste, die auch über viele remember the .GIF Videos hinweg perfekt funktionierte - und plötzlich dann doch nicht mehr. Aber Schritt für Schritt.....
Die zweite Lösung die ich fand, war einfach den Bildschirm aufzunehmen. Dazu schrieb ich eine eigene HTML Datei die sowohl aus einem Ordner GIF Animationen abspielte, als auch im Hintergrund schon mal die Musik laufen liess. Wie gesagt funktionierte das lange Zeit auch sehr gut, doch in den letzten Videos waren die gecapturten Videos seltsamer Weise immer schneller (bei Schätzungsweise 20 Frames Pro Sekunde) als ursprünglich mit 25fps angegeben. Ich habe nach langen Recherchen heraus gefunden das dies mit der Prozessor Leistung zusammen hängt - sowhl von der Grafikkarte, den Treibern als auch dem Rechner selbst.
Was mich wunderte war das diese Lösung über viele Videos hinweg ja super funktioniert hatte. Ich muss irgendwann mal den falschen Schalter getätigt haben.


Die Lösung die ich seit gestern Testweise habe fahren lassen ist der Idealzustand und den habe ich ffmpeg zu verdanken. ffmpeg ist ein Kommandozeilen Tool das Videos, Bilder und Audio konvertieren, verbinden, kürzen, ändern etc. kann. Ich habe gestern eine so genannte BAT Datei generiert die in einer handvoll Zeilen folgendes macht:
- Suche Dir 50 GIF Animationen heraus
- Verlängere Sie auf maximal 5 Sekunden
- Passe ihre Grösse auf 1920x1080 an
- Mache aus jeder Datei eine Videodatei
- Verbinde alle neu generierten Video Datein
- Packe die Datei music.mp3 unter das Video
- Konvertiere alles zu einem mp4

Dieser Prozess dauert keine 25 Minuten und läuft voll automatisch ab. Es ist ein wunder! Und für mich mal wieder beängstigend da es mir zeigt wie verdammt schnell die Zeit mit der technischen Herausforderung und ihrer Entwicklung voran schreitet. Es gibt für alles eine Lösung. Es ist nur eine Frage der Zeit und des Geldes.
Hier das script aus der BAT Datei die ich generiert habe....
for %%A IN (*.gif) do ffmpeg -ignore_loop 0 -i "%%A" -s 1920x1080 -t 5 "tempo\%%A".mp4

(for %%i in (tempo\*.mp4) do @echo file '%%i') > list.txt
ffmpeg -f concat -i list.txt -i music.mp3 -c copy output.mp4
del list.txt
del tempo\*.mp4



Und hier ein paar ffmpeg Kommandozeilen Optionen die mich letztendlich zu meiner Lösung führten und durch die ich die Handhabung von ffmpeg besser checken lernte:

Informationen aus einer Audio/Video Datei entnehmen
ffmpeg -i video.avi

Video Datei in Bildersequenz umwandeln
ffmpeg -i video.mpg image%d.jpg

Die Tonspur aus einer Videodatei in einer neu generierten Datei abspeichern
ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 sound.mp3

AVI Video in ein MPG Video konvertieren
ffmpeg -i video_origine.avi video_finale.mpg

AVI in ein unkopmrimiertes GIF umwandeln
ffmpeg -i video_origine.avi gif_anime.gif

Eine neue Tonspur über ein Video legen
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg


FFMPEG gibt es kostenlos unter https://ffmpeg.org/
Published in Tools & Tutorials
Page 1 of 6
  • Gorillaz - Ascension (Feat. Vince Staples) (Nic Fanciulli Remix)
     

Portfolio PDF

cards-portfolio-header.jpg

Latest job

Random job

QR paintings

project-qroft-paintings.jpg

My products

project-qroft-prints.jpg

My Amazon wishlist

remember the .GIF

Titanic Zufalls Fachmann

  • Ray Charles
    Das wahre Ausmaß von Ray Charles’ Genie wurde mir erst bewußt, als ich versuchte, mit Sonnenbrille Klavier zu spielen.Bodil Schwerer

Imprint

Cyberholic
c/o Carlos Pinto
Av. Francisco Vega Monroy 11 P1C
35109 El Tablero, España

Haciendea San Bartolomé de Tirajana
NIE Y2632816C

carlos@cyberholic.es
+34 626 98 2112
+49 40 226 11399

Mindfaps

Interior Design

Movie wishlist

Seriously.

© 2017 Carlos Pinto, Cyberholic. All Rights Reserved.

Please publish modules in offcanvas position.