GithubHelp home page GithubHelp logo

Comments (7)

njtaylor avatar njtaylor commented on August 19, 2024

I can repeat the problem here, of the 5 episodes available 3 download, 2 fail.

from get-flash-videos.

baffled-mart avatar baffled-mart commented on August 19, 2024

Thank you for your near immediate response. I wish I could help but wouldn't have a clue where to start.
If it helps, I found the same occurs with (including the 2nd Protectors);
https://www.itv.com/hub/grantchester/2a2958a0002
https://www.itv.com/hub/the-protectors/ENT1315a0006
https://www.itv.com/hub/the-widower/2a1391a0003
https://www.itv.com/hub/white-right-meeting-the-enemy-exposure/2a5133a0001

from get-flash-videos.

baffled-mart avatar baffled-mart commented on August 19, 2024

Ah, I see that similar has been commented on "youtube-dl".
"...
That hasn't been for all the ITV videos, it just seems to be a tiny but annoying fraction, heh. I believe they're not always using secure-mercury now.
However, those videos all still play in the browser, so something must be working right. Looking at the network requests, it seems maybe there's a shift to a new playlist service?
..."
ytdl-org/youtube-dl#14944

If that is any help.

from get-flash-videos.

Vangelis66 avatar Vangelis66 commented on August 19, 2024

@baffled-mart wrote:

I found the same occurs with (including the 2nd Protectors);
https://www.itv.com/hub/grantchester/2a2958a0002
https://www.itv.com/hub/the-protectors/ENT1315a0006
https://www.itv.com/hub/the-widower/2a1391a0003
https://www.itv.com/hub/white-right-meeting-the-enemy-exposure/2a5133a0001

However, those videos all still play in the browser, so something must be working right.

What you get in a compatible desktop browser is encrypted (DRM'ed) MPEG-DASH streams (see also the discussion in #211), whereas the itv.pm plugin of GFV relies upon unencrypted RTMPE (aka Flash) streams (downloadable by RTMPDump).

ytdl-org/youtube-dl#14944

If you look closely at ytdl-org/youtube-dl#14944 (comment), you'll be able to identify the (encrypted) MPEG-DASH manifest (mpd, i.e. Media Presentation Description):

"Base" : "https://itvpnpdotcom-a.akamaihd.net/",
      "MediaFiles" : [
        {
          "Href" : "2-2271-0033-001/18/1/VAR011/2-2271-0033-001_18_1_VAR011.ism/.mpd?hdnea=st=1513091350~exp=1513112950~acl=/*~hmac=13c038ae3549a09a864295735957c6627be0e40a1856b31adfd09803f268c512",
          "KeyServiceUrl" : "https://itvpnp.live.ott.irdeto.com/ClearKey/getkeys?CrmId=itvpnp&AccountId=itvpnp&ContentId=2-2271-0033-001_18"

i.e. the full mpd URI is
https://itvpnpdotcom-a.akamaihd.net/2-2271-0033-001/18/1/VAR011/2-2271-0033-001_18_1_VAR011.ism/.mpd?hdnea=st=1513091350~exp=1513112950~acl=/*~hmac=13c038ae3549a09a864295735957c6627be0e40a1856b31adfd09803f268c512 which is tokenised (expiry+authentication) and uses the ClearKey DRM encryption...
GFV has still no support for MPEG-DASH streams, and, AFAIK, the ClearKey encryption hasn't been cracked (at least publicly...).

@njtaylor

The yt-dl dev has tackled this issue via ytdl-org/youtube-dl@3fae11ac00 ; that is Python, while GFV is written in Perl; I hope you can "translate"; however, the fixed yt-dl version DOES NOT RETURN ANY FLASH streams for the ITVHub listings affected by this issue, only AppleHLS streams are identified:

youtube-dl --version 
2017.12.14
youtube-dl -F "https://www.itv.com/hub/the-widower/2a1391a0003"
[ITV] 2a1391a0003: Downloading webpage
[ITV] 2a1391a0003: Downloading XML
[ITV] 2a1391a0003: Downloading JSON metadata
[ITV] 2a1391a0003: Downloading m3u8 information
[info] Available formats for 2a1391a0003:
format code  extension  resolution note
hls-136      mp4        audio only  136k , mp4a.40.2@128k
hls-569      mp4        512x288     569k , avc1.64001F@ 408k, 25.0fps, mp4a.40.2@128k
hls-754      mp4        512x288     754k , avc1.64001F@ 582k, 25.0fps, mp4a.40.2@128k
hls-1001     mp4        896x504    1001k , avc1.64001F@ 816k, 25.0fps, mp4a.40.2@128k
hls-1286     mp4        896x504    1286k , avc1.64001F@1084k, 25.0fps, mp4a.40.2@128k
hls-1562     mp4        896x504    1562k , avc1.64001F@1345k, 25.0fps, mp4a.40.2@128k (best)

FWIW, the audio stream is mistakenly reported as being AAC LC@128kbps, while in reality is just @96kbps, as in the rest of the downloadable programmes in FLV container...
If, indeed, Flash streams are AWOL for these programmes, then am afraid it's time you implemented AppleHLS support for ITV, as I hinted back in the summer here...

ITV issues aside, I wish Merry Christmas to all those that observe it 😄

from get-flash-videos.

baffled-mart avatar baffled-mart commented on August 19, 2024

@Vangelis66
Thanks, as always, for your learned comments (g_i_p too).
Just a bit beyond my understanding. :-)
MC to you too.

from get-flash-videos.

njtaylor avatar njtaylor commented on August 19, 2024

Initial support for HLS AES-128 added to GFV still being tested. Worked for couple of downloads from ITV, needs more work - restarts, command line options to force use.

ITV is not consistent in supporting some downloads are HLS only, many new programmes have RTMP downloads and HLS. The basic HLS support is now there for ITV.

from get-flash-videos.

baffled-mart avatar baffled-mart commented on August 19, 2024

from get-flash-videos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.