Continue processing on fpcalc Invalid data error with AcoustId?

Support for Ubuntu and other Desktop Linux distributions
Post Reply
goofy183
Posts: 6
Joined: 24 Nov 2018, 02:53

Continue processing on fpcalc Invalid data error with AcoustId?

Post by goofy183 »

I'm trying to bulk rename a bunch of music via AcoustId and I randomly get errors like the one pasted below. The problem is the error stops the entire matching process, so I have to move that file out of the way and restart. Is there a way to get filebot it just ignore/log these errors and keep going? I'm doing this via the GUI.

Code: Select all

ERROR: Error decoding audio frame (Invalid data found when processing input)
ExecuteException: [fpcalc, /shared/plex-library/Music.renamed/Abbey Simon, Piano Saint Louis Symphony Orchestra Leonard Slatkin, Conductor/Rachmaninoff Complete Works For Piano & Orchestra/02 - Mvt. Ii - Andante.m4a] failed (3)
java.util.concurrent.ExecutionException: net.filebot.ExecuteException: [fpcalc, /shared/plex-library/Music.renamed/Abbey Simon, Piano Saint Louis Symphony Orchestra Leonard Slatkin, Conductor/Rachmaninoff Complete Works For Piano & Orchestra/02 - Mvt. Ii - Andante.m4a] failed (3)
	at net.filebot.ui.rename.RenamePanel$AutoCompleteAction$1.done(RenamePanel.java:940)
Caused by: net.filebot.ExecuteException: [fpcalc, /shared/plex-library/Music.renamed/Abbey Simon, Piano Saint Louis Symphony Orchestra Leonard Slatkin, Conductor/Rachmaninoff Complete Works For Piano & Orchestra/02 - Mvt. Ii - Andante.m4a] failed (3)
	at net.filebot.Execute.execute(Execute.java:51)
	at net.filebot.Execute.execute(Execute.java:20)
	at net.filebot.web.AcoustIDClient.fpcalc(AcoustIDClient.java:202)
	at net.filebot.web.AcoustIDClient.lookup(AcoustIDClient.java:60)
	at net.filebot.ui.rename.MusicMatcher.match(MusicMatcher.java:34)
	at net.filebot.ui.rename.RenamePanel$AutoCompleteAction$1.doInBackground(RenamePanel.java:922)
	at net.filebot.ui.rename.RenamePanel$AutoCompleteAction$1.doInBackground(RenamePanel.java:918)
Install info:

Code: Select all

$ filebot -script fn:sysinfo
FileBot 4.8.5 (r6224)
JNA Native: 5.2.0
MediaInfo: 17.12
p7zip: p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,32 CPUs Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz (206D7),ASM,AES-NI)
unrar: UNRAR 5.50 freeware
Chromaprint: fpcalc version 1.4.3
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2019-05-15 (r565)
Groovy: 2.5.6
JRE: OpenJDK Runtime Environment 11.0.4
JVM: 64-bit OpenJDK 64-Bit Server VM
CPU/MEM: 6 Core / 29 GB Max Memory / 35 MB Used Memory
OS: Linux (amd64)
HW: Linux linvm 5.0.21-4-pve #1 SMP PVE 5.0.21-9 (Mon, 11 Nov 2019 14:12:37 +0100) x86_64 x86_64 x86_64 GNU/Linux
DATA: /home/goofy183/.filebot
Package: DEB
License: FileBot License P10761663 (Valid-Until: 2020-12-21)
Done ヾ(@⌒ー⌒@)ノ
goofy183
Posts: 6
Joined: 24 Nov 2018, 02:53

Re: Continue processing on fpcalc Invalid data error with AcoustId?

Post by goofy183 »

I worked around the issue by pre-processing the files and removing anything with errors:

test.py:

Code: Select all

#!/usr/bin/env python
import sys
import os
import re

t = os.popen('ffmpeg -threads 6 -v error -i "%s" -f null - 2>&1' % sys.argv[1]).read()
if "Error" in t:
    print "- %s" % sys.argv[1]
else:
    print "+ %s" % sys.argv[1]
Scan all the files and capture the results in error.log

Code: Select all

$ find . -type f -print0 | xargs -0 -P 6 -n 1 /shared/plex-library/Music.renamed/test.py | tee error.log
Move the bad files into a different folder:

Code: Select all

$ grep "^-" error.log | cut -c 3- | sed 's/^/mv "/;s|$|" /shared/plex-library/Music.bad/|' | bash
User avatar
rednoah
The Source
Posts: 22976
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Continue processing on fpcalc Invalid data error with AcoustId?

Post by rednoah »

I'll look into it. At the very least we can silently ignore corrupt files and move on with the rest.
:idea: Please read the FAQ and How to Request Help.
goofy183
Posts: 6
Joined: 24 Nov 2018, 02:53

Re: Continue processing on fpcalc Invalid data error with AcoustId?

Post by goofy183 »

That would be ideal, just log the error and keep going.

Thanks for looking into it!
Post Reply