Add temp folder and config quality audio
This commit is contained in:
parent
0763285918
commit
e06d5f1f24
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,3 +11,4 @@ pom.xml.asc
|
||||
.hgignore
|
||||
.hg/
|
||||
videos/
|
||||
.DS_Store
|
||||
|
@ -20,6 +20,7 @@ brew install openjdk
|
||||
extension_thumbnail: "_thumbnail.mp4"
|
||||
width_thumbnail: 600
|
||||
path_videos: "videos"
|
||||
audio_quality_thumbnail: 128
|
||||
```
|
||||
|
||||
3) Make folder `path_videos`.
|
||||
|
@ -1,3 +1,4 @@
|
||||
extension_thumbnail: "_thumbnail.mp4"
|
||||
width_thumbnail: 600
|
||||
path_videos: "videos"
|
||||
audio_quality_thumbnail: 128
|
||||
|
@ -1,4 +1,4 @@
|
||||
(defproject video-optimize "1.0.1-SNAPSHOT"
|
||||
(defproject video-optimize "1.0.2-SNAPSHOT"
|
||||
:description "Watcher and optimize videos"
|
||||
:url "http://example.com/FIXME"
|
||||
:license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"
|
||||
|
@ -11,19 +11,22 @@
|
||||
(def config (yaml/parse-string (slurp "config.yaml")))
|
||||
(def extension_thumbnail (:extension_thumbnail config))
|
||||
(def width_thumbnail (:width_thumbnail config))
|
||||
(def audio_quality_thumbnail (:audio_quality_thumbnail config))
|
||||
(def path_videos (:path_videos config))
|
||||
|
||||
(defn -main [& args]
|
||||
;; Watch
|
||||
(hawk/watch! [{:paths [path_videos]
|
||||
:handler (fn [ctx e]
|
||||
(let [path_raw (.getAbsolutePath (:file e))
|
||||
is_thumbnail (doall (re-find (re-pattern extension_thumbnail) path_raw))
|
||||
path_thumbnail (str/join (concat (drop-last (str/split path_raw #"\.")) extension_thumbnail))]
|
||||
(let [path_raw (.getAbsolutePath (:file e))
|
||||
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_temp (str "/tmp/" (last (str/split path_thumbnail #"\/")))]
|
||||
(if (and (.exists (io/file path_raw)) (not is_thumbnail) (not (.exists (io/file path_thumbnail))))
|
||||
(do
|
||||
(prn (str "Optimizing: " path_raw))
|
||||
;; 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))))))}])
|
||||
(println "Running: Feed me!"))
|
||||
|
Loading…
Reference in New Issue
Block a user