VideoHelp Forum



Support our site by donate $5 directly to us Thanks!!!

Try StreamFab Downloader and download streaming video from Netflix, Amazon!



+ Reply to Thread
Results 1 to 14 of 14
  1. Hello , it my first try download file from streaming website after a day read all tutorial in this forum, download succes but the video after decrypt always not full, only 6 or 9 min

    here the addres video i try to download, you can watch it by using vpn indonesia free no register
    i got mpd file
    open mpd file and got PSSH keys
    AAAAOHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABgSEDaA3l lYKUnsm6g6nKB1SZdI88aJmwY=
    i try cdrm-project to get the key to and got
    3680de59582949ec9ba83a9ca0754997:9c755da9b7a14a85a 6a69b0c7eec1880
    so i try to download and got error when muxing, file 1gb++ but when its open only 6 min or 9 min and the video and audio not sync
    22:23:34.780 INFO : N_m3u8DL-RE (Beta version) 20230628
    22:23:34.792 EXTRA: ffmpeg => C:\app\ffmpeg.exe
    22:23:34.793 EXTRA: mp4decrypt => C:\app\mp4decrypt.exe
    22:23:34.794 EXTRA: User-Defined Header => user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0
    22:23:34.794 EXTRA: User-Defined Header => referer: https://www.cubmu.com/
    22:23:34.794 INFO : Loading URL: https://cdnjkt4.transvision.co.id:1000/catchup/4028c685651d7bcc01651f0db0bf0097/prod/4...c/manifest.mpd
    22:23:34.897 INFO : Content Matched: Dynamic Adaptive Streaming over HTTP
    22:23:34.898 INFO : Parsing streams...
    22:23:34.929 WARN : Writing meta json
    22:23:34.937 INFO : Extracted, there are 4 streams, with 3 basic streams, 1 audio streams, 0 subtitle streams
    22:23:34.938 INFO : Vid *CENC 1280x720 | 2048 Kbps | 0 | 25 | avc1.640028 | 512 Segments | ~01h08m00s
    22:23:34.939 INFO : Vid *CENC 864x486 | 1024 Kbps | 1 | 25 | avc1.640028 | 512 Segments | ~01h08m00s
    22:23:34.942 INFO : Vid *CENC 640x360 | 716 Kbps | 2 | 25 | avc1.640028 | 511 Segments | ~01h07m52s
    22:23:34.944 INFO : Aud *CENC 3 | 131 Kbps | mp4a.40.2 | en | 2CH | 511 Segments | ~01h07m48s
    22:23:37.043 INFO : Parsing streams...
    22:23:37.056 INFO : Selected streams:
    22:23:37.058 INFO : Vid *CENC 1280x720 | 2048 Kbps | 0 | 25 | avc1.640028 | 512 Segments | ~01h08m00s
    22:23:37.059 INFO : Aud *CENC 3 | 131 Kbps | mp4a.40.2 | en | 2CH | 511 Segments | ~01h07m48s
    22:23:37.061 WARN : Writing meta json
    22:23:37.065 INFO : Save Name: 31
    22:23:37.066 WARN : MuxAfterDone is detected, binary merging is automatically enabled
    22:23:37.069 INFO : Start downloading...Vid 1280x720 | 2048 Kbps | 0 | 25 | avc1.640028
    22:23:37.161 WARN : Type: cbcs
    22:23:37.162 WARN : PSSH(WV): EhA2gN5ZWClJ7JuoOpygdUmXSPPGiZsG
    22:23:37.163 WARN : KID: 3680de59582949ec9ba83a9ca0754997
    22:23:37.164 WARN : Reading media info...
    22:23:37.382 INFO : NaN: Video, h264 (avc1), 1280x720
    22:24:25.851 INFO : Binary merging...
    22:24:29.584 INFO : Decrypting...
    22:24:38.241 INFO : Start downloading...Aud 3 | 131 Kbps | mp4a.40.2 | en | 2CH
    22:24:38.266 WARN : Type: cbcs
    22:24:38.271 WARN : PSSH(WV): EhA2gN5ZWClJ7JuoOpygdUmXSPPGiZsG
    22:24:38.272 WARN : KID: 3680de59582949ec9ba83a9ca0754997
    22:24:38.274 WARN : Reading media info...
    22:24:38.527 INFO : NaN: Audio, aac (mp4a)
    22:25:30.094 INFO : Binary merging...
    22:25:30.317 INFO : Decrypting...
    22:25:31.379 WARN : 31.mp4
    22:25:31.379 WARN : 31.en.m4a
    22:25:31.380 WARN : Muxing to 31.MUX.mkv
    22:25:32.281 WARN : [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e3cc6df480] DTS 126000 < 93582000 out of order
    22:25:32.282 WARN : [matroska @ 000001e3cd480700] Non-monotonous DTS in output stream 0:0; previous: 166400, current: -872000; changing to 166400. This may result in incorrect timestamps in the output file.
    i try to second ways download without key it succes file show 1gb++
    when i try to decrypt using mp4decrypt succes but the file only show 6 min or maybe 9 min. where step i got wrong

    thanks before
    Quote Quote  
  2. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    You aren't doing anything wrong. It's just that the video has only 3 minutes available for those without registered accounts. You could try and make an account.

    Image
    [Attachment 78053 - Click to enlarge]


    Edit: Seems I was mistaken. The manifest contains all the valid fragments. For some reason the output is kinda trashy but you can fix it with mkvtoolnix, both the video and audio. You will get the full 1 hour and 8 minutes. However the audio is still out of sync.
    Last edited by 2nHxWW6GkN1l916N3ayz8HQoi; 31st Mar 2024 at 14:18.
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  3. Thanks for reply @552nHxWW6GkN1l916N3ayz8HQoi, yes iam already have account, but the video still same, when it decrypt just 6min video. File size is more than1gb+
    Quote Quote  
  4. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by Ganteng View Post
    when it decrypt just 6min video. File size is more than1gb+
    Use this command to download the video and keep the audio/video separated.
    Code:
    N_m3u8DL-RE.exe https://cdnjkt4.transvision.co.id:1000/catchup/4028c685651d7bcc01651f0db0bf0097/prod/4028c6858e844bc2018e8964da573aac/manifest.mpd --key 3680de59582949ec9ba83a9ca0754997:9c755da9b7a14a85a6a69b0c7eec1880
    You will have video/audio separated and decrypted successfully but presenting your weird problem. Then put each file separately into mkvtoolnix and remux them. You will get 2 new files, an mkv and mka. You can then open them and you will notice the video and audio have the same durations as shown by N_m3u8.

    Image
    [Attachment 78082 - Click to enlarge]


    The sync issue still remains, however, and it can't be fixed with a simple shifting of N milliseconds (+/-). You could try shifting it by intervals. See when the audio is out of sync again, split that video, and fix it again. But that's a lot of work. Maybe someone else has a better idea.
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  5. Thank u so much, its work
    Image
    [Attachment 78083 - Click to enlarge]

    thanks for helping me @2nHxWW6GkN1l916N3ayz8HQoi
    Quote Quote  
  6. [QUOTE=2nHxWW6GkN1l916N3ayz8HQoi;2730043]
    Originally Posted by Ganteng View Post
    The sync issue still remains, however, and it can't be fixed with a simple shifting of N milliseconds (+/-). You could try shifting it by intervals. See when the audio is out of sync again, split that video, and fix it again. But that's a lot of work. Maybe someone else has a better idea.
    it works, just only shifting -900ms in mkvtoolnik and it sync to end the video, thanks a lot for your help
    Quote Quote  
  7. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by Ganteng View Post
    it works, just only shifting -900ms in mkvtoolnik and it sync to end the video
    Are you sure? I admit, that I don't understand Indonesian at all. But by looking at their lips even with -900 ms the sync issue is still there. It may be ok in the beginning but the more the video goes on, the more the difference between audio-video increases.
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  8. Originally Posted by 2nHxWW6GkN1l916N3ayz8HQoi View Post
    Originally Posted by Ganteng View Post
    it works, just only shifting -900ms in mkvtoolnik and it sync to end the video
    Are you sure? I admit, that I don't understand Indonesian at all. But by looking at their lips even with -900 ms the sync issue is still there. It may be ok in the beginning but the more the video goes on, the more the difference between audio-video increases.
    you're right haha, then for now ill sync manual until find the best way to sync
    Quote Quote  
  9. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Out of curiosity, in the original video (from the source url) is the audio perfectly in sync with the video, no matter the video section? I can't test it since I can't make an account.
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  10. I have a few things I'd like to ask and learn at the same time. Please check your direct messages, I've sent you a message there.
    Quote Quote  
  11. Originally Posted by 2nHxWW6GkN1l916N3ayz8HQoi View Post
    Out of curiosity, in the original video (from the source url) is the audio perfectly in sync with the video, no matter the video section? I can't test it since I can't make an account.
    yes i try stream with 720p, 486p, and 360p they all perfectly sync no delay audio
    you can use this acc if you want test
    email : s.a.n.r.i.boan@googlemail.com
    pass : qwerty123
    Last edited by Ganteng; 1st Apr 2024 at 04:38.
    Quote Quote  
  12. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by Ganteng View Post
    yes i try stream with 720p, 486p, and 360p they all perfectly sync no delay audio
    Yeah, you're right. I dunno what the issue is. Never encountered something like this. They either did it on purpose to stop you from downloading something good using their public manifest or N_m3u8 has some bugs (looking at https://github.com/nilaoda/N_m3u8DL-RE/issues/244 the same issue seems to be present).

    Regardless, there must be a smarter way than manually fixing the sync issue every time the audio goes out of sync. However, I don't know it. Maybe you're lucky and someone else explains how.
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  13. Originally Posted by theUntamed View Post
    I have a few things I'd like to ask and learn at the same time. Please check your direct messages, I've sent you a message there.
    sorry for late reply, ill send you pm. check it
    Quote Quote  
  14. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    I doubt there are many people interested in this but here's a downloader for this site. Apparently they designed the site so well that you don't even need a VPN to download from it. Only free videos and also L3 cdm needed.

    Code:
    import base64
    import json
    import re
    
    import requests
    from pywidevine.cdm import Cdm
    from pywidevine.device import Device
    from pywidevine.pssh import PSSH
    
    WVD_FILE = "device_wvd_file.wvd"
    
    LOGIN_URL = 'https://servicebuss.transvision.co.id/tvs/login/external?email={email}&password={password}&deviceId=deviceId&platformId={platform_id}'
    PRODUCT_URL = 'https://servicebuss.transvision.co.id/tvs/product/get_url'
    LICENSE_URL = 'https://lic.drmtoday.com/license-proxy-widevine/cenc/'
    
    MERCHANT = 'giitd_transvision'
    
    
    def get_keys(pssh_value, custom_data):
        if pssh_value is None:
            return []
        try:
            device = Device.load(WVD_FILE)
        except:
            return []
    
        pssh_value = PSSH(pssh_value)
        cdm = Cdm.from_device(device)
        cdm_session_id = cdm.open()
    
        challenge = cdm.get_license_challenge(cdm_session_id, pssh_value)
        licence = requests.post(
            LICENSE_URL, data=challenge,
            headers={'dt-custom-data': custom_data}
        )
        licence.raise_for_status()
        licence = json.loads(licence.content.decode())["license"]
    
        cdm.parse_license(cdm_session_id, licence)
        keys = []
        for key in cdm.get_keys(cdm_session_id):
            if "CONTENT" in key.type:
                keys += [f"{key.kid.hex}:{key.key.hex()}"]
        cdm.close(cdm_session_id)
        return keys
    
    
    def get_manifest(manifest_info):
        for field in ["url", "ip"]:
            try:
                return manifest_info["props"]["pageProps"]["detailData"][field].replace(".m3u8", ".mpd")
            except:
                pass
    
        query = manifest_info["query"]
        response = json.loads(requests.get(
            PRODUCT_URL, params={
                'productId': query.get("epsid", query["prodid"]),
                'timezone': ''
            }
        ).content.decode())
        for stream in response["streamList"]:
            if stream["type"] == "dash" and ".mpd" in stream["url"]:
                return stream["url"]
        return None
    
    
    def get_video_data(source_url):
        response = requests.get(source_url).content.decode()
        response = re.findall(r'type="application/json">\s*({.*?})\s*</script>', response)[0]
        response = json.loads(response)
    
        manifest = get_manifest(response)
        if manifest is None:
            print(f"Manifest not found for: {source_url}")
            exit(0)
    
        platform_id = response["runtimeConfig"]["platformId"]
        email = response["runtimeConfig"]["email"]
        password = response["runtimeConfig"]["password"]
    
        response = json.loads(requests.post(
            LOGIN_URL.format(email=email, password=password, platform_id=platform_id)
        ).content.decode())
        custom_data = base64.b64encode(json.dumps({
            "userId": email, "merchant": MERCHANT,
            "sessionId": response["access_token"]
        }).encode()).decode()
    
        try:
            pssh_value = str(min(re.findall(
                r'<cenc:pssh\b[^>]*>(.*?)</cenc:pssh>',
                requests.get(manifest).content.decode()
            ), key=len))
        except:
            return manifest, None, None
        return manifest, pssh_value, custom_data
    
    
    def get_download_command(source_url):
        manifest, pssh, custom_data = get_video_data(source_url)
        keys = get_keys(pssh, custom_data)
    
        if len(keys) == 0:
            if pssh is not None:
                return f"Need local CDM (in WVD format) for {source_url}"
            return f'N_m3u8DL-RE.exe "{manifest}"'
        return f'N_m3u8DL-RE.exe "{manifest}" {" ".join([f"--key {k}" for k in keys])}'
    
    
    SOURCE_URLS = [
        "https://www.cubmu.com/play/catch-up?scheduleId=4028c6858e844bc2018e8ee5e6835ac6&channelId=4028c68574537fcd0174be43042758d8",
        "https://www.cubmu.com/play/catch-up?scheduleId=4028c6858e523590018e83f18a966b65&channelId=4028c68574537fcd0174be4997e958db",
        "https://www.cubmu.com/play?id=4028c68574537fcd0174b4cad0fe64a9&prodid=4028c685811992180181665558314cbe&epsid=4028c6858119921801818ac1c27c67f6",
        "https://www.cubmu.com/play?id=4028c68574537fcd0174b4e6ed096568&prodid=4028c68574f658b101753f39200d37a9&epsid=4028c6857b8456f0017b8b8dbcb30e71",
        "https://www.cubmu.com/play?id=4028c68574537fcd0174b4edb3446570&prodid=4028c68577a5fe5e0177dd36ef026147",
        "https://www.cubmu.com/play?id=4028c6857ce05a01017d4b944ebc7577&prodid=4028c685811992180181667c58fe4e9e",
        "https://www.cubmu.com/play/live-tv?id=4028c68574537fcd0174be43042758d8&genreId=10",
        "https://www.cubmu.com/play/live-tv?id=4028c68574537fcd0174be45631158d9&genreId=10",
    ]
    
    for s in SOURCE_URLS:
        print(get_download_command(s))
    Output:
    Code:
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/catchup/4028c685651d7bcc01651f0b6d210096/prod/4028c6858e844bc2018e8ee5e6835ac6/manifest.mpd" --key edf4f4ef3ffa4737b48a29e6c6be63a8:cc9cfb1f392e4b4180d79fa8178ab041
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/catchup/4028c685651d7bcc01651f0e4ce10098/prod/4028c6858e523590018e83f18a966b65/manifest.mpd" --key 609ee01ee0c7408e93d9096ca9752643:401a98e4abc546498e8a858b5f9f5670
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/encrypt/cmaf/4028c6858119921801818a5d28a96738/Manifest.mpd" --key 04f83f3afd6c4b61b95f1ed4c1f3cece:114a483a1aa148cba83f1d2746cecc64
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/encrypt/cmaf/4028c68565fa79ce0166396da58929d7/Manifest.mpd" --key b2c6966fefc34d7787c2d2445e394efa:3299f40b7bde4b3bbd1b17e9e65da4be
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/encrypt/cmaf/4028c68577a5fe5e0177d2ee7c8d3602/Manifest.mpd" --key 3f379ee3f485401aa091933f8ef6ce00:acb813e70a824dee956c036ce9046273
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/encrypt/cmaf/4028c6858119921801815c3837a30eb7/Manifest.mpd" --key fddbcbdb28bb4601a1f1d822db9d37b4:e89ce1a392e342c78997a8bb65bb72ae
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/live/master/4/4028c685651d7bcc01651f0b6d210096/manifest.mpd" --key edf4f4ef3ffa4737b48a29e6c6be63a8:cc9cfb1f392e4b4180d79fa8178ab041
    N_m3u8DL-RE.exe "https://cdnjkt4.transvision.co.id:1000/live/master/4/4028c685651d7bcc01651f0db0bf0097/manifest.mpd" --key 3680de59582949ec9ba83a9ca0754997:9c755da9b7a14a85a6a69b0c7eec1880
    You can look in the sample URLs to see what kind of links it supports. I've skipped the muxing part because N_m3u8 has some bugs with the manifests from this site. Some of them work instantly, some don't. Those that don't work can be fixed by remuxing using mkvtoolnix as previously explained. However you still have the audio sync issue ¯\_(ツ)_/¯. Can't do anything about it.

    The livestream commands have to be edited according to your case. Either download past fragments and continue or start downloading all the fragments from the present. Read the n_m3u8 github page to see what parameters you have and adjust the command according to what you need.

    Edit: I won't maintain this script since their site is bugged as hell when it comes to manifests. But I'll leave the script in case someone wants to improve it.
    Last edited by 2nHxWW6GkN1l916N3ayz8HQoi; 24th Apr 2024 at 14:22.
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  



Similar Threads

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