Tzahi12345 / YoutubeDL-Material

Self-hosted YouTube downloader built on Material Design
MIT License
2.65k stars 276 forks source link

[BUG] Download a playlist will only downoload one video/audio. #782

Open tiritibambix opened 2 years ago

tiritibambix commented 2 years ago

Describe the bug Input a playlist URL or subscribing to a playlist will only downoload one video/audio (the first)

To Reproduce Steps to reproduce the behavior:

  1. Go to home
  2. Paste https://www.youtube.com/watch?v=EH111yTNRTQ&list=PL2At1KtEs2fLtG1E1KHBI1AvRr6t2vK1a
  3. (optional) click on audio only for faster results
  4. See error

Expected behavior All videos/audios to be downloaded

Environment Installation type: docker Docker tag: latest Commit hash: fc3c179 Build date: 2022-07-05

Additional context Here is my docker-compose:

version: "2"
services:
    ytdl_material:
        environment: 
            ALLOW_CONFIG_MUTATIONS: 'true'
            ytdl_mongodb_connection_string: 'mongodb://ytdl-mongo-db:27017'
            ytdl_use_local_db: 'false'
            write_ytdl_config: 'true'
        restart: unless-stopped
        depends_on:
            - ytdl-mongo-db
        volumes:
            - ./appdata:/app/appdata
            - ./audio:/app/audio
            - ./video:/app/video
            - ./subscriptions:/app/subscriptions
            - ./users:/app/users
        ports:
            - "8998:17442"
        image: tzahi12345/youtubedl-material:latest
    ytdl-mongo-db:
        image: mongo
        ports:
            - "27017:27017"
        logging:
            driver: "none"          
        container_name: ytdl-mongo-db
        restart: unless-stopped
        volumes:
            - ./db/:/data/db
razvan420 commented 1 year ago

I have the same issue, anyone knows how to fix this?

BliNDF123 commented 1 year ago

Same, just set this up on Docker hoping to replace the process of using an Android app before moving it over to my Emby/Jellyfin box. A single video will give quality options but a playlist will not, only Max.

Tzahi12345 commented 1 year ago

The issue here is the formatting of the URL. If you paste the following instead it will work:

https://www.youtube.com/watch?list=PL2At1KtEs2fLtG1E1KHBI1AvRr6t2vK1a

Not really sure how to address this behavior. There's two ways we can handle URLs that include the playlist ID (the stuff after list= and the video ID (the stuff after v=):

Sounds like y'all are expecting the first option. Maybe we can add a little non-intrusive pop-up that says "Is this a playlist?" when you paste the URL and if you click OK it will convert the URL to not include the v= stuff so it will properly be treated like a playlist download.

BliNDF123 commented 1 year ago

I just tried changing the '/playlist?list=' to '/watch?list=' and it showed the loading symbol next to the quality options for a bit but in the end still only showed me Max. Edit: Thinking maybe it was just my list I tried the edited URL you gave and still only got the Max option.

goaliedude3919 commented 2 months ago

Is there any update on this? I've tried using the format mentioned, removing the v= portion of the URL, and that does not work. A .json file gets downloaded instead of any videos.