When an ffmpeg path is specified in config.json it is not (properly) read.
It seems a lookup is done for a ffmpeg root settings key, but not in binary_options->ffmpeg. Setting a "ffmpeg" key in the root of the json file doens't appear to work as it gets removed on ofscraper startup.
Note that the ffmpeg version found is the one on my path (8.x, not used for ofscraper but for other purposes), but not the one listed in the config file.
2026-03-29 16:49:17:[ffmpeg.get_ffmpeg:94] Searching for a valid FFmpeg binary...
2026-03-29 16:49:17:[ffmpeg.get_ffmpeg:98] Checking settings for ffmpeg path. Found: 'None'
2026-03-29 16:49:17:[ffmpeg._is_valid_ffmpeg:25] Path 'None' is not a valid or executable file.
2026-03-29 16:49:17:[ffmpeg.get_ffmpeg:104] Settings path invalid or not found. Attempting to use 'pyffmpeg' library.
2026-03-29 16:49:17:[ffmpeg.get_ffmpeg:115] 'pyffmpeg' not installed. Skipping.
2026-03-29 16:49:17:[ffmpeg.get_ffmpeg:123] No valid binary from settings or pyffmpeg. Checking system PATH.
2026-03-29 16:49:17:[ffmpeg._is_valid_ffmpeg:28] Running validation check on candidate path: e:\utils\ffmpeg\ffmpeg.EXE
2026-03-29 16:49:17:[subprocess.run:74] ffmpeg stdout:
ffmpeg version 8.0.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 15.2.0 (Rev8, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-liboapv --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-openal --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint --enable-whisper
libavutil 60. 8.100 / 60. 8.100
libavcodec 62. 11.100 / 62. 11.100
libavformat 62. 3.100 / 62. 3.100
libavdevice 62. 1.100 / 62. 1.100
libavfilter 11. 4.100 / 11. 4.100
libswscale 9. 1.100 / 9. 1.100
libswresample 6. 1.100 / 6. 1.100
Exiting with exit code 0
2026-03-29 16:49:17:[ffmpeg._is_valid_ffmpeg:48] ⚠️ Invalid FFmpeg version 8.x detected at 'e:\utils\ffmpeg\ffmpeg.EXE'.
DRM decryption requires FFmpeg version >= 6 and < 8.
Skipping this binary and looking for an alternative...
2026-03-29 16:49:17:[level.inner:10] A valid FFmpeg executable could not be found.
{
"main_profile": "main_profile",
"metadata": "<snip>",
"discord": "",
"file_options": {
"save_location": "<snip>",
"dir_format": "{model_username}/{responsetype}/",
"file_format": "{date} {post_id} {media_id}.{ext}",
"textlength": 0,
"space_replacer": " ",
"date": "YYYYMMDD",
"text_type_default": "letter",
"truncation_default": true
},
"download_options": {
"filter": [
"Images",
"Audios",
"Videos"
],
"auto_resume": true,
"system_free_min": 0,
"max_post_count": 0,
"verify_all_integrity": false
},
"binary_options": {
"ffmpeg": "E:\\utils\\ffmpeg\\v7\\ffmpeg.exe"
},
"cdm_options": {
"private-key": "<snip>",
"client-id": "<snip>",
"key-mode-default": "manual"
},
"performance_options": {
"download_sems": 6,
"download_limit": 0
},
"content_filter_options": {
"block_ads": true,
"file_size_max": 0,
"file_size_min": 0,
"length_max": 0,
"length_min": 0
},
"advanced_options": {
"dynamic-mode-default": "xagler",
"skip_unavailable_content": true,
"downloadbars": false,
"cache-mode": "sqlite",
"rotate_logs": true,
"sanitize_text": false,
"temp_dir": null,
"remove_hash_match": false,
"infinite_loop_action_mode": false,
"incremental_downloads": true,
"default_user_list": "main",
"default_black_list": "bl",
"logs_expire_time": 0,
"ssl_verify": "custom",
"env_files": []
},
"script_options": {
"after_action_script": null,
"post_script": null,
"naming_script": null,
"after_download_script": null,
"skip_download_script": null
},
"responsetype": {
"timeline": "posts",
"message": "messages",
"archived": "archived",
"paid": "messages",
"stories": "stories",
"highlights": "stories",
"profile": "profile",
"pinned": "posts",
"streams": "Streams"
}
}
I'm not sure if this is a recent regression, or it has been using the "wrong" ffmpeg (the 8.x one on PATH) for a longer time without issues and it's because the recent ffmpeg version check functionality that this has become obvious.
Describe the bug
When an ffmpeg path is specified in config.json it is not (properly) read.
To Reproduce
Steps to reproduce the behavior:
N/A
Expected behavior
It seems a lookup is done for a ffmpeg root settings key, but not in binary_options->ffmpeg. Setting a "ffmpeg" key in the root of the json file doens't appear to work as it gets removed on ofscraper startup.
Screenshots/Logs
Note that the ffmpeg version found is the one on my path (8.x, not used for ofscraper but for other purposes), but not the one listed in the config file.
Config
System Info
Additional context
I'm not sure if this is a recent regression, or it has been using the "wrong" ffmpeg (the 8.x one on PATH) for a longer time without issues and it's because the recent ffmpeg version check functionality that this has become obvious.
Thanks in advance for looking into this!