Add temp folder and config quality audio

This commit is contained in:
Andros Fenollosa 2020-07-15 11:28:31 +02:00
parent 0763285918
commit e06d5f1f24
5 changed files with 11 additions and 5 deletions

1
.gitignore vendored
View File

@ -11,3 +11,4 @@ pom.xml.asc
.hgignore .hgignore
.hg/ .hg/
videos/ videos/
.DS_Store

View File

@ -20,6 +20,7 @@ brew install openjdk
extension_thumbnail: "_thumbnail.mp4" extension_thumbnail: "_thumbnail.mp4"
width_thumbnail: 600 width_thumbnail: 600
path_videos: "videos" path_videos: "videos"
audio_quality_thumbnail: 128
``` ```
3) Make folder `path_videos`. 3) Make folder `path_videos`.

View File

@ -1,3 +1,4 @@
extension_thumbnail: "_thumbnail.mp4" extension_thumbnail: "_thumbnail.mp4"
width_thumbnail: 600 width_thumbnail: 600
path_videos: "videos" path_videos: "videos"
audio_quality_thumbnail: 128

View File

@ -1,4 +1,4 @@
(defproject video-optimize "1.0.1-SNAPSHOT" (defproject video-optimize "1.0.2-SNAPSHOT"
:description "Watcher and optimize videos" :description "Watcher and optimize videos"
:url "http://example.com/FIXME" :url "http://example.com/FIXME"
:license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0" :license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"

View File

@ -11,19 +11,22 @@
(def config (yaml/parse-string (slurp "config.yaml"))) (def config (yaml/parse-string (slurp "config.yaml")))
(def extension_thumbnail (:extension_thumbnail config)) (def extension_thumbnail (:extension_thumbnail config))
(def width_thumbnail (:width_thumbnail config)) (def width_thumbnail (:width_thumbnail config))
(def audio_quality_thumbnail (:audio_quality_thumbnail config))
(def path_videos (:path_videos config)) (def path_videos (:path_videos config))
(defn -main [& args] (defn -main [& args]
;; Watch ;; Watch
(hawk/watch! [{:paths [path_videos] (hawk/watch! [{:paths [path_videos]
:handler (fn [ctx e] :handler (fn [ctx e]
(let [path_raw (.getAbsolutePath (:file e)) (let [path_raw (.getAbsolutePath (:file e))
is_thumbnail (doall (re-find (re-pattern extension_thumbnail) path_raw)) is_thumbnail (doall (re-find (re-pattern extension_thumbnail) path_raw))
path_thumbnail (str/join (concat (drop-last (str/split path_raw #"\.")) extension_thumbnail))] path_thumbnail (str/join (concat (drop-last (str/split path_raw #"\.")) extension_thumbnail))
path_thumbnail_temp (str "/tmp/" (last (str/split path_thumbnail #"\/")))]
(if (and (.exists (io/file path_raw)) (not is_thumbnail) (not (.exists (io/file path_thumbnail)))) (if (and (.exists (io/file path_raw)) (not is_thumbnail) (not (.exists (io/file path_thumbnail))))
(do (do
(prn (str "Optimizing: " path_raw)) (prn (str "Optimizing: " path_raw))
;; Optimizing with ffmpeg ;; Optimizing with ffmpeg
(shell/sh "ffmpeg" "-y" "-i" path_raw "-vf" (str "scale=" width_thumbnail ":-2") "-c:v" "libx264" "-crf" "23" "-profile:v" "high" "-pix_fmt" "yuv420p" "-color_primaries" "1" "-color_trc" "1" "-colorspace" "1" "-movflags" "+faststart" "-an" "-acodec" "aac" "-ab" "128kb" path_thumbnail) (shell/sh "ffmpeg" "-y" "-i" path_raw "-vf" (str "scale=" width_thumbnail ":-2") "-c:v" "libx264" "-crf" "23" "-profile:v" "high" "-pix_fmt" "yuv420p" "-color_primaries" "1" "-color_trc" "1" "-colorspace" "1" "-movflags" "+faststart" "-an" "-acodec" "aac" "-ab" (str width_thumbnail "kb") path_thumbnail_temp)
(shell/sh "mv" path_thumbnail_temp path_thumbnail)
(prn (str "Finish: " path_thumbnail))))))}]) (prn (str "Finish: " path_thumbnail))))))}])
(println "Running: Feed me!")) (println "Running: Feed me!"))