FAQ  •  Register  •  Login

MetadataExtractionCoordinator Fails on Every File

<<

rchiechi

Serviio newbie

Posts: 2

Joined: Sun Jul 07, 2019 10:40 am

Post Sun Jul 07, 2019 11:06 am

MetadataExtractionCoordinator Fails on Every File

Serviio Pro 2.0 refuses to scan any of my media files into the library.

Audio files give this error:
  Code:
[MetadataExtractionCoordinator] Skipping processing metadata for an unsupported file (/PATH/TO/ANY/MUSIC/FILE.M4A). Message: MP4 file '/PATH/TO/ANY/MUSIC/FILE.M4A' has unsupported codec (Alac)

Which is weird because it says "Apple Lossless ALAC (.mp4)" right on the Features page.

Video files (regardless of extension or format) give this error:
  Code:
2019-07-07 12:55:06,245 DEBUG [MediaFileIndexer] Found file '/PATH/TO/ANY/VIDEO/FILE.EXT ', checking if it's already in the Library
2019-07-07 12:55:06,245 DEBUG [MediaItemDAOImpl] Checking if DB already contains media item /PATH/TO/ANY/VIDEO/FILE.EXT
2019-07-07 12:55:06,245 DEBUG [MediaItemDAOImpl] Looking up a media item for file path: /PATH/TO/ANY/VIDEO/FILE.EXT , ignore case: false
2019-07-07 12:55:06,245 DEBUG [MediaItemDAOImpl] Media item /PATH/TO/ANY/VIDEO/FILE.EXT  doesn't exist in DB yet
2019-07-07 12:55:06,245 DEBUG [MediaFileIndexer] File not in Library, will add it
2019-07-07 12:55:06,245 DEBUG [LibraryHelper] Checking if the file is complete using file lock
2019-07-07 12:55:06,245 DEBUG [VideoExtractionStrategy] Extracting metadata of video file: /PATH/TO/ANY/VIDEO/FILE.EXT
2019-07-07 12:55:06,245 DEBUG [FFMPEGWrapper] Invoking FFMPEG to retrieve media information for file: /PATH/TO/ANY/VIDEO/FILE.EXT
2019-07-07 12:55:06,246 DEBUG [ProcessExecutor] Starting /opt/serviio/ffmpeg/bin/ffmpeg -i /PATH/TO/ANY/VIDEO/FILE.EXT
2019-07-07 12:55:06,394 DEBUG [MediaItemDAOImpl] Getting counts of media items by type
2019-07-07 12:55:06,423 DEBUG [FFMPEGWrapper] Invoking FFMPEG to retrieve thumbnail for file: /PATH/TO/ANY/VIDEO/FILE.EXT
2019-07-07 12:55:06,423 DEBUG [ProcessExecutor] Starting /opt/serviio/ffmpeg/bin/ffmpeg -threads 0 -ss 120 -i /PATH/TO/ANY/VIDEO/FILE.EXT  -an -frames:v 1 -f image2 pipe:
2019-07-07 12:55:06,484 DEBUG [OpenSubtitlesService] Generating hash code for opensubtitles.org for file /PATH/TO/ANY/VIDEO/FILE.EXT
2019-07-07 12:55:06,501 WARN  [MetadataExtractionCoordinator] Cannot read metadata of file /PATH/TO/ANY/VIDEO/FILE.EXT via extractor EMBEDDED. Message: No such device


If I run the ffmpeg command manually, it does not throw any errors:

  Code:
ffmpeg version 3.4.4 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-librtmp --enable-libxvid --enable-libass --enable-libxcb --extra-cflags=-I/opt/serviio/ffmpeg/build/include --extra-cflags=-I/opt/serviio/ffmpeg/build/lib --prefix=/opt/serviio/ffmpeg/
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, avi, from '/PATH/TO/ANY/VIDEO/FILE.EXT ':
  Metadata:
    encoder         : VirtualDubMod 1.5.10.2 (build 2540/release)
  Duration: 00:22:33.02, start: 0.000000, bitrate: 1084 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 512x384 [SAR 1:1 DAR 4:3], 938 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 133 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[mpeg4 @ 0x55999283ec60] Video uses a non-standard and wasteful way to store B-frames ('packed B-frames'). Cons$der using the mpeg4_unpack_bframes bitstream filter without encoding but stream copy to fix it.
[swscaler @ 0x559992b42e80] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'pipe:':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 512x384 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn,
23.98 tbc
    Metadata:                                                                                                         encoder         : Lavc57.107.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1


I am running Ubuntu 18.04.2 LTS:

  Code:
4.15.0-54-generic #58-Ubuntu SMP


  Code:
openjdk 11.0.3 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)


I compiled FFMPEG from the source given in the readme.
http://download.serviio.org/opensource/ffmpeg-3.4.4.tar.bz2
Using the following options:
  Code:
PKG_CONFIG_PATH=/opt/serviio/ffmpeg/lib/pkgconfig ./configure --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-librtmp --enable-libxvid --enable-libass --enable-libxcb --extra-cflags="-I/opt/serviio/ffmpeg/build/include" --extra-cflags="-I/opt/serviio/ffmpeg/build/lib" --prefix=/opt/serviio/ffmpeg/


With Lame and x264 compiled from the links in the readme.
http://download.serviio.org/opensource/last_x264.tar.bz2
http://download.serviio.org/opensource/lame-3.99.5.tar.gz

Serviio runs with this command:
  Code:
java --add-modules jdk.unsupported -Xmx512M -Xms20M -XX:+UseG1GC -XX:GCTimeRatio=1 -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dorg.restlet.engine.loggerFacadeClass=org.restlet.ext.slf4j.Slf4jLoggerFacade -Dderby.system.home=/opt/serviio/library -Dserviio.home=/opt/serviio -Dffmpeg.location=/opt/serviio/ffmpeg/bin/ffmpeg -Ddcraw.location=dcraw -classpath /opt/serviio/lib/*:/opt/serviio/config org.serviio.MediaServer


Apparently the central issue (at least with the ffmpeg pipe) is that the files are on a mergerfs fuse mount.
Testing Serviio on files stored directly on a local drive fixes the "No such device" error and allows importing of video files.
But the way I store my media files, Serviio needs to be able to read them off of the merged fs.
I read that disabling direct_io might fix the underlying java problem, but that is not an option due to the way one of the underlying file systems handles caching.

Is there any fix for this problem?
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Tue Jul 09, 2019 8:19 pm

Re: MetadataExtractionCoordinator Fails on Every File

Hi,

the Alac issue is a bug, will be fixed for the next version.

Re: the pipe issue, I'm not entirely sure what the fix is. Does this mean pipe: is not a valid ffmpeg device?
<<

rchiechi

Serviio newbie

Posts: 2

Joined: Sun Jul 07, 2019 10:40 am

Post Thu Jul 11, 2019 7:26 am

Re: MetadataExtractionCoordinator Fails on Every File

zip wrote:Hi,

the Alac issue is a bug, will be fixed for the next version.

Re: the pipe issue, I'm not entirely sure what the fix is. Does this mean pipe: is not a valid ffmpeg device?


Happy to know the ALAC issue is a fixable bug.

I am not a Java developer, but from what I was able to glean from the Internet, java.nio is complaining about the underlying filesystem being a FUSE mount with the direct_io option enabled. It is not at all clear to me why Java cares about the underlying filesystem since it seems to be reading from a pipe created by FFMPEG. But, if I point Serviio to a real filesystem it indeed has no problem picking up the (non-ALAC) files.

Return to Serviio Support & Help

Who is online

Users browsing this forum: No registered users and 44 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.