专辑封面丢失了!

专辑封面丢失了!

已经有一个非常简单且有效的脚本:

#!/bin/bash -x

mkdir .before
mkdir .error
for i in *.m??; do
        ffmpeg -n -i "$i" -b:a 16k "${i%.*}.opus" && mv "$i" .before/
        mv "$i" .error/
done

echo zzz finished $TITLE | termux-notification
termux-vibrate -f

当然,重要的命令就在ffmpeg那里,但请记住我的背景。termux。仅限 android。简单……并极大地减少了我的音乐收藏量!

一切正常......

除了本周我的小问题之外:

专辑封面丢失了!

参议院处理这个问题有很多问题,原因各不相同(显然都与 ogg 和 opus 容器的工作方式有关)事实上,它比乍一看要复杂得多。

到目前为止我能找到的唯一宣称的解决方案是 2014 年的一个脚本,但是它不能处理 opus:

https://superuser.com/a/706808/28411

你能帮我把这个简单化吗?

否则,我只会将其输出为同名的图像文件并在另一年处理它。

答案1

这就是我现在有效使用的方法:

#!/bin/bash -x

# use this for big folders
# mkdir .before; mkdir .error

for i in *.m??; do
        # main activity: compress mp3 down to 10%, with reduced album art!
        ffmpeg -hide_banner -y -i "$i" -c:v mjpeg -vsync 2 -vf scale=320:-1 -f flac - | opusenc - --bitrate 16 --music --framesize 40 "${i%.*}.opus" && mv "$i" .before/

        # some times opusenc don't work
        ffmpeg -hide_banner -n -i "$i" -b:a 16k -c:v mjpeg -vs
ync 2 -vf scale=320:-1 "${i%.*}.opus" && mv "$i" .before/

        # error catcher, if the folder exists
        mv "$i" .error/
done

# notify when finished, d'uh
echo zzz finished $TITLE | termux-notification
termux-vibrate -f

最后,问题opusenc实际上是艺术尺寸太大!当它工作时,它甚至比 ffmpeg 编码得更好一点(很少无法读取输入。不过,ffmpeg 从未失败过)。

相关内容