У меня есть скрипт, который разбивает mp3-файлы на более мелкие файлы и постепенно их нумерует.Сейчас я также пытаюсь постепенно увеличивать заголовок -метаданных числовое значение и дорожку-метаданных числовое значение, но ffmpeg видит все как строку.Строка, с которой у меня возникла проблема:
ffmpeg -i "$f" -f segment -segment_time 1200 -ar 22050 -ac 1 -metadata title="$%03d-$fn.mp3" -metadata track="$%02d" "$splitdirname/%03d-$fn.mp3" #split every 20mins
Если вы посмотрите на созданный заголовок метаданных, он говорит: $% 03d-title_of_file.mp3 Я пытаюсь получить метаданныезаголовок с приращением, например 001-title_of_file.mp3 , 002-title_of_file.mp3 , 003-title_of_file.mp3 , ...
Полный сценарий, который я использую, приведен ниже:
#!/bin/bash
#run using bash mp3spl.sh
currentdir="$(pwd)" #get current directory
for f in *.mp3 # only look for mp3 files
do
#fn=`echo "$1" | cut -d'.' -f1` #get just the filename no extension
fn=$(basename "$f" | cut -d'.' -f1) #get just the filename no extension
echo "($fn)"
splitdirname="$currentdir/split-$fn" #sub directory with correct names
#echo "splitdirname $splitdirname"
mkdir -p "$splitdirname" #make split directory
#echo "Processing $f"
ffmpeg -i "$1" 2> tmp.txt
ffmpeg -i "$f" -f segment -segment_time 1200 -ar 22050 -ac 1 -metadata title="$%03d-$fn.mp3" -metadata track="$%02d" "$splitdirname/%03d-$fn.mp3" #split every 20mins
#rm tmp.txt
done
Использование -metadata title = "$% 03d- $ fn.mp3" -metadata track = "$% 02d" не создает добавочные числас ведущими нулями при использовании с ffmpeg.