How to archive an audiobook

Download

YouTube or BiliBili

Please don't use aria2c when downloading YouTube videos.

set -Eexo pipefail
start="${2}"
end="${3}"
echo "dest:"
read dest
for ((i=start; i<=end; i++)); do
  yt-dlp --playlist-items "$i" -f m4a --downloader aria2c "$1"
  # TODO: rename
  rclone move . "$dest" --include="*.m4a" -P
done

Chinese

curl 'https://oss-links.guoguo.org.cn/uploads/t000/219-%E5%85%A8%E8%81%8C%E9%AB%98%E6%89%8B/1541.mp3' -H 'Referer: https://m.ting15.com/' -o a.mp3

Rename

1-5 -> 0001-0005

rename 's/.+(\d+)-(\d+).+/sprintf("%04d-%04d.m4a", $1, $2)/e' * -n

Trim audio

time ffmpeg -i input.m4a -ss start -to end -threads 0 output.m4a

Upload

set -Eexo pipefail
time ia upload "$1" * --retries 10 --delete
set -Eexo pipefail
echo "Item name:"
read item
while read file ; do
time ia upload "$item" "$file" --retries 10 --delete
done < <(rclone lsf "tmp:${item}")
echo "Dest:"
read dest
echo "Identifier:"
read identifier
for i in {1..12} ; do
  rclone copy "$dest" "ia:$identifier" --include="*.m4a" --progress --transfers 3 --internetarchive-front-endpoint="https://archive.org"
  sleep 1800
done

Add to database

echo "Identifier:"
read identifier
esperoj ingest_audiobook "$identifier"