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

VoxMedia (The Verge) Broken #28338

Closed
5 tasks done
Crystal-RainSlide opened this issue Mar 4, 2021 · 1 comment
Closed
5 tasks done

VoxMedia (The Verge) Broken #28338

Crystal-RainSlide opened this issue Mar 4, 2021 · 1 comment

Comments

@Crystal-RainSlide
Copy link

Checklist

  • I'm reporting a broken site support
  • I've verified that I'm running youtube-dl version 2021.03.03
  • 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

youtube-dl -F --verbose https://www.theverge.com/2018/5/17/17344250/google-x-selfish-ledger-video-data-privacy
[debug] System config: []
[debug] User config: ['--proxy', '[a working proxy]/']
[debug] Custom config: []
[debug] Command-line args: ['-F', '--verbose', 'https://www.theverge.com/2018/5/17/17344250/google-x-selfish-ledger-video-data-privacy']
[debug] Encodings: locale cp936, fs mbcs, out cp936, pref cp936
[debug] youtube-dl version 2021.03.03
[debug] Python version 3.4.4 (CPython) - Windows-10-[version code]
[debug] exe versions: ffmpeg 4.3.2-2021-02-27-full_build-www.gyan.dev, ffprobe 4.3.2-2021-02-27-full_build-www.gyan.dev
[debug] Proxy map: {'http': '[a working proxy]', 'https': '[a working proxy]'}
[VoxMedia] google-x-selfish-ledger-video-data-privacy: Downloading webpage
[VoxMediaVolume] b624f2415: Downloading webpage
ERROR: Unable to find provider video id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpvjygsik_\build\youtube_dl\YoutubeDL.py", line 806, in wrapper
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpvjygsik_\build\youtube_dl\YoutubeDL.py", line 827, in __extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpvjygsik_\build\youtube_dl\extractor\common.py", line 532, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpvjygsik_\build\youtube_dl\extractor\voxmedia.py", line 66, in _real_extract
youtube_dl.utils.ExtractorError: Unable to find provider video id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

From view-source:https://volume.vox-cdn.com/embed/b624f2415, I can find the target m3u8 link in:

<meta name="twitter:player:stream" content="https://volume-assets.voxmedia.com/production/7e3bd02a2c59cf3b5f5cd5f779a75eac/116881/playlist.m3u8" />
<script>
/* some props are omitted */
var setup = {
  "embed_assets":{
    "chorus":{
      "hls_url":"https://volume-assets.voxmedia.com/production/7e3bd02a2c59cf3b5f5cd5f779a75eac/116881/playlist.m3u8",
      "mp4_url":"https://volume-assets.voxmedia.com/production/7e3bd02a2c59cf3b5f5cd5f779a75eac/116881/video-764k.mp4"
    }
  }
}
// ...
</script>

I'm not familiar with many functions/methods used in the voxmedia.py, but I found:

  1. From line 29 and line 32,
    it didn't try to find hls_url or mp4_url inside the embed_assets or chorus object,
    because it only tried to find it in asset or params object.
    AND It can just try to find the url in the whole setup object.
  2. <meta name="twitter:player:stream" content="hls_url"> is not supported yet, I think this m3u8 file url source may last longer than the js objects.
@Crystal-RainSlide
Copy link
Author

My fix to this would be replacing line 29 to line 36 with:

        formats = []
        hls_url = setup.get('hls_url')
        if hls_url:
            formats.extend(self._extract_m3u8_formats(
                hls_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False))
        mp4_url = setup.get('mp4_url')

But I can't do the <meta name="twitter:player:stream" content="hls_url">.

github-actions bot added a commit to hellopony/youtube-dl that referenced this issue Mar 4, 2021
* https://github.com/ytdl-org/youtube-dl:
  [trovo] Add Origin header to VOD formats(closes ytdl-org#28346)
  [voxmedia] fix volume embed extraction(closes ytdl-org#28338)
leshasmlesha pushed a commit to leshasmlesha/youtube-dl that referenced this issue Mar 7, 2021
leshasmlesha pushed a commit to leshasmlesha/youtube-dl that referenced this issue Mar 7, 2021
This was referenced Mar 15, 2021
leshasmlesha pushed a commit to leshasmlesha/youtube-dl that referenced this issue Apr 3, 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

1 participant