Gutless2615@ttrpg.networktoTechnology@lemmy.world•Youtube has fully blocked InvidiousEnglish
1·
8 hours agoWell you know what they say “Great minds think quicker than mine and probably have already had that thought.”
Well you know what they say “Great minds think quicker than mine and probably have already had that thought.”
Donate to the EFF for fighting that fight in court already.
Yes but literally throwing together a script to download the days subscription videos to a jellyfin media drive would be stupidly simple.
The design has absolutely not “definitely” improved.
deleted by creator
“Give me a Python script using yt-dlp that I can run on a cronjob that will download the videos from any of my subscribed channels since the last time the script was run”
You can use the following Python script to download videos from your subscribed channels since the last run. This script uses
yt-dlp
and stores the last download timestamp to track new videos.First, ensure you have
yt-dlp
installed:Then, create a script called
download_videos.py
:import os import json import subprocess from datetime import datetime # Configuration last_run_file = 'last_run.json' download_directory = 'downloads' # Ensure the download directory exists os.makedirs(download_directory, exist_ok=True) # Load the last run time if os.path.exists(last_run_file): with open(last_run_file, 'r') as f: last_run = json.load(f)['last_run'] else: last_run = datetime.now().isoformat() # Update the last run time to now current_run = datetime.now().isoformat() # Command to get videos from subscribed channels since the last run command = [ 'yt-dlp', '--download-archive', 'archive.txt', '--output', f'{download_directory}/%(title)s.%(ext)s', '--date-after', last_run, '--no-post-overwrites', '--merge-output-format', 'mp4', 'https://www.youtube.com/channel/CHANNEL_ID', # Replace with your channel URL ] # Run the command subprocess.run(command) # Save the current run time with open(last_run_file, 'w') as f: json.dump({'last_run': current_run}, f) print("Download complete. Next run will check for videos since:", current_run)
Setting Up the Cron Job
Make the script executable:
chmod +x download_videos.py
Open your crontab:
Add a line to run the script at your desired interval (e.g., daily at 2 AM):
Notes
CHANNEL_ID
in the script with your actual channel IDs or use a playlist URL if preferred.archive.txt
file keeps track of already downloaded videos to avoid duplicates.