Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Triage] Pending videos after retry loop with "WARNING: webm doesn't support embedding a thumbnail, mkv will be used" #500

Open
jbolla opened this issue Dec 8, 2024 · 16 comments
Assignees
Labels

Comments

@jbolla
Copy link

jbolla commented Dec 8, 2024

Describe the bug
Some videos are going into a retry loop when downloading that leaves them in pending state.

To Reproduce
Then happens when downloading the video. It's easiest to reproduce by selecting force download. The video where I first saw this was https://www.youtube.com/watch?v=ltLUadnCyi0. My settings video codec preference as "h265" and audio codex preference as "opus". My media profile has the default container (mp4) and embeds subtitles, thumbnails, and metadata.

Expected behavior
I would expect it to fall back to some supportable option like not embedding the thumbnail or using mkv. I could also see having per video user selectable overrides for the profile to get around this issue.

Diagnostic info

  • App Version: 2024.11.27
  • yt-dlp Version: 2024.11.18
  • Apprise Version: v1.9.0
  • System Architecture: x86_64-pc-linux-gnu
  • Timezone: America/Chicago

Additional context

[error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ltLUadnCyi0 --no-simulate --no-progress --force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h265:opus --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/3Blue1Brown/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/090d5d98f5515182633434cb79936bd6862c3dc42ecdbea6a67b2d8696e65333.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: webm doesn't support embedding a thumbnail, mkv will be used
ERROR: Postprocessing: Conversion failed!
@kieraneglin
Copy link
Owner

Hey there! Thanks for the report (: And sorry for the delay - I've been busy helping family move

I suspect this is something that'd be solved with a yt-dlp update. I'll release a new version later today with a bumped yt-dlp, but in the meantime you could try updating yt-dlp independently (guide - it's the last FAQ point)

@kieraneglin
Copy link
Owner

I've sent out a new version! Would you mind updating to it and letting me know if the error persists?

@jbolla
Copy link
Author

jbolla commented Dec 11, 2024

Thanks for the update! Sorry about the delay responding. I tried a "download pending" on the source and a "force download" on one of the videos, but I didn't see those videos show in the logs until 8 or so hours. Unfortunately it seems not to have changed anything.

05:27:13.367 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ltLUadnCyi0 --no-simulate --no-progress --force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h265:opus --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/3Blue1Brown/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1ad707f46236c4077bb4e55ec01539852ae92d5c6e507385a3a63778b1a0c5b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: webm doesn't support embedding a thumbnail, mkv will be used
ERROR: Postprocessing: Conversion failed!


05:27:13.367 [error] yt-dlp download error for media item #75: "WARNING: webm doesn't support embedding a thumbnail, mkv will be used\nERROR: Postprocessing: Conversion failed!\n"

05:27:13.368 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"force":true,"id":75},"id":9442,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":17255986,"event":"job:exception","queue_time":276422,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]}

App info:

  • App Version: 2024.12.10
  • yt-dlp Version: 2024.12.06
  • Apprise Version: v1.9.0
  • System Architecture: x86_64-pc-linux-gnu
  • Timezone: America/Chicago

@kieraneglin
Copy link
Owner

Sorry for the delay! I'm curious what ffmpeg version you're running - could you open a Docker console and tell me the output of ffmpeg -version | grep "ffmpeg version"

Also, are you using any custom yt-dlp options?


Note to self: add ffmpeg version to app info page

@jbolla
Copy link
Author

jbolla commented Dec 18, 2024

$ ffmpeg -version | grep "ffmpeg version"
ffmpeg version N-116468-g0e09f6d690-20240730 Copyright (c) 2000-2024 the FFmpeg developers

I don't remember setting up any custom options. Only base-config.txt exists, and it's empty.

@kieraneglin
Copy link
Owner

Truly bizarre! One final thing to test, would you mind disabling the sponsporblock removal on that Media Profile and seeing if that changes anything?

At the moment I'm not sure what this could be, especially since it seems to be unique to you specifically. I'm sure we'll figure it out, but for now I'm drawing a blank

@jbolla
Copy link
Author

jbolla commented Dec 19, 2024

I've updated the profile to disable sponsorblock, and now I'm waiting for it to attempt to download. Is there any way to convince it to start downloading right away? I tried "download pending" on the channel and "force download" on the video.

@kieraneglin
Copy link
Owner

Unfortunately not. Forcing a download only puts it in the queue, but it doesn't change its place in line

@jbolla
Copy link
Author

jbolla commented Dec 20, 2024

I'm not sure where it is in the queue is a problem. I have 25 sources, so there isn't all that much to keep up with. It's that downloading doesn't seem to happen all that often. There's currently nothing under "active tasks" on the home screen. My "media history" has a most recent;y indexed item indexed at "2024-12-18 14:00" but not yet downloaded.

@jbolla
Copy link
Author

jbolla commented Dec 20, 2024

From the logs it looks like there actually is a backlog of videos to download (they're failing with "Sign in to confirm you’re not a bot"). I mistakenly thought that "Media History" was sorted by date.

@jbolla
Copy link
Author

jbolla commented Dec 23, 2024

Finally able to get it to make another attempt. No change with sponsorblock disabled.

@jbolla
Copy link
Author

jbolla commented Dec 23, 2024

One thing I notice is that I have a video that is failing with "offline" that pinchflat keeps attempting to download in a loop, and it's starving out attempts to download other videos. The video in question is an old live stream. This is odd because I have livestream_behaviour: exclude in my media profile, and because if I look at that media source I see nothing in pending, and this video is not listed in downloaded or in other.

15:02:38.175 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vQPYgT_Lmdc --simulate --skip-download --output /downloads/engineerguy/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:h265:opus --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/65396f622a99b5676191879ee2c993b8a8377be6ea270514f57176ac980aab69.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache

15:02:39.604 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with:  --simulate --skip-download --output /downloads/engineerguy/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:h265:opus --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/65396f622a99b5676191879ee2c993b8a8377be6ea270514f57176ac980aab69.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] vQPYgT_Lmdc: Offline.


15:02:39.604 [error] Error creating media item 'vQPYgT_Lmdc' from URL: {:error, "ERROR: [youtube] vQPYgT_Lmdc: Offline.\n", 1}

@jbolla
Copy link
Author

jbolla commented Dec 23, 2024

I have another repro for the original issue:


16:29:42.745 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bR7VDPUj5AE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/001b093ff21ef41d6ead6390204957724c8719623f8992ffca686fe662a50cb4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache

16:29:45.507 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bR7VDPUj5AE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/001b093ff21ef41d6ead6390204957724c8719623f8992ffca686fe662a50cb4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 

16:29:45.508 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bR7VDPUj5AE --no-simulate --no-progress --force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h265:opus --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Historia Civilis/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/eeb2dbb2571ce90778af49e970250c5baa3f39e6e71f8d7767a1d5df06e8605e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache

16:29:56.919 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bR7VDPUj5AE --no-simulate --no-progress --force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h265:opus --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/Historia Civilis/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/eeb2dbb2571ce90778af49e970250c5baa3f39e6e71f8d7767a1d5df06e8605e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: webm doesn't support embedding a thumbnail, mkv will be used
ERROR: Postprocessing: Error opening input files: Numerical result out of range


16:29:56.919 [error] yt-dlp download error for media item #968: "WARNING: webm doesn't support embedding a thumbnail, mkv will be used\nERROR: Postprocessing: Error opening input files: Numerical result out of range\n"

@jbolla
Copy link
Author

jbolla commented Dec 23, 2024

One more repro:

16:44:01.027 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EDeyMeouyfY --no-simulate --no-progress --force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h265:opus --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor --output /downloads/TierZoo/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4c6e536673bfb9dbd59afcf8c3faa39e9aae6b3ee37417af971b266b3807ca1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: webm doesn't support embedding a thumbnail, mkv will be used
ERROR: Postprocessing: Error opening input files: Numerical result out of range


16:44:01.027 [error] yt-dlp download error for media item #3912: "WARNING: webm doesn't support embedding a thumbnail, mkv will be used\nERROR: Postprocessing: Error opening input files: Numerical result out of range\n"

@SenorFusion
Copy link

Resurrecting an older issue, but this is happening to me to.

To reproduce:

  • add a small channel (only like 15 videos)
  • they all go into queue and are continually retried by pinchflat
  • they actually show up in the filesystem, full downloads and everything - folder, json, mp4, png, and then a broken mp4 temp file and a webp image
  • pinchflat never registers that the video was downloaded. It clearly was but the thumbnail conversion/embed operation fails
  • video goes into the downloading loop described above and continually retries.

I have:
preferred video codec set: h264
preferred audio codec set: aac
output container: mp4

I believe this related to the incompatibility of mp4 and webp.

This old discussion on yt-dlp seems to imply this is a solved problem on their end and so I am wondering if something about how pinchflat is constructing the yt-dlp command is causing these images to not be allowed to be converted.

Below is a log dump because I don't really know what look for but the errors led me here.

2025-01-22 13:43:30.660 [error] | yt-dlp download error for media item #5: "ERROR: Preprocessing: Error opening output files: Invalid argument\nERROR: Preprocessing: Error opening output files: Invalid argument\nWARNING: unable to embed using mutagen; incompatible image type: webp\nERROR: Postprocessing: Unable to embed using ffprobe & ffmpeg; Conversion failed!\n" 2025-01-22 13:43:30.661 [info] | {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":5},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":22942303,"event":"job:exception","queue_time":28564557,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 2025-01-22 13:43:46.948 request_id=GB0YAbsofPHdBFkAAGpB [info] | GET /healthcheck 2025-01-22 13:43:46.949 request_id=GB0YAbsofPHdBFkAAGpB [debug] | Processing with PinchflatWeb.HealthController.check/2 Parameters: %{} Pipelines: [:api] 2025-01-22 13:43:46.949 request_id=GB0YAbsofPHdBFkAAGpB [info] | Sent 200 in 384µs 2025-01-22 13:43:50.783 [info] | {"args":{"id":8},"id":19,"meta":{},"system_time":1737571430783326319,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 2025-01-22 13:43:50.784 [debug] | QUERY OK source="media_items" db=0.3ms idle=807.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8] 2025-01-22 13:43:50.784 [info] | User scripts lifecyle file either not present or is empty. Skipping. 2025-01-22 13:43:50.785 [debug] | QUERY OK source="sources" db=0.2ms queue=0.1ms idle=808.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."use_cookies", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 2025-01-22 13:43:50.786 [debug] | QUERY OK source="media_metadata" db=0.2ms idle=810.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [8] 2025-01-22 13:43:50.787 [debug] | QUERY OK source="media_profiles" db=0.2ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 2025-01-22 13:43:50.788 [debug] | QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:43:50.788 [debug] | QUERY OK source="settings" db=0.2ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:43:50.789 [debug] | Running yt-dlp command for action: get_downloadable_status 2025-01-22 13:43:50.790 [debug] | QUERY OK source="settings" db=0.2ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:43:50.790 [info] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UrNHMCQRNpY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/ab/0fab04ba23c159ca2ac9c5eb757a402c29b3dbab1e2137528cdf4daa561453d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 2025-01-22 13:43:54.080 [debug] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UrNHMCQRNpY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/ab/0fab04ba23c159ca2ac9c5eb757a402c29b3dbab1e2137528cdf4daa561453d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 2025-01-22 13:43:54.080 [debug] | Running yt-dlp command for action: download 2025-01-22 13:43:54.080 [debug] | QUERY OK source="settings" db=0.2ms idle=298.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:43:54.081 [info] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UrNHMCQRNpY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h264:aac --format bestvideo*+bestaudio/best --output /downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/4b/30/4b3058ebf93e1573a8b089d2355f957651d9d1835c8c74a691892fcfc30ce6a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 2025-01-22 13:44:01.184 [error] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UrNHMCQRNpY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h264:aac --format bestvideo*+bestaudio/best --output /downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/4b/30/4b3058ebf93e1573a8b089d2355f957651d9d1835c8c74a691892fcfc30ce6a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Preprocessing: Error opening output files: Invalid argument ERROR: Preprocessing: Error opening output files: Invalid argument WARNING: unable to embed using mutagen; incompatible image type: webp ERROR: Postprocessing: Unable to embed using ffprobe & ffmpeg; Conversion failed! 2025-01-22 13:44:01.185 [error] | yt-dlp download error for media item #8: "ERROR: Preprocessing: Error opening output files: Invalid argument\nERROR: Preprocessing: Error opening output files: Invalid argument\nWARNING: unable to embed using mutagen; incompatible image type: webp\nERROR: Postprocessing: Unable to embed using ffprobe & ffmpeg; Conversion failed!\n" 2025-01-22 13:44:01.186 [info] | {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":8},"id":19,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10401892,"event":"job:exception","queue_time":809101,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 2025-01-22 13:44:04.810 [info] | {"args":{"id":5},"id":16,"meta":{},"system_time":1737571444810274796,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 2025-01-22 13:44:04.811 [debug] | QUERY OK source="media_items" db=0.3ms idle=1009.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5] 2025-01-22 13:44:04.811 [info] | User scripts lifecyle file either not present or is empty. Skipping. 2025-01-22 13:44:04.812 [debug] | QUERY OK source="sources" db=0.3ms queue=0.1ms idle=835.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."use_cookies", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 2025-01-22 13:44:04.813 [debug] | QUERY OK source="media_metadata" db=0.2ms idle=837.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5] 2025-01-22 13:44:04.814 [debug] | QUERY OK source="media_profiles" db=0.3ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 2025-01-22 13:44:04.814 [debug] | QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:04.815 [debug] | QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:04.815 [debug] | Running yt-dlp command for action: get_downloadable_status 2025-01-22 13:44:04.817 [debug] | QUERY OK source="settings" db=0.2ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:04.817 [info] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=skC1W6JqNgI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/f4/81f4f2e0d9781af277668dfaea9f9bce8bcf2a8d2531f6b8dc8ebb3fbd16f005.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 2025-01-22 13:44:07.956 [debug] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=skC1W6JqNgI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/f4/81f4f2e0d9781af277668dfaea9f9bce8bcf2a8d2531f6b8dc8ebb3fbd16f005.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 2025-01-22 13:44:07.956 [debug] | Running yt-dlp command for action: download 2025-01-22 13:44:07.956 [debug] | QUERY OK source="settings" db=0.2ms idle=1980.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:07.957 [info] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=skC1W6JqNgI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h264:aac --format bestvideo*+bestaudio/best --output /downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/7a/13/7a1356b0ea141ebc1e8c5a1d39d5ca21fe607f7efb64c184013c9a3fc087bcab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 2025-01-22 13:44:17.023 request_id=GB0YCLu_C4M0BiYAAGrB [info] | GET /healthcheck 2025-01-22 13:44:17.023 request_id=GB0YCLu_C4M0BiYAAGrB [debug] | Processing with PinchflatWeb.HealthController.check/2 Parameters: %{} Pipelines: [:api] 2025-01-22 13:44:17.023 request_id=GB0YCLu_C4M0BiYAAGrB [info] | Sent 200 in 184µs 2025-01-22 13:44:26.186 [error] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=skC1W6JqNgI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h264:aac --format bestvideo*+bestaudio/best --output /downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/7a/13/7a1356b0ea141ebc1e8c5a1d39d5ca21fe607f7efb64c184013c9a3fc087bcab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Preprocessing: Error opening output files: Invalid argument ERROR: Preprocessing: Error opening output files: Invalid argument WARNING: unable to embed using mutagen; incompatible image type: webp ERROR: Postprocessing: Unable to embed using ffprobe & ffmpeg; Conversion failed! 2025-01-22 13:44:26.186 [error] | yt-dlp download error for media item #5: "ERROR: Preprocessing: Error opening output files: Invalid argument\nERROR: Preprocessing: Error opening output files: Invalid argument\nWARNING: unable to embed using mutagen; incompatible image type: webp\nERROR: Postprocessing: Unable to embed using ffprobe & ffmpeg; Conversion failed!\n" 2025-01-22 13:44:26.187 [info] | {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":5},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":21376540,"event":"job:exception","queue_time":148589,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 2025-01-22 13:44:47.108 request_id=GB0YD7z3bV0Qo48AAGtB [info] | GET /healthcheck 2025-01-22 13:44:47.109 request_id=GB0YD7z3bV0Qo48AAGtB [debug] | Processing with PinchflatWeb.HealthController.check/2 Parameters: %{} Pipelines: [:api] 2025-01-22 13:44:47.109 request_id=GB0YD7z3bV0Qo48AAGtB [info] | Sent 200 in 313µs 2025-01-22 13:44:50.896 [info] | {"args":{"id":8},"id":19,"meta":{},"system_time":1737571490896505128,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 2025-01-22 13:44:50.897 [debug] | QUERY OK source="media_items" db=0.3ms idle=920.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8] 2025-01-22 13:44:50.897 [info] | User scripts lifecyle file either not present or is empty. Skipping. 2025-01-22 13:44:50.898 [debug] | QUERY OK source="sources" db=0.4ms idle=921.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."use_cookies", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 2025-01-22 13:44:50.899 [debug] | QUERY OK source="media_metadata" db=0.3ms idle=923.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [8] 2025-01-22 13:44:50.900 [debug] | QUERY OK source="media_profiles" db=0.3ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 2025-01-22 13:44:50.901 [debug] | QUERY OK source="settings" db=0.3ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:50.902 [debug] | QUERY OK source="settings" db=0.2ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:50.903 [debug] | Running yt-dlp command for action: get_downloadable_status 2025-01-22 13:44:50.904 [debug] | QUERY OK source="settings" db=0.3ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:50.904 [info] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UrNHMCQRNpY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2d/ad/2dad5d53d6cbc009e0ac2da30977cbaf00ca0e87141a9de8b90eefea3b63f646.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 2025-01-22 13:44:54.071 [debug] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UrNHMCQRNpY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2d/ad/2dad5d53d6cbc009e0ac2da30977cbaf00ca0e87141a9de8b90eefea3b63f646.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 2025-01-22 13:44:54.071 [debug] | Running yt-dlp command for action: download 2025-01-22 13:44:54.072 [debug] | QUERY OK source="settings" db=0.2ms idle=176.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 2025-01-22 13:44:54.072 [info] | [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=UrNHMCQRNpY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P<meta_date>.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:h264:aac --format bestvideo*+bestaudio/best --output /downloads/ArrowDodger Marlin Model 60/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/1a/09/1a09849766af55e59c61b1f63f70d6a86ae5db6b9d92ab3447c850faed440354.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache

@SenorFusion
Copy link

updated to yt-dlp latest made no change

  • Delete source and files
  • Manually Delete everything from disc (delete source and files did not delete the files because pinchflat wasnt registering them)
  • Disable Embed Thumbnails
  • Disable a custom arg: --remux-video mp4 --postprocessor-args "ffmpeg:-c:v copy -c:a aac -b:a 256k"
  • Re-add source
  • Videos are re-indexed and downloaded properly

Normally I would chalk this up to mistake in my custom yt-dlp but I don't think that's the case for 2 reasons:

  1. I was using this same configutation prior to the big 403 issue and it was working fine
  2. It's a pretty benign custom config as far as yt-dlp goes

So I kinda think this is either a yt-dlp upstream change or a pinchflat issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants