AlexKM commited on
Commit
d57ade2
1 Parent(s): b1c4a6f

Upload video_styler.sh

Browse files
Files changed (1) hide show
  1. video_styler.sh +51 -0
video_styler.sh ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ # Video styler - Use all images in a directory and style them
3
+ # video_styler.sh video.mp4
4
+
5
+ # Style text
6
+ TEXT="Oil painting of a woman in the foreground | pencil art landscape background"
7
+
8
+ ## Input and output frame directories
9
+ FRAMES_IN="/home/nerdy/github/VQGAN-CLIP/VideoFrames"
10
+ FRAMES_OUT="/home/nerdy/github/VQGAN-CLIP/Saves/VideoStyleTesting"
11
+
12
+ ## Output image size
13
+ HEIGHT=640
14
+ WIDTH=360
15
+
16
+ ## Iterations
17
+ ITERATIONS=25
18
+ SAVE_EVERY=$ITERATIONS
19
+
20
+ ## Optimiser & Learning rate
21
+ OPTIMISER=Adagrad # Adam, AdamW, Adagrad, Adamax
22
+ LR=0.2
23
+
24
+ # Fixed seed
25
+ SEED=`shuf -i 1-9999999999 -n 1` # Keep the same seed each frame for more deterministic runs
26
+
27
+ # MAIN
28
+ ############################
29
+ mkdir -p "$FRAMES_IN"
30
+ mkdir -p "$FRAMES_OUT"
31
+
32
+ # For cuDNN determinism
33
+ export CUBLAS_WORKSPACE_CONFIG=:4096:8
34
+
35
+ # Extract video into frames
36
+ ffmpeg -y -i "$1" -q:v 2 "$FRAMES_IN"/frame-%04d.jpg
37
+
38
+ # Style all the frames
39
+ ls "$FRAMES_IN" | while read file; do
40
+ # Set the output filename
41
+ FILENAME="$FRAMES_OUT"/"$file"-"out".jpg
42
+
43
+ # And imagine!
44
+ echo "Input frame: $file"
45
+ echo "Style text: $TEXT"
46
+ echo "Output file: $FILENAME"
47
+
48
+ python generate.py -p "$TEXT" -ii "$FRAMES_IN"/"$file" -o "$FILENAME" -opt "$OPTIMISER" -lr "$LR" -i "$ITERATIONS" -se "$SAVE_EVERY" -s "$HEIGHT" "$WIDTH" -sd "$SEED" -d True
49
+ done
50
+
51
+ ffmpeg -y -i "$FRAMES_OUT"/frame-%04d.jpg-out.jpg -b:v 8M -c:v h264_nvenc -pix_fmt yuv420p -strict -2 -filter:v "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=60'" style_video.mp4