shell script ffmpeg
Добавлено: 2016-11-02 15:32:39
Решил тут свою фильмотеку привести в порядок.
На просторах нета выкопал и собрал скрипт,который пережимает и выравнивает звук у конечного ролика, но вот не задача где-то теряется точка и ffmpeg сxодит с ума.
по порядку..
как и положено на тeстовом ролике выводит "тест.avi volume=5.4"
Но далее в config ffmpeg уже подставляет 5 4 без точки и ffmpeg уже работает не верно... 4 для него выходной фаил.
почему теряется точка?
На просторах нета выкопал и собрал скрипт,который пережимает и выравнивает звук у конечного ролика, но вот не задача где-то теряется точка и ffmpeg сxодит с ума.
по порядку..
Код: Выделить всё
#! /bin/sh
dir="./2007/"
for ext in AVI avi; do for file in $dir*.$ext;
do
volumeinfo=$(ffmpeg -hide_banner -i "$file" -af volumedetect -vn -f null /dev/null 2>&1)
vfvol=$(echo "$volumeinfo" | sed -nr '/max_volume:/ s/.*[[:space:]]-?([[:digit:]\.]+)[[:space:]]+dB$/\1/p')
echo "$file volume=${vfvol}"
/usr/local/bin/ffmpeg -hide_banner -i "$file" \
-c:v libx264 -preset veryslow -crf 20 -pix_fmt yuv420p -y \
-tune film -profile:v high \
-map_metadata 0 -vf smartblur \
-metadata:s:a:0 language=rus -metadata:s:v:0 language=rus \
-c:a libfdk_aac -b:a 128k \
-ar 44100 -af "volume="${vfvol}"dB" \
-f mp4 $dir"$(basename "$file" .$ext).mp4"
Код: Выделить всё
echo "$file volume=${vfvol}"
Но далее в config ffmpeg уже подставляет 5 4 без точки и ffmpeg уже работает не верно... 4 для него выходной фаил.
почему теряется точка?