Создается только первая глава (офин файл). Что-то никак не могу понять в чем косяк....
Код: Выделить всё
$ cat m4b_to_m4as.sh
#!/bin/sh
TRACK=0
READY=false
INPUTFILE="$1"
ARTIST=`cat chapter.list | awk '/artist:/' | sed '/album_artist:/d' | sed 's/artist: //'`
ALBUM_ARTIST=`cat chapter.list | awk '/album_artist:/' | sed 's/album_artist: //'`
ALBUM=`cat chapter.list | awk '/album:/' | sed '/album_artist:/d' | sed 's/album: //'`
GENRE=`cat chapter.list | awk '/genre:/' | sed 's/genre: //'`
YEAR_DATE=`cat chapter.list | awk '/date:/' | sed 's/date: //'`
mkdir "$ALBUM"
while read LINE; do
if [[ "$LINE" == *title* ]]; then
TRACK=$(( $TRACK + 1))
READY=true
TITLE=`echo $LINE | awk '/title:/' | sed 's/title: //'`
else
READY=false
fi
if [[ "$LINE" == *Chapter* ]]; then
START_TXT=`echo $LINE | awk '/Chapter/ {print $4}' | sed 's/,*$//'`
START_POS=$(echo "scale=3; $START_TXT" | bc)
END_POS=`echo $LINE | awk '/Chapter/ {print $6}'`
DURATION=`echo "$END_POS $START_POS" | awk '{print $1 - $2}'`
fi
if [[ "$READY" == true ]]; then
ffmpeg -i "$INPUTFILE" -ss "$START_POS" -t "$DURATION" -sn -acodec copy \
-metadata title="$TITLE" -metadata artist="$ARTIST" -metadata album="$ALBUM" \
-metadata date="$YEAR_DATE" -metadata genre="$GENRE" -metadata track="$TRACK" "./$ALBUM/$TRACK.m4a"
fi
done < chapter.list