wolveix / plexus

A suite of tools to help manage your media collection.
https://plexus.wolveix.com
GNU General Public License v3.0
95 stars 11 forks source link

FFmpeg Not Working in Docker Image #35

Closed Emmer123 closed 3 years ago

Emmer123 commented 3 years ago

Hi again, sorry for another 2 questions (actually not a bug report because i'm sure it's a user error, but i can't select "question")

I've made a list of a test folder which works fine, not i'm trying to encode this folder but ffmpeg spits out the following:

Unrecognized option 'map 0  -preset faster -max_muxing_queue_size 1024 -movflags faststart -threads 2 -crf 20 -level 4.1 -vf yadif'.
Error splitting the argument list: Option not found

I've left most options default except for the paths. see below config file

audio_codec="aac"
blacklist_file="$HOME/.plexus/blacklist"
convert_dir="/encode/convert"
converted_dir="/encode/converted"
deinterlacing="true"
ffmpeg_binary="/usr/local/bin/ffmpeg"
ffmpeg_threads="2"
ffmpeg_preset="faster"
ffprobe_binary="/usr/local/bin/ffprobe"
force_overwrite="true"
fusermount_binary=""
hardware_acceleration="false"
hardware_codec="opencl"
list_file="/list/list.txt"
media_container="mkv"
media_dir="/media"
mount_dir="/mnt/gdrive"
rclone_binary="/usr/bin/rclone"
rsync_binary="/usr/bin/rsync"
video_codec="h264"
video_library="libx264"

Paths are based on volume binds (i've used a seperate mount for plexus to make sure it doesn't fill up my docker drive)

But it might have something to do with the "mount_dir" which i don't quite understand. As you've probably guessed this is a google drive mounted on the host (which is actually the same as /media in this case)"

When using rclone in this manner with plexus is it mandatory to use the rclone command from docker? or can i just pretend it's local storage and that would work as well, as for the mount dir i'm guessing thats where you'd mount the remote if using rclone flags in the encode command is that right?

thank you very much

wolveix commented 3 years ago

HI! Thanks for submitting another issue :) mount_dir is only used for the list function and is incorrectly included in the help section for the encode function. The mount_dir option is used if you intend to use the Rclone functionality within Plexus, which you do not. In which case, you should clear the mount_dir option and set your media path as an absolute under the media_dir. Based on the information you've provided, it should look like media_dir=/mnt/gdrive/media.

Emmer123 commented 3 years ago

Hi, listing works fine as far as what the config file thinks (within docker) i think it would be /media which is bound -v /mnt/gdrive:/media

Shouldn't the media_dir in that case just be "/media" ? it works for listing?

Does this have impact on the ffmpeg issue though you think? (i get the same issue if i try it locally, this is the reason i wanted to try the docker)

Below is the full output:

=== Plexus v0.9.74 - https://github.com/Wolveix/Plexus ===

Audio codec: aac
List file: /list/list.txt
Media container: mkv
Media directory: /media
Mount Path: 
Video codec: h264

Copying: Ted Lasso - S01E01 - Pilot.mkv

File copied.

File codecs:
Audio = eac3 -> aac
Container = mkv -> mkv
Video = h264 -> h264

ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.0 (Alpine 9.3.0)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.0 (Alpine 9.3.0)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Unrecognized option 'map 0  -preset faster -max_muxing_queue_size 1024 -movflags faststart -threads 2 -crf 20 -level 4.1 -vf yadif'.
Error splitting the argument list: Option not found

An unknown error occurred with FFmpeg.
Trying with full conversion instead.

ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.0 (Alpine 9.3.0)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Unrecognized option 'map 0  -preset faster -max_muxing_queue_size 1024 -movflags faststart -threads 2 -crf 20 -level 4.1 -vf yadif'.
Error splitting the argument list: Option not found

An unknown error occurred with FFmpeg.

Error: /media/series/Ted Lasso/Season 01/Ted Lasso - S01E01 - Pilot.mkv could not be encoded.
Moving onto the next line.
wolveix commented 3 years ago

Yes, in that case media_dir should be /media. You found a bug that was put in with the last update, thanks for finding it! Please try pulling the latest version (v0.9.75) and let me know how you get on :)

Emmer123 commented 3 years ago

sweet, the first one says unknown error but "trying with full conversion" goes ahead fine now. Haven't tested the actual results yet, but i'll update here. Thank you very much