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

PeerTube video downloads no longer seem to be working #29782

Open
5 tasks done
xerxespersrex opened this issue Aug 13, 2021 · 3 comments
Open
5 tasks done

PeerTube video downloads no longer seem to be working #29782

xerxespersrex opened this issue Aug 13, 2021 · 3 comments

Comments

@xerxespersrex
Copy link

xerxespersrex commented Aug 13, 2021

Checklist

  • I'm reporting a broken site support
  • I've verified that I'm running youtube-dl version 2021.06.06
  • I've checked that all provided URLs are alive and playable in a browser
  • I've checked that all URLs and arguments with special characters are properly quoted or escaped
  • I've searched the bugtracker for similar issues including closed ones

Verbose log

[ethanm@artix ~]$ youtube-dl -v "https://videos.denshi.live/w/u3EJKA6xNDeUuYLwJEyKYC"
[debug] System config: []
[debug] User config: ['-o', '~/Videos/downloaded/%(title)s.%(ext)s']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://videos.denshi.live/w/u3EJKA6xNDeUuYLwJEyKYC']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.6 (CPython) - Linux-5.13.8-artix1-1-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4
[debug] Proxy map: {}
[generic] u3EJKA6xNDeUuYLwJEyKYC: Requesting header
WARNING: Falling back on generic information extractor.
[generic] u3EJKA6xNDeUuYLwJEyKYC: Downloading webpage
[generic] u3EJKA6xNDeUuYLwJEyKYC: Extracting information
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://videos.denshi.live/w/e31f3e1b-36c0-4aad-80a1-2a75787d0500'
[download] Destination: /home/ethanm/Videos/downloaded/The internet is 'decentralized'... Except for ISPs.unknown_video
[download] 100% of 15.74KiB in 00:00

Description

I watch videos from the PeerTube instances videos.lukesmith.xyz and videos.denshi.live. Approximately a month ago I was able to download and watch videos from videos.lukesmith.xyz using youtube-dl just fine, but today I tried downloading some from either PeerTube instance and youtube-dl just spits out the page's html source code instead of a video file.

Usually I use RSS/Atom and then run youtube-dl on the link provided in the feed (which appears to be different from the one available by visiting the site directly, interestingly), but both links are causing the same behavior.

@xerxespersrex
Copy link
Author

For some reason ctrl-enter or some button combination I accidentally pressed submits the issue, I wasn't done editing it...

I also wanted to add that I usually use the command "youtube-dl --no-playlist -f 'bestvideo[height<=?720][fps<=?30]+bestaudio/best' $1" to download, but neither this command nor just running base youtube-dl (with or without my config to output to my Videos folder) successfully downloads the videos.

@xerxespersrex
Copy link
Author

xerxespersrex commented Aug 15, 2021

The original video was taken down, but here's a different PeerTube video and link from a different instance (videos.lukesmith.xyz) that does the same thing:

[ethanm@artix ~]$ youtube-dl -v "https://videos.lukesmith.xyz/w/8fbf5fd7-3d52-43b4-bf0f-baf0a6355519"
[debug] System config: []
[debug] User config: ['-o', '~/Videos/downloaded/%(title)s.%(ext)s']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://videos.lukesmith.xyz/w/8fbf5fd7-3d52-43b4-bf0f-baf0a6355519']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.6 (CPython) - Linux-5.13.10-artix1-1-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg 4.4, ffprobe 4.4
[debug] Proxy map: {}
[generic] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Downloading webpage
[generic] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Extracting information
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://videos.lukesmith.xyz/w/8fbf5fd7-3d52-43b4-bf0f-baf0a6355519'
[download] Destination: /home/ethanm/Videos/downloaded/Matrix vs. XMPP - Which is Better for Actually Secure Messaging (Unlike Telegram, Whatsapp, etc.).unknown_video
[download] 100% of 18.41KiB in 00:00

@dirkf
Copy link
Contributor

dirkf commented Aug 17, 2021

