Skip to content

Instantly share code, notes, and snippets.

@taesiri
Last active February 6, 2018 13:33
Show Gist options
  • Save taesiri/e2e8e507beae6c5e96f63acff2da96dc to your computer and use it in GitHub Desktop.
Save taesiri/e2e8e507beae6c5e96f63acff2da96dc to your computer and use it in GitHub Desktop.
Boring Automators
#!/bin/bash
# sample video tiler using ffmpeg (for generating giant tiled video out of many tiny videos)
ffmpeg -i 0001.mp4 -i 0002.mp4 -i 0003.mp4 -i 0004.mp4 -i 0005.mp4 -i 0006.mp4 -i 0007.mp4 -i 0008.mp4 -i 0009.mp4 -i 0010.mp4 -i 0011.mp4 -i 0012.mp4 -i 0013.mp4 -i 0014.mp4 -i 0015.mp4 -i 0016.mp4 -i 0017.mp4 -i 0018.mp4 -i 0019.mp4 -i 0020.mp4 -i 0021.mp4 -i 0022.mp4 -i 0023.mp4 -i 0024.mp4 -i 0025.mp4 -i 0026.mp4 -i 0027.mp4 -i 0028.mp4 -i 0029.mp4 -i 0030.mp4 -i 0031.mp4 -i 0032.mp4 -i 0033.mp4 -i 0034.mp4 -i 0035.mp4 -i 0036.mp4 -i 0037.mp4 -i 0038.mp4 -i 0039.mp4 -i 0040.mp4 -i 0041.mp4 -i 0042.mp4 -i 0043.mp4 -i 0044.mp4 -i 0045.mp4 -filter_complex "
nullsrc=size=4608x2560 [TMP0];
[0:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT0];
[1:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT1];
[2:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT2];
[3:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT3];
[4:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT4];
[5:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT5];
[6:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT6];
[7:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT7];
[8:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT8];
[9:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT9];
[10:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT10];
[11:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT11];
[12:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT12];
[13:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT13];
[14:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT14];
[15:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT15];
[16:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT16];
[17:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT17];
[18:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT18];
[19:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT19];
[20:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT20];
[21:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT21];
[22:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT22];
[23:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT23];
[24:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT24];
[25:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT25];
[26:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT26];
[27:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT27];
[28:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT28];
[29:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT29];
[30:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT30];
[31:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT31];
[32:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT32];
[33:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT33];
[34:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT34];
[35:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT35];
[36:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT36];
[37:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT37];
[38:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT38];
[39:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT39];
[40:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT40];
[41:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT41];
[42:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT42];
[43:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT43];
[44:v] setpts=PTS-STARTPTS, scale=512x512 [INPUT44];
[TMP0][INPUT0] overlay=shortest=1:x=0:y=0 [TMP1];
[TMP1][INPUT1] overlay=shortest=1:x=0:y=512 [TMP2];
[TMP2][INPUT2] overlay=shortest=1:x=0:y=1024 [TMP3];
[TMP3][INPUT3] overlay=shortest=1:x=0:y=1536 [TMP4];
[TMP4][INPUT4] overlay=shortest=1:x=0:y=2048 [TMP5];
[TMP5][INPUT5] overlay=shortest=1:x=512:y=0 [TMP6];
[TMP6][INPUT6] overlay=shortest=1:x=512:y=512 [TMP7];
[TMP7][INPUT7] overlay=shortest=1:x=512:y=1024 [TMP8];
[TMP8][INPUT8] overlay=shortest=1:x=512:y=1536 [TMP9];
[TMP9][INPUT9] overlay=shortest=1:x=512:y=2048 [TMP10];
[TMP10][INPUT10] overlay=shortest=1:x=1024:y=0 [TMP11];
[TMP11][INPUT11] overlay=shortest=1:x=1024:y=512 [TMP12];
[TMP12][INPUT12] overlay=shortest=1:x=1024:y=1024 [TMP13];
[TMP13][INPUT13] overlay=shortest=1:x=1024:y=1536 [TMP14];
[TMP14][INPUT14] overlay=shortest=1:x=1024:y=2048 [TMP15];
[TMP15][INPUT15] overlay=shortest=1:x=1536:y=0 [TMP16];
[TMP16][INPUT16] overlay=shortest=1:x=1536:y=512 [TMP17];
[TMP17][INPUT17] overlay=shortest=1:x=1536:y=1024 [TMP18];
[TMP18][INPUT18] overlay=shortest=1:x=1536:y=1536 [TMP19];
[TMP19][INPUT19] overlay=shortest=1:x=1536:y=2048 [TMP20];
[TMP20][INPUT20] overlay=shortest=1:x=2048:y=0 [TMP21];
[TMP21][INPUT21] overlay=shortest=1:x=2048:y=512 [TMP22];
[TMP22][INPUT22] overlay=shortest=1:x=2048:y=1024 [TMP23];
[TMP23][INPUT23] overlay=shortest=1:x=2048:y=1536 [TMP24];
[TMP24][INPUT24] overlay=shortest=1:x=2048:y=2048 [TMP25];
[TMP25][INPUT25] overlay=shortest=1:x=2560:y=0 [TMP26];
[TMP26][INPUT26] overlay=shortest=1:x=2560:y=512 [TMP27];
[TMP27][INPUT27] overlay=shortest=1:x=2560:y=1024 [TMP28];
[TMP28][INPUT28] overlay=shortest=1:x=2560:y=1536 [TMP29];
[TMP29][INPUT29] overlay=shortest=1:x=2560:y=2048 [TMP30];
[TMP30][INPUT30] overlay=shortest=1:x=3072:y=0 [TMP31];
[TMP31][INPUT31] overlay=shortest=1:x=3072:y=512 [TMP32];
[TMP32][INPUT32] overlay=shortest=1:x=3072:y=1024 [TMP33];
[TMP33][INPUT33] overlay=shortest=1:x=3072:y=1536 [TMP34];
[TMP34][INPUT34] overlay=shortest=1:x=3072:y=2048 [TMP35];
[TMP35][INPUT35] overlay=shortest=1:x=3584:y=0 [TMP36];
[TMP36][INPUT36] overlay=shortest=1:x=3584:y=512 [TMP37];
[TMP37][INPUT37] overlay=shortest=1:x=3584:y=1024 [TMP38];
[TMP38][INPUT38] overlay=shortest=1:x=3584:y=1536 [TMP39];
[TMP39][INPUT39] overlay=shortest=1:x=3584:y=2048 [TMP40];
[TMP40][INPUT40] overlay=shortest=1:x=4096:y=0 [TMP41];
[TMP41][INPUT41] overlay=shortest=1:x=4096:y=512 [TMP42];
[TMP42][INPUT42] overlay=shortest=1:x=4096:y=1024 [TMP43];
[TMP43][INPUT43] overlay=shortest=1:x=4096:y=1536 [TMP44];
[TMP44][INPUT44] overlay=shortest=1:x=4096:y=2048
" -c:v libx264 output_tiled.mp4
# restrict size of all images in current directory buy 512x512 - this command will preserve aspect ratio
magick mogrify -resize 512x512\> *.jpg
#!/bin/bash
# run python code against several images. (maybe style transfer on multiple images at the cost of one command!
for a in `seq 1 100`;
do
echo $i
KERAS_BACKEND=tensorflow python3 CODE.py -s PATH/$(printf "IMAGE%05d.jpg" "$a") --output $(printf "OUTPUT%05d.jpg" "$a") --output-dir Outdir
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment