VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 51
Thread
  1. How do I download videos from this site https://player.pl/? I tried through yt-dlp and found the dash file using the stream detector, but I can't download it. Need to use VPN Poland.
    The show:
    Code:
     https://player.pl/seriale-online/kontrola-odcinki,32955/odcinek-1,S03E01,230056
    The dash file:
    Code:
    https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd?indexMode=&dummyfile=
    Any tips please
    Last edited by jessezveneberg; 9th Feb 2022 at 18:04.
    Quote Quote  
  2. yt-dlp --allow-u "mpd url"

    https://github.com/yt-dlp/yt-dlp#deprecated-options
    under developer options:
    --allow-unplayable-formats List unplayable formats also

    you could have found it by searching this forum too....
    Quote Quote  
  3. Originally Posted by ElCap View Post
    yt-dlp --allow-u "mpd url"

    https://github.com/yt-dlp/yt-dlp#deprecated-options
    under developer options:
    --allow-unplayable-formats List unplayable formats also

    you could have found it by searching this forum too....
    It's not works for me
    it's says
    Code:
    C:\Ffmpeg>yt-dlp --allow-u "https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd"
    WARNING: You have asked for UNPLAYABLE formats to be listed/downloaded. This is a developer option intended for debugging.
             If you experience any issues while using this option, DO NOT open a bug report
    [generic] playlist: Requesting header
    WARNING: [generic] Could not send HEAD request to https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd: HTTP Error 404: Not Found
    [generic] playlist: Downloading webpage
    ERROR: [generic] Unable to download webpage: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>); please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using -U (caused by <HTTPError 404: 'Not Found'>); please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using -U
    Last edited by jessezveneberg; 9th Feb 2022 at 18:46.
    Quote Quote  
  4. Anyone?
    Quote Quote  
  5. Copy the whole url and put it in quotes, including the stuff after mpd
    Quote Quote  
  6. Originally Posted by ElCap View Post
    Copy the whole url and put it in quotes, including the stuff after mpd
    I tried that
    Code:
    C:\Ffmpeg>yt-dlp --allow-u "https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd?indexMode=&dummyfile="
    WARNING: You have asked for UNPLAYABLE formats to be listed/downloaded. This is a developer option intended for debugging.
             If you experience any issues while using this option, DO NOT open a bug report
    [generic] playlist: Requesting header
    WARNING: [generic] Could not send HEAD request to https://player.pl/seriale-online/kontrola-odcinki,32955/odcinek-1,S03E01,230056 https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd?indexMode=&dummyfile=: HTTP Error 301: The HTTP server returned a redirect error that would lead to an infinite loop.
    The last 30x error message was:
    Moved Permanently
    [generic] playlist: Downloading webpage
    ERROR: [generic] Unable to download webpage: HTTP Error 301: The HTTP server returned a redirect error that would lead to an infinite loop.
    The last 30x error message was:
    Moved Permanently (caused by <HTTPError 301: 'The HTTP server returned a redirect error that would lead to an infinite loop.\nThe last 30x error message was:\nMoved Permanently'>); please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using -U (caused by <HTTPError 301: 'The HTTP server returned a redirect error that would lead to an infinite loop.\nThe last 30x error message was:\nMoved Permanently'>); please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using -U
    Last edited by jessezveneberg; 9th Feb 2022 at 20:08.
    Quote Quote  
  7. OK, I figured it out, but it doesn't show the video, just a shell file and a dark screen. any tips?
    Quote Quote  
  8. works for me with polish vpn

    Code:
    >yt-dlp --allow-u -F "https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd?indexMode=&dummyfile="
    WARNING: You have asked for UNPLAYABLE formats to be listed/downloaded. This is a developer option intended for debugging.
             If you experience any issues while using this option, DO NOT open a bug report
    [generic] playlist: Requesting header
    WARNING: [generic] Falling back on generic information extractor.
    [generic] playlist: Downloading webpage
    [generic] playlist: Extracting information
    [info] Available formats for playlist:
    ID EXT RESOLUTION FPS │   TBR PROTO │ VCODEC        VBR ACODEC      ABR     ASR MORE INFO
    ───────────────────────────────────────────────────────────────────────────────────────────────────────────
    6  m4a audio only     │  128k dash  │ audio only        mp4a.40.2  128k 48000Hz [pol] DASH audio, m4a_dash
    4  mp4 320x180     25 │  240k dash  │ avc1.64000c  240k video only              DASH video, mp4_dash
    2  mp4 640x360     25 │  500k dash  │ avc1.64001e  500k video only              DASH video, mp4_dash
    1  mp4 960x540     25 │  800k dash  │ avc1.64001f  800k video only              DASH video, mp4_dash
    5  mp4 1024x576    25 │ 1800k dash  │ avc1.64001f 1800k video only              DASH video, mp4_dash
    3  mp4 1280x720    25 │ 2800k dash  │ avc1.64001f 2800k video only              DASH video, mp4_dash
    What version is your yt-dlp?
    Code:
    >yt-dlp --version
    2022.02.04
    Quote Quote  
  9. Originally Posted by jessezveneberg View Post
    OK, I figured it out, but it doesn't show the video, just a shell file and a dark screen. any tips?
    im not sure what a shell file and a dark screen means, but the video is encrypted, yt-dlp wont decrypt it for you.
    Quote Quote  
  10. same as yours, then how do I download the playlist? I've tried and it doesn't work, nothing works
    Quote Quote  
  11. Originally Posted by ElCap View Post
    Originally Posted by jessezveneberg View Post
    OK, I figured it out, but it doesn't show the video, just a shell file and a dark screen. any tips?
    im not sure what a shell file and a dark screen means, but the video is encrypted, yt-dlp wont decrypt it for you.
    Then there are no more questions. I don't know how to decrypt the file.
    Quote Quote  
  12. Originally Posted by jessezveneberg View Post
    How do I download videos from this site https://player.pl/? I tried through yt-dlp and found the dash file using the stream detector, but I can't download it. Need to use VPN Poland.
    The show:
    Code:
     https://player.pl/seriale-online/kontrola-odcinki,32955/odcinek-1,S03E01,230056
    The dash file:
    Code:
    https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd?indexMode=&dummyfile=
    Any tips please
    The player.pl website uses drm like most vods in the world.
    The video can be downloaded but it is encrypted and you need a key to decrypt it.
    Currently, there is no public way to extract keys, each shared method works for some time and is patched by e.g. Google
    Quote Quote  
  13. Originally Posted by jessezveneberg View Post
    I don't know how to decrypt the file.
    You need mp4decrypt.exe
    You can download from here
    https://we.tl/t-k2wCLZPNyh
    Put it in a folder
    Open cmd in that folder by typing cmd in the address bar up there.
    Then in cmd you type
    Code:
    mp4decrypt.exe --key b4b90d8263349248abb8150444765542:bd0cecc2f163a6547a512f46820bf4be "filename.mp4" "decrypted.mp4"
    You change filename.mp4 with... the actual file name.
    This key works for first episode only.
    Key for 2nd episode
    Code:
    32e81d28cec1214685a8c61f182eb334:29999a5c7acbedf44147f9a030288bc9
    Quote Quote  
  14. Member
    Join Date
    Feb 2022
    Location
    Poland
    Search Comp PM
    Originally Posted by [ss]vegeta View Post
    Originally Posted by jessezveneberg View Post
    I don't know how to decrypt the file.
    You need mp4decrypt.exe
    You can download from here
    https://we.tl/t-k2wCLZPNyh
    Put it in a folder
    Open cmd in that folder by typing cmd in the address bar up there.
    Then in cmd you type
    Code:
    mp4decrypt.exe --key b4b90d8263349248abb8150444765542:bd0cecc2f163a6547a512f46820bf4be "filename.mp4" "decrypted.mp4"
    You change filename.mp4 with... the actual file name.
    This key works for first episode only.
    Key for 2nd episode
    Code:
    32e81d28cec1214685a8c61f182eb334:29999a5c7acbedf44147f9a030288bc9
    how to find the keys ?
    Quote Quote  
  15. Originally Posted by [ss]vegeta View Post
    Originally Posted by jessezveneberg View Post
    I don't know how to decrypt the file.
    You need mp4decrypt.exe
    You can download from here
    https://we.tl/t-k2wCLZPNyh
    Put it in a folder
    Open cmd in that folder by typing cmd in the address bar up there.
    Then in cmd you type
    Code:
    mp4decrypt.exe --key b4b90d8263349248abb8150444765542:bd0cecc2f163a6547a512f46820bf4be "filename.mp4" "decrypted.mp4"
    You change filename.mp4 with... the actual file name.
    This key works for first episode only.
    Key for 2nd episode
    Code:
    32e81d28cec1214685a8c61f182eb334:29999a5c7acbedf44147f9a030288bc9
    where did you get the video code? After --key where did you get?
    Quote Quote  
  16. Originally Posted by jessezveneberg View Post
    Originally Posted by [ss]vegeta View Post
    Originally Posted by jessezveneberg View Post
    I don't know how to decrypt the file.
    You need mp4decrypt.exe
    You can download from here
    https://we.tl/t-k2wCLZPNyh
    Put it in a folder
    Open cmd in that folder by typing cmd in the address bar up there.
    Then in cmd you type
    Code:
    mp4decrypt.exe --key b4b90d8263349248abb8150444765542:bd0cecc2f163a6547a512f46820bf4be "filename.mp4" "decrypted.mp4"
    You change filename.mp4 with... the actual file name.
    This key works for first episode only.
    Key for 2nd episode
    Code:
    32e81d28cec1214685a8c61f182eb334:29999a5c7acbedf44147f9a030288bc9
    where did you get the video code? After --key where did you get?
    I figured out where the error is, but where did you get the key?

    and I tried it again, but it didn't work for me
    Code:
    C:\Ffmpeg>yt-dlp --allow-u "https://n-22-6.dcs.redcdn.pl/dash/o2/tvnplayer/vod/22_400_29890_0001/LIBCODER_SMOOTH_720_PL/9e39317f-8a87-49c6-874b-bad8d31c2dcc/playlist.ism/playlist.mpd?indexMode=&dummyfile=" -o video.mp4
    WARNING: You have asked for UNPLAYABLE formats to be listed/downloaded. This is a developer option intended for debugging.
             If you experience any issues while using this option, DO NOT open a bug report
    [generic] playlist: Requesting header
    WARNING: [generic] Falling back on generic information extractor.
    [generic] playlist: Downloading webpage
    [generic] playlist: Extracting information
    [info] playlist: Downloading 1 format(s): 3+6
    WARNING: You have requested merging of multiple formats while also allowing unplayable formats to be downloaded. The formats won't be merged to prevent data corruption.
    [dashsegments] Total fragments: 324
    [download] Destination: video.f3.mp4
    [download] 100% of 217.75MiB in 03:00
    [dashsegments] Total fragments: 324
    [download] Destination: video.f6.m4a
    [download] 100% of 10.33MiB in 01:23


    Code:
    C:\Ffmpeg>mp4decrypt.exe --key b4b90d8263349248abb8150444765542:bd0cecc2f163a6547a512f46820bf4be "video.mp4" "decrypted.mp4"
    ERROR: cannot open input file (video.mp4) -4
    Last edited by jessezveneberg; 10th Feb 2022 at 01:55.
    Quote Quote  
  17. Cmon dude, "video.mp4" is the file that you downloaded in yt-dlp, ie. video.f3.mp4

    Youll probably need to do it for the audio file too, video.f6.m4a
    Quote Quote  
  18. Originally Posted by ElCap View Post
    Cmon dude, "video.mp4" is the file that you downloaded in yt-dlp, ie. video.f3.mp4

    Youll probably need to do it for the audio file too, video.f6.m4a
    Yes, I figured it out, but where did the key come from? what app/extension?
    Quote Quote  
  19. Anyone?
    Quote Quote  
  20. no app or ext get file for you ...
    you have to use your head to get them. but you are too on high seas to do this ...
    read this forum and maybe in a while you will understand how to get those keys
    Quote Quote  
  21. Originally Posted by lomero View Post
    no app or ext get file for you ...
    you have to use your head to get them. but you are too on high seas to do this ...
    read this forum and maybe in a while you will understand how to get those keys
    I've been reading this forum for the second year running, but still haven't figured out where to get these keys. maybe send me an ACTUAL thread that talks about it?
    Quote Quote  
  22. Originally Posted by ElCap View Post
    its literally the most recent thread with a reply after this one....
    https://forum.videohelp.com/threads/401717-How-are-you-going-to-respond-to-widevine-l3...th-at-May-31st
    I tried widenine l3 but it didn't work for me, I didn't understand how to work with nodrm
    Quote Quote  
  23. Originally Posted by jessezveneberg View Post
    Originally Posted by ElCap View Post
    its literally the most recent thread with a reply after this one....
    https://forum.videohelp.com/threads/401717-How-are-you-going-to-respond-to-widevine-l3...th-at-May-31st
    I tried widenine l3 but it didn't work for me, I didn't understand how to work with nodrm
    Here you go, in under a minute. Watch closely and slowly.
    https://streamable.com/ysyttn
    For you to get that "gibberish" in console, init data, you need to install TamperMonkey add on and add this script to it
    Code:
    // ==UserScript==
    // @name         EME2
    // @version      0.6
    // @match        *://*/*
    // @match        http://ss-cdn1.blim.com/
    // @run-at       document-start
    // @grant        none
    // ==/UserScript==
    
    (async () => {
        const indent = (s,n=4) => s.split('\n').map(l=>Array(n).fill(' ').join('')+l).join('\n');
    
        const b64 = {
            decode: s => Uint8Array.from(atob(s), c => c.charCodeAt(0)),
            encode: b => btoa(String.fromCharCode(...new Uint8Array(b)))
        };
    
        const fnproxy = (object, func) => new Proxy(object, { apply: func });
    
        const proxy = (object, key, func) => Object.defineProperty(object, key, {
            value: fnproxy(object[key], func)
        });
    
            proxy(MediaKeySession.prototype, 'generateRequest', async (_target, _this, _args) => {
            const [initDataType, initData] = _args;
            console.groupCollapsed(
                `[EME] MediaKeySession::generateRequest\n` +
                `    Session ID: ${_this.sessionId || '(not available)'}\n` +
                `    Init Data Type: ${initDataType}\n` +
                `    Init Data: ${b64.encode(initData)}`
            );
            console.trace();
            console.groupEnd();
            return _target.apply(_this, _args);
        });
        })();
    Quote Quote  
  24. Originally Posted by [ss]vegeta View Post
    Originally Posted by jessezveneberg View Post
    Originally Posted by ElCap View Post
    its literally the most recent thread with a reply after this one....
    https://forum.videohelp.com/threads/401717-How-are-you-going-to-respond-to-widevine-l3...th-at-May-31st
    I tried widenine l3 but it didn't work for me, I didn't understand how to work with nodrm
    Here you go, in under a minute. Watch closely and slowly.
    https://streamable.com/ysyttn
    For you to get that "gibberish" in console, init data, you need to install TamperMonkey add on and add this script to it
    Code:
    // ==UserScript==
    // @name         EME2
    // @version      0.6
    // @match        *://*/*
    // @match        http://ss-cdn1.blim.com/
    // @run-at       document-start
    // @grant        none
    // ==/UserScript==
    
    (async () => {
        const indent = (s,n=4) => s.split('\n').map(l=>Array(n).fill(' ').join('')+l).join('\n');
    
        const b64 = {
            decode: s => Uint8Array.from(atob(s), c => c.charCodeAt(0)),
            encode: b => btoa(String.fromCharCode(...new Uint8Array(b)))
        };
    
        const fnproxy = (object, func) => new Proxy(object, { apply: func });
    
        const proxy = (object, key, func) => Object.defineProperty(object, key, {
            value: fnproxy(object[key], func)
        });
    
            proxy(MediaKeySession.prototype, 'generateRequest', async (_target, _this, _args) => {
            const [initDataType, initData] = _args;
            console.groupCollapsed(
                `[EME] MediaKeySession::generateRequest\n` +
                `    Session ID: ${_this.sessionId || '(not available)'}\n` +
                `    Init Data Type: ${initDataType}\n` +
                `    Init Data: ${b64.encode(initData)}`
            );
            console.trace();
            console.groupEnd();
            return _target.apply(_this, _args);
        });
        })();
    tampermonkey doesn't work correctly for me for some reason. i have no idea why
    Image Attached Thumbnails Click image for larger version

