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

Audio Description from BBC iPlayer Not Downloading #22986

Open
AlexKLMan opened this issue Nov 5, 2019 · 2 comments · May be fixed by #28540
Open

Audio Description from BBC iPlayer Not Downloading #22986

AlexKLMan opened this issue Nov 5, 2019 · 2 comments · May be fixed by #28540

Comments

@AlexKLMan
Copy link

I copied and paste this link after youtube-dl:
https://www.bbc.co.uk/iplayer/episode/m000b1v0/ad/his-dark-materials-series-1-1-lyras-jordan

If you click onto it and hit play (use a UK VPN if you're not in the UK) It will play with the audio description audio track, but when the file is downloaded using YDL, it's only the normal video.

I used VLS and looked under audio and there is only 1 audio track.
Does YDL support multi audio tracks?
Is there a fix or command I can add to insure I get the audio description track as well?
Thanks!

@dirkf
Copy link
Contributor

dirkf commented Mar 24, 2021

The iPlayer extractor defaults to using the playlist associated with the PID in the URL, which is the same for AD and non-AD versions. The extractor redirects to the only listed vPID, whose playlist information doesn't include AD. It's not obvious where the AD version is.

@Vangelis66
Copy link

Vangelis66 commented Mar 25, 2021

@dirkf wrote:

It's not obvious where the AD version is.

Remember, not a Python coder here, but am familiar with at least some older iPlayer APIs... 😉
Try the programmes.json API for given PID (=m000b1v0):

https://www.bbc.co.uk/programmes/m000b1v0.json =>

    "versions": [
      {
        "canonical": 1,
        "pid": "m000b1tz",
        "duration": 3407,
        "types": [
          "Original version"
        ]
      },
      {
        "canonical": 0,
        "pid": "p07ss5kj",
        "duration": 3407,
        "types": [
          "Dubbed Audio Described"
        ]
      }
    ],

.... (the API is not geo-fenced), so vPID=m000b1tz is the one for normal audio, while vPID=p07ss5kj is the one for the AD version; using the latter with the mediaselector API (with, e.g., the pc mediaset), one gets stream data:

https://open.live.bbc.co.uk/mediaselector/6/select/version/2.0/mediaset/pc/vpid/p07ss5kj/format/xml

=> MPEG-DASH & HLS VOD streams from Akamai+Cloudfront CDNs (that API is, of course, geo-fenced.); since AD targets the visually impaired, it is usually offered as SD only (maxing at 540p25, most of the times...).

FWIW, the vpid of the AD version can also be harvested by web scraping the page source of
https://www.bbc.co.uk/iplayer/episode/m000b1v0/ad/his-dark-materials-series-1-1-lyras-jordan =>

{"id":"p07ss5kj","kind":"audio-described","download":false,"hd":false,

Best regards

@dirkf dirkf linked a pull request Mar 25, 2021 that will close this issue
11 tasks
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

Successfully merging a pull request may close this issue.

3 participants