take a look at this post
its not using the approved scanner but it works for me treating channels like shows with episode numbering
take a look at this post
its not using the approved scanner but it works for me treating channels like shows with episode numbering
Thank you for this! In case this helps anyone else, I adjusted it for my purposes on linux and ended up with
X:\Videos%(uploader)s [%(channel_id)s]/s%(upload_date>%Y)se%(upload_date>%m%d)s%(playlist_index)s [%(id)s] %(title)s.%(ext)s
Did the YouTube Metadata Agent stop working for anyone else today? I just noticed none of my videos mid afternoon stopped getting any metadata information. I rebooted, reinstalled the addin, grabbed a new API key and still can’t get the thing to grab any metadata using this. I am just wondering if it is just me or did Youtube stop it from working? Thank you.
It appears that version 1.32.0.6865 broke certain agents from working being downgrading back to 1.31.3.6868 fixed the problem with this agent not scanning in.
Yes. I went through a reinstall, API etc and have the same issue.
Did you find a fix?
Technically no, but I have found a workaround which sadly isn’t as simple as installing a new agent. How are you getting your Youtube videos, yt-dlp, or are you using a another program? I can share with you what I did which seems to bring metadata back into youtube videos that will show up in Plex.
Sharing would be good ![]()
Ok, this will be a tad long but I want to share how I am downloading YouTube videos so everything makes sense and I will note I am doing this all from Windows 11:
I have created a directory on my machine called yt-dlp and in that directory I have the following files and all these files will be without quotes in the name but using them here for explanation:
a blank file named ‘archive.txt’
a blank file named ‘list.txt’
ffmpeg files from the ffmpeg bin folder extracted which you can grab the latest release here Builds - CODEX FFMPEG @ gyan.dev and extract the three files from the bin directory ffmpeg-release-full.7z version
Grab the latest yt-dlp.exe file from this location and place it in the same directory Releases · yt-dlp/yt-dlp · GitHub
I created a batch file named yt-dlp.bat (create a text document and include in that text document the following without quotes ‘yt-dlp.exe’ and save the file called yt-dlp.bat and change the ‘Save as Type’ to All Files so it doesn’t save it as a .txt document instead as a .bat file.
So in this directory named yt-dlp (doesn’t matter where it is located on your machine just that all the files are in the directory) archive.txt, ffmpeg.exe, ffplay.exe, ffprobe.exe, list.txt, yt-dlp.bat, and yt-dlp.exe
So in that ‘list.txt’ document you can add any youtube file or playlist to download url. For an example I want to grab all the Doug DeMuro content that gets uploaded to youtube so I place in that text file the following: https://www.youtube.com/@DougDeMuro/videos and you can add whatever playlist, youtube file or channel you want and it will grab any new content that is made available. If you want multiple playlists or channels just add it to the next line right below the previous one.
Now this is where the magic happens and the content gets downloaded correctly in the format needed:
In your user folder location 'C:\Users{user id}\AppData\Roaming directory create a new directory called ‘yt-dlp’ without quotes
In this directory create a text document called config.txt and you want to put the following items in this directory (just copy and paste):
# Self-Updater command
-U
# Save all videos from a uploader to a seperate uploader folder
-o "O:/Youtube/%(uploader)s - [%(channel_id)s]/%(title)s - [%(id)s].%(ext)s"
# Save all playlist videos to a single folder named of the playlist no matter the uploader
#-o "O:/Youtube Playlists/%(playlist_uploader)s - %(playlist_title)s/%(title)s - [%(id)s].%(ext)s"
--embed-thumbnail
--write-thumbnail
--convert-thumbnail jpg
--embed-metadata
--embed-chapters
--embed-info-json
--embed-subs
--write-info-json
--download-archive archive.txt URL
-a list.txt
#End playlist up to 50 of the latest videos
--playlist-end 50
#After download everything (video, audio, and subtiles), merge them all into an mkv container. You can use mp4 if you prefer that
--merge-output-format mp4
So where the directory listed in this item says -o "O:/Youtube/%(uploader)s - [%(channel_id)s]/%(title)s - [%(id)s].%(ext)s"
Just change that to the directory you want the videos to save (change the O: to whatever drive you are going to use)
The command right below that: #-o "O:/Youtube Playlists/%(playlist_uploader)s - %(playlist_title)s/%(title)s - [%(id)s].%(ext)s"
If you want to use that directory structure if you are setting up a playlist from the list.txt file will download it to the playlist folder. Just remove the # from that item, and put it in front of the one above so it rems that command out.
Once you have that config.txt file saved in the directory above in your user id folder, go back to your yt-dlp directory you had all the files located in and launch the yt-dlp.bat file and yt-dlp command window should launch and grab the content you specified in the list.txt file.
First the -U will make sure you have the latest yt-dlp and will download the latest if you don’t so this will self update. Then the archive.txt will add the videos it has downloaded and add it to this file (as an example of one: youtube MR212FJIEpE) which will make it so Youtube doesn’t grab that video again and skips it with you launch the yt-dlp.bat the next time. The --playlist-end 50 command if you change the 50 to whatever number you want that will only grab the last 50 videos in the playlist or channel. So you can change that to whatever you want, or you can put a # in front of it and it will grab all the videos.
Then in Plex, create a brand new video library and just use the ‘Other Videos’ and then include both the (from my example) O:/Youtube and O:/Youtube Playlists from the ‘Add folders’ and then in advanced you don’t need to change anything there (I unchecked ‘Enable Cinema Trailers’ since I didn’t want to see a Trailer before the videos.
Once this scans in, it should show the Youtube Metadata grabbed from the config.txt script above without needing to have a metadata agent installed in Plex. If you are not seeing the correct metadata on the video files once it scans just do click the three dots hamburger menu on the video and ‘refresh metadata’ which should bring back the metadata.
This was the longest post I have wrote but this seems to have fixed youtube videos not showing metadata. The only downside to this, any youtube videos you grabbed before doing this, you will need to regrab so the data is provided for the video files.
If you have any other questions I will try my best to answer, but I have spent the last week doing different things to try to get metadata back into Plex and this seems to have fixed it for me. ![]()
Update: Doing this method, the youtube member channel you have scanned into Plex will be the actor for that channel. So back to my Doug DeMuro example, all the videos from Doug DeMuro channel, he will be the actor for those videos in Plex, so you can search in Plex library for actor and that will show youtube channel creator for those videos.
Thanks for the process!
I use JDownloader for the most part. It is set up to just download the files in whatever format YT hosts them in and put the video code in brackets as the original metadata agent needs.
I used to use 4K Downloader and they still don’t have the ability to grab the YouTube thumbnails. After spending some time with yt-dlp I got the tool working pretty well. I have a scheduled task that runs every 4 hours and downloads the latest video from the channels I want. I also created a download playlist on the YouTube site (which is one of the playlists I have set to download content from) so if I ever want a video I just add it to that youtube playlist and it gets downloaded whenever that scheduled task runs. With that agent breaking I definitely had to dig around to figure out a workaround and what I wrote seems to have fixed it plus Plex can’t break it if they change something from not working since the metadata is already included with the content.
I get it. It’s possible that this agent isn’t the best option.
However, I already have hundreds of videos in my library this way. I don’t see any practical way to “convert” them all to a new naming format.
@ZeroQI & @sander1 I am not sure which of you actually wrote this plugin originally or is writing it now. You may be the same person! lol
When I look at the GitHub page it seems that there was an update of some sort in January, but is there anything else coming?
I have been using this plugin for a while and love it! I appreciate your work for sure! In a perfect world, we wouldn’t need plugins at all because Plex did everything, but that’s not the world we live in of course!
Appreciate any feedback on this one and thanks for your efforts!
Oh I have 10k plus videos that used to work before Plex broke to agent in one of the last updates, completely understand that logic.
I just wanted to say that this was an absolute lifesaver for me! I have been messing around with YouTube content and my plex server for the last week. It has been one of the most frustrating tech experiences I have ever had. I have run so many different test configurations of all sorts of different downloaders and even inadvertently deleted my full TV shows library from my server during a sleepy, late night battle with this topic.
Your method and directions were super simple to follow and implement. This is simple, easy, and I love it. Thank you very much for sharing your methodology!!!
That is great to hear. @metzhomelab It was kind of a pain to figure out how to fix it, but the final step I did that fixed the problem, was changing the format to a .mp4 container instead of a .mkv. I found that out by a reddit post.
@ZeroQI is the owner of the repo and was the one putting the most hours in to it in the past however I believe he has now stopped working on it directly but is always willing to merge improvements other people make and try to push back to main.
So, I guess the tl;dr is “No” there are no “planned” improvements, at least by him but if someone else wants to do stuff he will merge it.
I think the latest plex update broke this from working, since this wasn’t the only agent that broke with the update that broke it. His anime scraper also stopped working after the Plex update. https://www.reddit.com/r/PleX/comments/12c5se2/did_anyones_zeroqis_youtube_plex_agent_stop/jfnnbiu/
Based on a seemingly unrelated topic here:
A user fixed their issue by rolling back to build 6868. That was a few builds backwards so I tried each older build until my metadata started working again. Turned out 6868 is the latest one that actually works with the agent.
The “breakage” is obviously related to the later server builds and it is apparently creating other issues like the UNC path problem in that thread, but don’t know if it’s something that the Plex folks are actually working on or if they think the problem is something to be fixed by the plugin developer or…
@sa2000 you were helpful in that UNC thread. Can you please tell us if this is something that you guys are taking a look at?
Looks like Plex with the 1.32 branch has dropped support for Open SSL 1.1.1 and are only supporting Open SSL 3+ and python 2.7 doesn’t support the Open SSL 3 standard. Unsure what this means for the future but could be the end of agent addons. If there is a solution to this it will need to come from outside of Plex. This was from this post on the github issues with the Youtube Agent addon. The agent just stopped scanning a couple of days ago. · Issue #128 · ZeroQI/YouTube-Agent.bundle · GitHub