Name:	pic.PNG
Views:	407
Size:	144.8 KB
ID:	63256  

    Quote Quote  
  25. Originally Posted by jessezveneberg View Post
    tampermonkey doesn't work correctly for me for some reason. i have no idea why
    You are in the sources tab.
    Quote Quote  
  26. Originally Posted by [ss]vegeta View Post
    Originally Posted by jessezveneberg View Post
    tampermonkey doesn't work correctly for me for some reason. i have no idea why
    You are in the sources tab.
    thank you so much for your time and help!
    Quote Quote  
  27. A little modified from: https://forum.videohelp.com/threads/404730-How-do-I-download-episodes-from-player-pl#post2647755
    so it will just prompt the PSSH instead of opening the console

    Code:
    // ==UserScript==
    // @name        EME PSSH Extractor
    // @version      0.7
    // @match        *://*/*
    // @run-at       document-start
    // @grant        none
    // @description  Extract and prompt PSSH/Init Data from DRM sites
    // ==/UserScript==
    
    (async () => {
        const indent = (s,n=4) => s.split('\n').map(l=>Array(n).fill(' ').join('')+l).join('\n');
    
        const b64 = {
            decode: s => Uint8Array.from(atob(s), c => c.charCodeAt(0)),
            encode: b => btoa(String.fromCharCode(...new Uint8Array(b)))
        };
    
        const fnproxy = (object, func) => new Proxy(object, { apply: func });
    
        const proxy = (object, key, func) => Object.defineProperty(object, key, {
            value: fnproxy(object[key], func)
        });
    
        proxy(MediaKeySession.prototype, 'generateRequest', async (_target, _this, _args) => {
            const [initDataType, initData] = _args;
            var pssh = b64.encode(initData);
            console.groupCollapsed(
                `[EME] MediaKeySession::generateRequest\n` +
                `    Session ID: ${_this.sessionId || '(not available)'}\n` +
                `    Init Data Type: ${initDataType}\n` +
                `    Init Data: ${pssh}`
            );
            console.trace();
            console.groupEnd();
            prompt("PSSH", pssh);
            return _target.apply(_this, _args);
        });
        })();
    Here with automatic copy to clipboard

    Code:
    // ==UserScript==
    // @name         EME PSSH Extractor2
    // @version      0.7
    // @match        *://*/*
    // @run-at       document-start
    // @grant        none
    // @description  Extract and automatic copy to clipboard PSSH/Init Data from DRM sites
    // ==/UserScript==
    
    (async () => {
        const indent = (s,n=4) => s.split('\n').map(l=>Array(n).fill(' ').join('')+l).join('\n');
    
        const b64 = {
            decode: s => Uint8Array.from(atob(s), c => c.charCodeAt(0)),
            encode: b => btoa(String.fromCharCode(...new Uint8Array(b)))
        };
    
        const fnproxy = (object, func) => new Proxy(object, { apply: func });
    
        const proxy = (object, key, func) => Object.defineProperty(object, key, {
            value: fnproxy(object[key], func)
        });
    
        proxy(MediaKeySession.prototype, 'generateRequest', async (_target, _this, _args) => {
            const [initDataType, initData] = _args;
            var pssh = b64.encode(initData);
            console.groupCollapsed(
                `[EME] MediaKeySession::generateRequest\n` +
                `    Session ID: ${_this.sessionId || '(not available)'}\n` +
                `    Init Data Type: ${initDataType}\n` +
                `    Init Data: ${pssh}`
            );
            console.trace();
            console.groupEnd();
    
            if (pssh){
                copyToClipboard(pssh);
                alert(`${pssh}\n\nPSSH has been copied to clipboard`);
            }else{
                alert("PSSH is empty");
            }
    
            return _target.apply(_this, _args);
        });
    
         function copyToClipboard(text) {
            var dummy = document.createElement("textarea");
            document.body.appendChild(dummy);
            dummy.value = text;
            dummy.select();
            document.execCommand("copy");
            document.body.removeChild(dummy);
        }
    
    })();
    Last edited by zackmark29; 11th Feb 2022 at 02:38.
    Quote Quote  
  28. nice zackmark29
    but when paste clipboard is empty ...
    Quote Quote  
  29. Originally Posted by lomero View Post
    nice zackmark29
    but when paste clipboard is empty ...
    Of course you need to copy manually =D
    it doesn't have clipboard function (No need)
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!