For 'https://videos.lukesmith.xyz/w/8fbf5fd7-3d52-43b4-bf0f-baf0a6355519', try https://videos.lukesmith.xyz/videos/watch/8fbf5fd7-3d52-43b4-bf0f-baf0a6355519'

These aren't instances known to the PeerTube extractor. yt-dl invokes the generic extractor, which should discover the PeerTube "incompatible browser" message and then pass the URL to the PeerTube extractor.

This doesn't happen because the PeerTube extractor routine that discovers unknown PeerTube instances expects to see URLs with '/videos/watch' (or '/videos/embed') and the RSS service that you use has started to report URLs with '/w' instead. In extractor/peertube.py, we need to change the pattern in line 486:

            r'https?://(?P<host>[^/]+)/(?:w|videos/(?:watch|embed))/(?P<id>%s)'

Then:

# youtube-dl -v -F 'https://videos.lukesmith.xyz/w/8fbf5fd7-3d52-43b4-bf0f-baf0a6355519'
[debug] System config: [u'--restrict-filenames', u'--prefer-ffmpeg', u'-f', u'best[height<=?1080][fps<=?60]', u'-o', u'/media/drive1/Video/%(title)s.%(ext)s']
[debug] User config: [u'-f', u'(best/bestvideo+bestaudio)[height<=?1080][fps<=?60][tbr<=?1900]']
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://videos.lukesmith.xyz/w/8fbf5fd7-3d52-43b4-bf0f-baf0a6355519']
[debug] Encodings: locale ASCII, fs ASCII, out ASCII, pref ASCII
[debug] youtube-dl version 2021.06.06.1
[debug] Python version 2.7.1 (CPython) - Linux-2.6.18-7.1-7405b0-smp-with-libc0
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[generic] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Downloading webpage
[generic] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Extracting information
[download] Downloading playlist: Matrix vs. XMPP: Which is Better for Actually Secure Messaging? (Unlike Telegram, Whatsapp, etc.)
[generic] playlist Matrix vs. XMPP: Which is Better for Actually Secure Messaging? (Unlike Telegram, Whatsapp, etc.): Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[PeerTube] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Downloading video JSON
[PeerTube] 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519: Downloading description JSON
[info] Available formats for 8fbf5fd7-3d52-43b4-bf0f-baf0a6355519:
format code  extension  resolution note
360p         mp4        360p       30fps, 78.78MiB
480p         mp4        480p       30fps, 140.63MiB
1080p        mp4        1080p      60fps, 523.53MiB (best)
[download] Finished downloading playlist: Matrix vs. XMPP: Which is Better for Actually Secure Messaging? (Unlike Telegram, Whatsapp, etc.)
#

pukkandan added a commit to yt-dlp/yt-dlp that referenced this issue Aug 23, 2021
Lesmiscore added a commit to ytdl-patched/ytdl-patched that referenced this issue Aug 23, 2021
* 'master' of https://github.com/yt-dlp/yt-dlp:
  [peertube] handle new video URL format Closes #722, ytdl-org/youtube-dl#29782 Original PR: ytdl-org/youtube-dl#29475 Authored by: Chocobozzz
  [adobepass] Fix Verizon SAML login (#743)
  Fix `add_info_extractor` when used via API Bug from: 251ae04
  [lazy_extractor] Create instance only after pre-checking archive
  [lazy_extractor] Import actual class if an attribute is accessed
  [extractor] Show video id in error messages if possible
  [extractor] Better error message for DRM (#729)
  [youtube] Add av01 itags to known formats list (#747)
  [bitchute] Fix test (#758)
  [lazy_extractors] Fix `suitable` and add flake8 test
  [utils] Add `parse_qs`
  [youtube] Add `shorts` to `_VALID_URL` Normally the generic extractor will redirect the URL, but the cookies consent screen may sometimes appear instead
  Don't try to merge with final extension
  [extractor] Common function `_match_valid_url`
nixxo pushed a commit to nixxo/yt-dlp that referenced this issue Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants