nschlia / ffmpegfs

FUSE-based transcoding filesystem with video support from many formats to FLAC, MP4, TS, WebM, OGG, MP3, HLS, and others.
https://nschlia.github.io/ffmpegfs/
GNU General Public License v3.0
206 stars 14 forks source link

folder.jpg album art files get transcoded when using desttype=webm+opus option in fstab #134

Closed cybern0id closed 2 years ago

cybern0id commented 2 years ago

Possibly related to https://github.com/nschlia/ffmpegfs/issues/28 ?

$ ffmpegfs --version
-------------------------------------------------------------------------------------------
Built with          : gcc 11.2.0 (linux-gnu)
configuration       : 

FFMPEGFS Version    : 2.10
FFmpeg Version      : 4.4.1-3+b2
Video CD Library    : enabled
FUSE library version: 2.9.9
fusermount3 version: 3.10.5
using FUSE kernel interface version 7.19

$ ls -lah flac/Air/2012\ -\ Le\ Voyage\ dans\ la\ Lune/
total 174M
drwxr-xr-x 2 user user 4.0K Apr 22 16:42  .
drwxr-xr-x 8 user user 4.0K Apr 21 22:58  ..
-rw-r--r-- 1 user user 3.1K Apr 21 23:05 'Air - Le Voyage dans la Lune.accurip'
-rw-r--r-- 1 user user 1.2K Apr 22 16:42 'Air - Le Voyage dans la Lune.cue'
-rw-r--r-- 1 user user 1.2K Apr 21 22:58 'Air - Le Voyage dans la Lune.cue.save'
-rw-r--r-- 1 user user 174M Apr 21 23:05 'Air - Le Voyage dans la Lune.flac'
-rw-r--r-- 1 user user 2.6K Apr 21 23:05 'Air - Le Voyage dans la Lune.log'
-rw-r--r-- 1 user user 152K Apr 21 23:05  folder.jpg

$ sudo mount /mnt/ffmpegfs/

$ ls -lah /mnt/ffmpegfs/Air/2012\ -\ Le\ Voyage\ dans\ la\ Lune/
total 31M
drwxr-xr-x 2 user user 4.0K Apr 22 16:42  .
drwxr-xr-x 8 user user 4.0K Apr 21 22:58  ..
-rw-r--r-- 1 user user 3.1K Apr 21 23:05 'Air - Le Voyage dans la Lune.accurip'
-rw-r--r-- 1 user user 1.2K Apr 22 16:42 'Air - Le Voyage dans la Lune.cue'
-rw-r--r-- 1 user user 1.2K Apr 21 22:58 'Air - Le Voyage dans la Lune.cue.save'
-rw-r--r-- 1 user user  30M Apr 21 23:05 'Air - Le Voyage dans la Lune.flac.opus'
drw-r--r-- 2 user user 4.0K Apr 22 16:42 'Air - Le Voyage dans la Lune.flac.tracks'
-rw-r--r-- 1 user user 2.6K Apr 21 23:05 'Air - Le Voyage dans la Lune.log'
-rw-r--r-- 1 user user  15K Apr 21 23:05  folder.jpg.webm

$ cat /etc/fstab
/media/user/blkid/Music/flac   /mnt/ffmpegfs  fuse.ffmpegfs   allow_other,ro,desttype=webm+opus,cachepath=/media/user/blkid/ffmpegfs-cache,max_cache_size=16G,expiry_time=3d,logfile=/var/log/ffmpegfs.log,log_maxlevel=DEBUG,min_diskspace=5G  0       0

$ dpkg -l | grep libav | grep -v libavahi
ii  gstreamer1.0-libav:amd64                 1.20.1-1                               amd64        ffmpeg plugin for GStreamer
ii  libavcodec-dev:amd64                     7:4.4.1-3+b2                           amd64        FFmpeg library with de/encoders for audio/video codecs - development files
ii  libavcodec58:amd64                       7:4.4.1-3+b2                           amd64        FFmpeg library with de/encoders for audio/video codecs - runtime files
ii  libavcodec58:i386                        7:4.4.1-3+b2                           i386         FFmpeg library with de/encoders for audio/video codecs - runtime files
ii  libavdevice58:amd64                      7:4.4.1-3+b2                           amd64        FFmpeg library for handling input and output devices - runtime files
ii  libavfilter-dev:amd64                    7:4.4.1-3+b2                           amd64        FFmpeg library containing media filters - development files
ii  libavfilter7:amd64                       7:4.4.1-3+b2                           amd64        FFmpeg library containing media filters - runtime files
ii  libavformat-dev:amd64                    7:4.4.1-3+b2                           amd64        FFmpeg library with (de)muxers for multimedia containers - development files
ii  libavformat58:amd64                      7:4.4.1-3+b2                           amd64        FFmpeg library with (de)muxers for multimedia containers - runtime files
ii  libavutil-dev:amd64                      7:4.4.1-3+b2                           amd64        FFmpeg library with functions for simplifying programming - development files
ii  libavutil56:amd64                        7:4.4.1-3+b2                           amd64        FFmpeg library with functions for simplifying programming - runtime files
ii  libavutil56:i386                         7:4.4.1-3+b2                           i386         FFmpeg library with functions for simplifying programming - runtime files
cybern0id commented 2 years ago

There seem to be other issues when specifying desttype=webm+opus. Am I getting this fstab switch wrong? Should I report a separate bug?

Almost all of my media files are monolithic file FLAC CD rips. The reason I've set desttype=webm+opus is because I have a few .mov video files that came on some audio+data CDs, mainly short music videos, that I would like transcoded to webm. I understood that with this option, ffmpegfs does smart transcoding of video to webm and audio to opus however, as well as the folder.jpg being transcoded, the audio tracks in the flac.tracks folder have .webm filetype plus the track file sizes are wildly inaccurate (mostly way too large, some way too small). I believe .webm can be a container for just audio (ogg, opus or flac etc) however, when trying to play these .webm audio files, VLC shows the length of each track as being the full length of the original FLAC file (31.20 minutes rather than 4.12 minutes for example), and it is not possible to seek within them. Playing the transcoded .mov (now .webm) video files does work though.

nschlia commented 2 years ago

There seem to be other issues when specifying desttype=webm+opus. Am I getting this fstab switch wrong? Should I report a separate bug?

You have understood the function perfectly. Although you could easily just use webm only, it uses Opus for audio by default, so it is just a different container. The option was mainly created to split files into ProRes and AIFF, where ProRes would have a big overhead when used for audio only. So AIFF/WAV was added as option of a concise audio only format. But desttype=webm+opus should work as you expected. Could you file a separate issue? I'll check what is going wrong.

nschlia commented 2 years ago

Possibly related to #28 ?

Yup. This is a regression of #28. The extension should be checked and treated passthrough. Simply not working as expected. I'll check what*s wrong. Does not work at all, even with --desttype=webm only. JPGs. PNGs, whatever, get converted to WebM.