time

Вырезаем рекламу из подкастов

Есть подкаст, который интересно слушать, но все портит самореклама в начале и в конце mp3-файла. Если бы она была спокойной и не навязчивой, то можно еще смириться, но нет - громкость в ней больше чем в основном потоке и звучит она агрессивно.

Во всех треках длина рекламы одинаковая, а вот общая продолжительность подкаста разная. Я бы хотел получить этот же аудио трек, но без x-секунд с начала файла и y-секунд с конца файла.

Для получения продолжительности mp3-файла использую mp3info, а для обрезки лишнего - mp3cut.

Установим нужные пакеты

sudo apt-get install mp3info poc-streamer

Пример обрезки mp3-файла

mp3cut -o output.mp3 -t 00:14+000-02:30:00+000 input.mp3

Для пакетной обработки подкастов у меня получился следующий bash-скрипт, который вычисляет продолжительность mp3-файла и обрезает с 15 по -35 секунду с конца.

for dirty in in/*.mp3
do
    fname=$(basename $dirty)
    length_in_sec=$((`mp3info -p "%S" $dirty`-35))
    min=$((length_in_sec/60))
    sec=$((length_in_sec-$min*60))
    mp3cut -o out/$fname -t 00:14-$min:$sec $dirty
done

В рабочей директории находиться выше приведенный bash-скрипт и две директории

  • in - набор mp3-файлов для нарезки
  • out - обработанные файлы

Дополнительное чтиво

blog comments powered by Disqus