Skip to content

Commit

Permalink
Choose ffmpeg colors at random
Browse files Browse the repository at this point in the history
  • Loading branch information
mwunsch committed Aug 8, 2016
1 parent 839c7cd commit 1e7e726
Showing 1 changed file with 35 additions and 2 deletions.
37 changes: 35 additions & 2 deletions src/sonic_sketches/twitter.clj
Expand Up @@ -30,15 +30,48 @@
params)]
(http/post uri (apply merge {:query-params (merge credentials params)} more))))

(def ffmpeg-colors
"A list of ffmpeg colors. From:
ffmpeg -colors 2>/dev/null | tail -n +2 | awk '{print $1}'"
(map str '(AliceBlue AntiqueWhite Aqua Aquamarine Azure
Beige Bisque Black BlanchedAlmond Blue
BlueViolet Brown BurlyWood CadetBlue Chartreuse
Chocolate Coral CornflowerBlue Cornsilk Crimson
Cyan DarkBlue DarkCyan DarkGoldenRod DarkGray
DarkGreen DarkKhaki DarkMagenta DarkOliveGreen Darkorange
DarkOrchid DarkRed DarkSalmon DarkSeaGreen DarkSlateBlue
DarkSlateGray DarkTurquoise DarkViolet DeepPink DeepSkyBlue
DimGray DodgerBlue FireBrick FloralWhite ForestGreen
Fuchsia Gainsboro GhostWhite Gold GoldenRod
Gray Green GreenYellow HoneyDew HotPink
IndianRed Indigo Ivory Khaki Lavender
LavenderBlush LawnGreen LemonChiffon LightBlue LightCoral
LightCyan LightGoldenRodYellow LightGreen LightGrey LightPink
LightSalmon LightSeaGreen LightSkyBlue LightSlateGray LightSteelBlue
LightYellow Lime LimeGreen Linen Magenta
Maroon MediumAquaMarine MediumBlue MediumOrchid MediumPurple
MediumSeaGreen MediumSlateBlue MediumSpringGreen MediumTurquoise MediumVioletRed
MidnightBlue MintCream MistyRose Moccasin NavajoWhite
Navy OldLace Olive OliveDrab Orange
OrangeRed Orchid PaleGoldenRod PaleGreen PaleTurquoise
PaleVioletRed PapayaWhip PeachPuff Peru Pink
Plum PowderBlue Purple Red RosyBrown
RoyalBlue SaddleBrown Salmon SandyBrown SeaGreen
SeaShell Sienna Silver SkyBlue SlateBlue
SlateGray Snow SpringGreen SteelBlue Tan
Teal Thistle Tomato Turquoise Violet
Wheat White WhiteSmoke Yellow YellowGreen)))

(defn wav->mp4
"Convert a path to a wav to an mp4. Returns a file object to the mp4."
[path seed]
(let [wav (java.io.File. path)
dir (.getParent wav)
filename (clojure.string/replace (.getName wav) #"\.wav" ".mp4")
mp4 (java.io.File. dir filename)
filter (str "[0:a]showwaves=s=640x360:r=20:mode=cline:colors=SpringGreen[fg];"
"life=s=640x360:ratio=0.2:mold=2:life_color=DarkCyan:death_color=DarkOrchid:"
[wavecolor lifecolor deathcolor] (datagen/reservoir-sample 3 ffmpeg-colors)
filter (str "[0:a]showwaves=s=640x360:r=20:mode=cline:colors=" wavecolor "[fg];"
"life=s=640x360:ratio=0.1:mold=2:life_color=" lifecolor ":death_color=" deathcolor ":"
"seed=" (.intValue seed) "[bg];"
"[bg][fg]overlay=shortest=1,format=yuv420p[v]")
ffmpeg (sh "ffmpeg" "-y" "-i" path
Expand Down

0 comments on commit 1e7e726

Please sign in to comment.