Преобразование аудио без потерь из FLAC в ALAC с использованием ffmpeg

Вам это не понравится, но это работает:

ExecStart=/bin/bash -c '\
    if [ ! -r /var/spool/torque/server_priv/serverdb ]; then \
            DAEMON_SERVER_OPTS="-t create $DAEMON_SERVER_OPTS"; \
    fi; \
    exec /usr/sbin/pbs_server -- $DAEMON_SERVER_OPT'
12
08.01.2018, 01:58
1 ответ

А для преобразования всего каталога...

Использование

pushd './Music/Some Album [flac]'
bash flac-to-alac.sh 

flac-to-alac.sh:

#!/usr/bin/env bash
my_bin="$(dirname $0)/flac-to-alac-ffmpeg.sh"
find. -type f -name '*.flac' -exec "$my_bin" {} \;

flac-to-alac-ffmpeg.sh:

#!/usr/bin/env bash
set -e # fail if there's any error
set -u

my_file=$1
my_new="$(echo $(dirname "$my_file")/$(basename "$my_file".flac).m4a)"
echo "$my_file"
ffmpeg -y -v 0 -i "$my_file" -acodec alac "$my_new"
# only gets here if the conversion didn't fail
#rm "$my_file"

Альтернатива:

Я думал, что смогу заставить это работать с помощью одной команды, но он не экранирует специальные символы, такие как [.

Это казалось таким многообещающим...

#!/usr/bin/env bash
set -e # exit immediately on error
set -u # error if a variable is misspelled

while read -r my_file; do
  #./foo/bar.flac =>./foo/bar.m4a
  my_new="$(dirname "$my_file")/$(basename "$my_file".flac).m4a"

  ffmpeg -i "$my_file" -acodec alac "$my_new"

  # safe because of set -e, but still do a test run
  #rm "$my_file"
done <<< "$(find. -type f -name '*.flac')"
1
27.01.2020, 19:55

Теги

Похожие вопросы