Как и большая часть населения нашей необъятной родины и нашей бывшей необъятной родины, я конечно же, качаю фильмы из интернета. И далеко не всегда они там выложены хорошего качества. И речь даже не о видео, а о звуке: порой приходится прислушиваться к словам, при этом спецэффекты бомбят по ушам - хоть убавляй. :( Задрало меня это, решил написать небольшой скрипт.
Всё собственно просто: разворачиваем аудио поток в PCM, суём его в sox, накладываем аудио компрессор, перекодируем всё это в mp3 и суём обратно в файл. :) Скрипт писан на коленке, так что ни какого сервиса, всё просто. За комменты в стиле "фу говно" - идём лихо в бан. ;) За конструктивные предложения и правки - спасибо.
Параметры для sox нагло тырены в инете. ;) Самому было лень подбирать параметры. Из нескольких источников набрал несколько разных вариантов, самому лень тестить. Могу только сказать, что первый вариант даёт наилучшее усиление, но подозреваю, что может давать и наибольшие искажения. Одно точно: слышно после этого всё просто отлично, чего я собственно и добивался.
Всё собственно просто: разворачиваем аудио поток в PCM, суём его в sox, накладываем аудио компрессор, перекодируем всё это в mp3 и суём обратно в файл. :) Скрипт писан на коленке, так что ни какого сервиса, всё просто. За комменты в стиле "фу говно" - идём лихо в бан. ;) За конструктивные предложения и правки - спасибо.
Параметры для sox нагло тырены в инете. ;) Самому было лень подбирать параметры. Из нескольких источников набрал несколько разных вариантов, самому лень тестить. Могу только сказать, что первый вариант даёт наилучшее усиление, но подозреваю, что может давать и наибольшие искажения. Одно точно: слышно после этого всё просто отлично, чего я собственно и добивался.
#!/bin/bash VIDEO=$* NAME=$(basename "$VIDEO") OUT_VIDEO=$(dirname "$VIDEO")/${NAME%%.*}.new.${NAME##*.} TMP=$(mktemp -d) OUT_MP3=$TMP/out.mp3 # наилучшее усиление ffmpeg -loglevel 24 -i "$VIDEO" -map 0:1 -c:a pcm_s32le -f wav - | sox -t wav - $OUT_MP3 compand 0.3,1 6:-70,-60,-20 -5 -90 0.2 # for music #ffmpeg -loglevel 24 -i "$VIDEO" -map 0:1 -c:a pcm_s32le -f wav - | sox -t wav - $OUT_MP3 compand 0.3,1 -90,-90,-70,-70,-60,-20,0,0 -5 0 0.2 # for movies #ffmpeg -loglevel 24 -i "$VIDEO" -map 0:1 -c:a pcm_s32le -f wav - | sox -t wav - $OUT_MP3 compand 0.0,1 6:-70,-43,-20 -6 -90 0.1 # for voice/music #ffmpeg -loglevel 24 -i "$VIDEO" -map 0:1 -c:a pcm_s32le -f wav - | sox -t wav - $OUT_MP3 compand 0.1,0.3 -60,-60,-30,-15,-20,-12,-4,-8,-2,-7 -2 ffmpeg -loglevel 24 -i "$VIDEO" -i $OUT_MP3 -map 0:0 -c:v copy -map 1:0 -c:a copy "$OUT_VIDEO" rm $OUT_MP3 rmdir $TMP
Комментариев нет:
Отправить комментарий