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 15 of 15
  1. Hi,

    I'm trying to dump a video and I think I succeeded with most of the journey with getting the keys, but I can only decrypt the audio.

    Here is the video:

    https://players.brightcove.net/6101674910001/XvJA0DZ6Y_default/index.html?videoId=6346399150112

    and mpd:

    https://ssaimanifest.prod.boltdns.net/us-east-1/playback/once/v1/dash/live-timeline/bc...discos-enabled

    From the mpd, there seem to be 2 PSSH, but onw is too long, so I took the first one which is:

    Code:
    AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQaj9BlTeOSF6a1DhHygWDdBoNd2lkZXZpbmVfdGVzdCIIMTIzNDU2NzgyB2RlZmF1bHQ=
    and the licence url seems to be directly specified in the mpd also by the attribute licenseAcquisitionUrl:

    Code:
    https://manifest.prod.boltdns.net/license/v1/cenc/widevine/6150020952001/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/6a3f4195-378e-485e-9ad4-3847ca058374?fastly_token=NjY0YmE5MjRfZDU5YzVkNjY3OGMwMmE5Yjc5OWRlZTlhZTdlNThkMTQzMjljYTk3YmIzZGRmZjg0MmYxYTYzZGI2MjUyOTlkMw%3D%3D

    Doing all that, I was able to obtain this key:

    Code:
    --key 6a3f4195378e485e9ad43847ca058374:5f5cf17ae8039a04193e42a8116915f6
    and finally, after downloading the video with yt-dlp --allow-u, I got two files, mp4 and m4a

    now I can sucessfully decrypt the audio file using

    Code:
    mp4decrypt --key 6a3f4195378e485e9ad43847ca058374:5f5cf17ae8039a04193e42a8116915f6 in.m4a out.m4a

    but when I try the same with the video file, it seems to work, but ouputs a smaller mp4 file that is not decrypted.

    What am I missing here?

    Thanks!
    Quote Quote  
  2. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Originally Posted by magimat123 View Post
    What am I missing here?
    For next time if the video is geo restricted please provide the country
    I got the same key too and the video decrypt fine.
    Did you tried using N_m3u8DL-RE ? It handle the download + decryption + merging for you

    Try with :
    Code:
    N_m3u8DL-RE "MPDURL" --key 6a3f4195378e485e9ad43847ca058374:5f5cf17ae8039a04193e42a8116915f6 -M format=mkv
    Edit : the decryption of the mp4 seems to bug.. I'm getting : https://buzzheavier.com/f/GOCMvF-0YAA=

    Here is the raw decrypted mp4 file : https://buzzheavier.com/f/GOCOw3o0YAA=
    Last edited by aqzs; 20th May 2024 at 11:17.
    Quote Quote  
  3. oh sorry, I didnt know it was geo restricted, must be Canada only!

    I'm glad you get the same key, at least it means my virtual android device setup worked.

    I tried N_m3u8DL-RE and it kinda works for me too, but like you said, the decrypted video is not good. Only the first minute or so is ok, which is actually an ad before the real video but the rest of the video is all bad.

    Probably the same problem that I had with mp4decrypt that prevents it of decrypting correctly

    I guess I'm out of luck with this thing! too bad, my wife is a teacher and I was trying to rip this for her, because she wants to show it to her students, but the school wifi is not always very good.
    Quote Quote  
  4. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Originally Posted by iamghost View Post
    Could you explain how you resolved this issue ? That would be useful !
    Quote Quote  
  5. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    open mpd with notepad, remove all ads, save
    copy path mpd download with N_m3u8DL-RE (and with key)
    mpd:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT54M45.848S" minBufferTime="PT2.000S">
       <Period id="2" duration="PT29M35.774S">
        <AdaptationSet mimeType="audio/mp4" startWithSAP="1" segmentAlignment="true" lang="fr-CA">
          <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" xmlns:cenc="urn:mpeg:cenc:2013" cenc:default_KID="6a3f4195-378e-485e-9ad4-3847ca058374" value="cenc"></ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" xmlns:cenc="urn:mpeg:cenc:2013" bc:licenseAcquisitionUrl="https://manifest.prod.boltdns.net/license/v1/cenc/widevine/6150020952001/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/6a3f4195-378e-485e-9ad4-3847ca058374?fastly_token=NjY0YzA3NDJfZWZiMWUxM2Q2ZGJmOTQzZTUzMGM5ODk2ODA0NDU2MDUwY2QyMDVjNmMwOTI3MzkwOTFiZjdmZWQyYTEzZTZhMw%3D%3D" xmlns:bc="urn:brightcove:2015">
            <cenc:pssh>AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQaj9BlTeOSF6a1DhHygWDdBoNd2lkZXZpbmVfdGVzdCIIMTIzNDU2NzgyB2RlZmF1bHQ=</cenc:pssh>
          </ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready">
            <mspr:pro>OgQAAAEAAQAwBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AbABVAEUALwBhAG8ANAAzAFgAawBpAGEAMQBEAGgASAB5AGcAVwBEAGQAQQA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBqAFgAawBhAG8ANQBJADkAVQBEAFUAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBtAGEAbgBpAGYAZQBzAHQALgBwAHIAbwBkAC4AYgBvAGwAdABkAG4AcwAuAG4AZQB0AC8AbABpAGMAZQBuAHMAZQAvAHYAMQAvAGMAZQBuAGMALwBwAGwAYQB5AHIAZQBhAGQAeQAvADYAMQA1ADAAMAAyADAAOQA1ADIAMAAwADEALwAxADEAZgBjAGEAOABmADgALQAxAGEAYQAxAC0ANAA0AGEAMwAtADgAMwBlADgALQBjADMAYgA5AGIAMwAxADEAMwBhADAAOAAvADYAYQAzAGYANAAxADkANQAtADMANwA4AGUALQA0ADgANQBlAC0AOQBhAGQANAAtADMAOAA0ADcAYwBhADAANQA4ADMANwA0AD8AZgBhAHMAdABsAHkAXwB0AG8AawBlAG4APQBOAGoAWQAwAFkAegBBADMATgBEAEoAZgBNAEcAWQB6AE4AVABJADAAWgBUAFUAeQBNAG0AWgBrAFkAegBOAGwAWgBtAEkAeQBOAG0AUQAxAFoAVwBVADAATwBEAE4AawBOAFcARQB4AE4AbQBOAGgATQBUAE0AdwBNAGoARQA1AE8ARABVADMATQAyAFEAeQBNAGoAawAxAFkAegBsAGkAWQB6AGMAMwBNAEcASQA0AE0AbQBWAGsAWgBEAEUAMQBaAEEAJQAzAEQAJQAzAEQAPAAvAEwAQQBfAFUAUgBMAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro>
            <cenc:pssh>AAAEWnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABDo6BAAAAQABADAEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBsAFUARQAvAGEAbwA0ADMAWABrAGkAYQAxAEQAaABIAHkAZwBXAEQAZABBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AGoAWABrAGEAbwA1AEkAOQBVAEQAVQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAG0AYQBuAGkAZgBlAHMAdAAuAHAAcgBvAGQALgBiAG8AbAB0AGQAbgBzAC4AbgBlAHQALwBsAGkAYwBlAG4AcwBlAC8AdgAxAC8AYwBlAG4AYwAvAHAAbABhAHkAcgBlAGEAZAB5AC8ANgAxADUAMAAwADIAMAA5ADUAMgAwADAAMQAvADEAMQBmAGMAYQA4AGYAOAAtADEAYQBhADEALQA0ADQAYQAzAC0AOAAzAGUAOAAtAGMAMwBiADkAYgAzADEAMQAzAGEAMAA4AC8ANgBhADMAZgA0ADEAOQA1AC0AMwA3ADgAZQAtADQAOAA1AGUALQA5AGEAZAA0AC0AMwA4ADQANwBjAGEAMAA1ADgAMwA3ADQAPwBmAGEAcwB0AGwAeQBfAHQAbwBrAGUAbgA9AE4AagBZADAAWQB6AEEAMwBOAEQASgBmAE0ARwBZAHoATgBUAEkAMABaAFQAVQB5AE0AbQBaAGsAWQB6AE4AbABaAG0ASQB5AE4AbQBRADEAWgBXAFUAMABPAEQATgBrAE4AVwBFAHgATgBtAE4AaABNAFQATQB3AE0AagBFADUATwBEAFUAMwBNADIAUQB5AE0AagBrADEAWQB6AGwAaQBZAHoAYwAzAE0ARwBJADQATQBtAFYAawBaAEQARQAxAFoAQQAlADMARAAlADMARAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh>
          </ContentProtection>
          <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
          <SegmentTemplate initialization="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/init2.m4f" media="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/segment$Number$.m4f" startNumber="6" timescale="48000">
            <SegmentTimeline>
              <S d="285696" r="297"></S>
              <S d="100352"></S>
            </SegmentTimeline>
          </SegmentTemplate>
          <Representation audioSamplingRate="48000" bandwidth="64000" codecs="mp4a.40.2" id="default_audio64_5_fr-CA_main"></Representation>
          <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="default_audio96_5_fr-CA_main"></Representation>
          <Representation audioSamplingRate="48000" bandwidth="128000" codecs="mp4a.40.2" id="default_audio128_5_fr-CA_main"></Representation>
          <Representation audioSamplingRate="48000" bandwidth="192000" codecs="mp4a.40.2" id="default_audio192_2_fr-CA_main"></Representation>
        </AdaptationSet>
        <AdaptationSet mimeType="video/mp4" startWithSAP="1" scanType="progressive" segmentAlignment="true">
          <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" xmlns:cenc="urn:mpeg:cenc:2013" cenc:default_KID="6a3f4195-378e-485e-9ad4-3847ca058374" value="cenc"></ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" xmlns:cenc="urn:mpeg:cenc:2013" bc:licenseAcquisitionUrl="https://manifest.prod.boltdns.net/license/v1/cenc/widevine/6150020952001/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/6a3f4195-378e-485e-9ad4-3847ca058374?fastly_token=NjY0YzA3NDJfZWZiMWUxM2Q2ZGJmOTQzZTUzMGM5ODk2ODA0NDU2MDUwY2QyMDVjNmMwOTI3MzkwOTFiZjdmZWQyYTEzZTZhMw%3D%3D" xmlns:bc="urn:brightcove:2015">
            <cenc:pssh>AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQaj9BlTeOSF6a1DhHygWDdBoNd2lkZXZpbmVfdGVzdCIIMTIzNDU2NzgyB2RlZmF1bHQ=</cenc:pssh>
          </ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready">
            <mspr:pro>OgQAAAEAAQAwBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AbABVAEUALwBhAG8ANAAzAFgAawBpAGEAMQBEAGgASAB5AGcAVwBEAGQAQQA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBqAFgAawBhAG8ANQBJADkAVQBEAFUAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBtAGEAbgBpAGYAZQBzAHQALgBwAHIAbwBkAC4AYgBvAGwAdABkAG4AcwAuAG4AZQB0AC8AbABpAGMAZQBuAHMAZQAvAHYAMQAvAGMAZQBuAGMALwBwAGwAYQB5AHIAZQBhAGQAeQAvADYAMQA1ADAAMAAyADAAOQA1ADIAMAAwADEALwAxADEAZgBjAGEAOABmADgALQAxAGEAYQAxAC0ANAA0AGEAMwAtADgAMwBlADgALQBjADMAYgA5AGIAMwAxADEAMwBhADAAOAAvADYAYQAzAGYANAAxADkANQAtADMANwA4AGUALQA0ADgANQBlAC0AOQBhAGQANAAtADMAOAA0ADcAYwBhADAANQA4ADMANwA0AD8AZgBhAHMAdABsAHkAXwB0AG8AawBlAG4APQBOAGoAWQAwAFkAegBBADMATgBEAEoAZgBNAEcAWQB6AE4AVABJADAAWgBUAFUAeQBNAG0AWgBrAFkAegBOAGwAWgBtAEkAeQBOAG0AUQAxAFoAVwBVADAATwBEAE4AawBOAFcARQB4AE4AbQBOAGgATQBUAE0AdwBNAGoARQA1AE8ARABVADMATQAyAFEAeQBNAGoAawAxAFkAegBsAGkAWQB6AGMAMwBNAEcASQA0AE0AbQBWAGsAWgBEAEUAMQBaAEEAJQAzAEQAJQAzAEQAPAAvAEwAQQBfAFUAUgBMAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro>
            <cenc:pssh>AAAEWnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABDo6BAAAAQABADAEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBsAFUARQAvAGEAbwA0ADMAWABrAGkAYQAxAEQAaABIAHkAZwBXAEQAZABBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AGoAWABrAGEAbwA1AEkAOQBVAEQAVQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAG0AYQBuAGkAZgBlAHMAdAAuAHAAcgBvAGQALgBiAG8AbAB0AGQAbgBzAC4AbgBlAHQALwBsAGkAYwBlAG4AcwBlAC8AdgAxAC8AYwBlAG4AYwAvAHAAbABhAHkAcgBlAGEAZAB5AC8ANgAxADUAMAAwADIAMAA5ADUAMgAwADAAMQAvADEAMQBmAGMAYQA4AGYAOAAtADEAYQBhADEALQA0ADQAYQAzAC0AOAAzAGUAOAAtAGMAMwBiADkAYgAzADEAMQAzAGEAMAA4AC8ANgBhADMAZgA0ADEAOQA1AC0AMwA3ADgAZQAtADQAOAA1AGUALQA5AGEAZAA0AC0AMwA4ADQANwBjAGEAMAA1ADgAMwA3ADQAPwBmAGEAcwB0AGwAeQBfAHQAbwBrAGUAbgA9AE4AagBZADAAWQB6AEEAMwBOAEQASgBmAE0ARwBZAHoATgBUAEkAMABaAFQAVQB5AE0AbQBaAGsAWQB6AE4AbABaAG0ASQB5AE4AbQBRADEAWgBXAFUAMABPAEQATgBrAE4AVwBFAHgATgBtAE4AaABNAFQATQB3AE0AagBFADUATwBEAFUAMwBNADIAUQB5AE0AagBrADEAWQB6AGwAaQBZAHoAYwAzAE0ARwBJADQATQBtAFYAawBaAEQARQAxAFoAQQAlADMARAAlADMARAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh>
          </ContentProtection>
          <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
          <SegmentTemplate initialization="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/init2.m4f" media="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/segment$Number$.m4f" startNumber="6" timescale="30000">
            <SegmentTimeline>
              <S d="180180" r="294"></S>
              <S d="120120"></S>
            </SegmentTimeline>
          </SegmentTemplate>
          <Representation bandwidth="247000" codecs="avc1.42000d" frameRate="2997/100" height="180" id="f9e5b15c-baf2-4cf1-9fc0-5c960d40252e" width="320"></Representation>
          <Representation bandwidth="471000" codecs="avc1.4d0015" frameRate="2997/100" height="288" id="2c44572f-db8a-4dd1-ba39-313dc10a01fa" width="512"></Representation>
          <Representation bandwidth="898000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="705c719f-a06e-495f-be99-e77d8b946f6b" width="640"></Representation>
          <Representation bandwidth="1521000" codecs="avc1.4d001e" frameRate="2997/100" height="432" id="cc778b53-6e0f-462d-a131-a8d05f3540a6" width="768"></Representation>
          <Representation bandwidth="2791000" codecs="avc1.4d001f" frameRate="2997/100" height="576" id="ab7f9faf-5ec8-4084-884f-28ba2d6541a2" width="1024"></Representation>
          <Representation bandwidth="4175000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="73ce397e-7b29-4919-8b8e-d8004ff13673" width="1280"></Representation>
        </AdaptationSet>
        <AdaptationSet mimeType="text/vtt" lang="fr-CA" label="français">
          <Representation bandwidth="256" id="subtitle_fr-CA">
            <BaseURL>https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/9b1b7651-ac23-4135-83dd-b536dfacbfd0.vtt</BaseURL>
          </Representation>
        </AdaptationSet>
      </Period>
        <Period id="10" duration="PT22M39.231999999S">
        <AdaptationSet mimeType="audio/mp4" startWithSAP="1" segmentAlignment="true" lang="fr-CA">
          <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" xmlns:cenc="urn:mpeg:cenc:2013" cenc:default_KID="6a3f4195-378e-485e-9ad4-3847ca058374" value="cenc"></ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" xmlns:cenc="urn:mpeg:cenc:2013" bc:licenseAcquisitionUrl="https://manifest.prod.boltdns.net/license/v1/cenc/widevine/6150020952001/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/6a3f4195-378e-485e-9ad4-3847ca058374?fastly_token=NjY0YzA3NDJfZWZiMWUxM2Q2ZGJmOTQzZTUzMGM5ODk2ODA0NDU2MDUwY2QyMDVjNmMwOTI3MzkwOTFiZjdmZWQyYTEzZTZhMw%3D%3D" xmlns:bc="urn:brightcove:2015">
            <cenc:pssh>AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQaj9BlTeOSF6a1DhHygWDdBoNd2lkZXZpbmVfdGVzdCIIMTIzNDU2NzgyB2RlZmF1bHQ=</cenc:pssh>
          </ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready">
            <mspr:pro>OgQAAAEAAQAwBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AbABVAEUALwBhAG8ANAAzAFgAawBpAGEAMQBEAGgASAB5AGcAVwBEAGQAQQA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBqAFgAawBhAG8ANQBJADkAVQBEAFUAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBtAGEAbgBpAGYAZQBzAHQALgBwAHIAbwBkAC4AYgBvAGwAdABkAG4AcwAuAG4AZQB0AC8AbABpAGMAZQBuAHMAZQAvAHYAMQAvAGMAZQBuAGMALwBwAGwAYQB5AHIAZQBhAGQAeQAvADYAMQA1ADAAMAAyADAAOQA1ADIAMAAwADEALwAxADEAZgBjAGEAOABmADgALQAxAGEAYQAxAC0ANAA0AGEAMwAtADgAMwBlADgALQBjADMAYgA5AGIAMwAxADEAMwBhADAAOAAvADYAYQAzAGYANAAxADkANQAtADMANwA4AGUALQA0ADgANQBlAC0AOQBhAGQANAAtADMAOAA0ADcAYwBhADAANQA4ADMANwA0AD8AZgBhAHMAdABsAHkAXwB0AG8AawBlAG4APQBOAGoAWQAwAFkAegBBADMATgBEAEoAZgBNAEcAWQB6AE4AVABJADAAWgBUAFUAeQBNAG0AWgBrAFkAegBOAGwAWgBtAEkAeQBOAG0AUQAxAFoAVwBVADAATwBEAE4AawBOAFcARQB4AE4AbQBOAGgATQBUAE0AdwBNAGoARQA1AE8ARABVADMATQAyAFEAeQBNAGoAawAxAFkAegBsAGkAWQB6AGMAMwBNAEcASQA0AE0AbQBWAGsAWgBEAEUAMQBaAEEAJQAzAEQAJQAzAEQAPAAvAEwAQQBfAFUAUgBMAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro>
            <cenc:pssh>AAAEWnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABDo6BAAAAQABADAEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBsAFUARQAvAGEAbwA0ADMAWABrAGkAYQAxAEQAaABIAHkAZwBXAEQAZABBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AGoAWABrAGEAbwA1AEkAOQBVAEQAVQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAG0AYQBuAGkAZgBlAHMAdAAuAHAAcgBvAGQALgBiAG8AbAB0AGQAbgBzAC4AbgBlAHQALwBsAGkAYwBlAG4AcwBlAC8AdgAxAC8AYwBlAG4AYwAvAHAAbABhAHkAcgBlAGEAZAB5AC8ANgAxADUAMAAwADIAMAA5ADUAMgAwADAAMQAvADEAMQBmAGMAYQA4AGYAOAAtADEAYQBhADEALQA0ADQAYQAzAC0AOAAzAGUAOAAtAGMAMwBiADkAYgAzADEAMQAzAGEAMAA4AC8ANgBhADMAZgA0ADEAOQA1AC0AMwA3ADgAZQAtADQAOAA1AGUALQA5AGEAZAA0AC0AMwA4ADQANwBjAGEAMAA1ADgAMwA3ADQAPwBmAGEAcwB0AGwAeQBfAHQAbwBrAGUAbgA9AE4AagBZADAAWQB6AEEAMwBOAEQASgBmAE0ARwBZAHoATgBUAEkAMABaAFQAVQB5AE0AbQBaAGsAWQB6AE4AbABaAG0ASQB5AE4AbQBRADEAWgBXAFUAMABPAEQATgBrAE4AVwBFAHgATgBtAE4AaABNAFQATQB3AE0AagBFADUATwBEAFUAMwBNADIAUQB5AE0AagBrADEAWQB6AGwAaQBZAHoAYwAzAE0ARwBJADQATQBtAFYAawBaAEQARQAxAFoAQQAlADMARAAlADMARAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh>
          </ContentProtection>
          <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
          <SegmentTemplate presentationTimeOffset="85237760" initialization="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/init10.m4f" media="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/segment$Number$.m4f" startNumber="328" timescale="48000">
            <SegmentTimeline>
              <S d="186368"></S>
              <S d="285696" r="226"></S>
              <S d="203776"></S>
            </SegmentTimeline>
          </SegmentTemplate>
          <Representation audioSamplingRate="48000" bandwidth="64000" codecs="mp4a.40.2" id="default_audio64_5_fr-CA_main"></Representation>
          <Representation audioSamplingRate="48000" bandwidth="96000" codecs="mp4a.40.2" id="default_audio96_5_fr-CA_main"></Representation>
          <Representation audioSamplingRate="48000" bandwidth="128000" codecs="mp4a.40.2" id="default_audio128_5_fr-CA_main"></Representation>
          <Representation audioSamplingRate="48000" bandwidth="192000" codecs="mp4a.40.2" id="default_audio192_2_fr-CA_main"></Representation>
        </AdaptationSet>
        <AdaptationSet mimeType="video/mp4" startWithSAP="1" scanType="progressive" segmentAlignment="true">
          <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" xmlns:cenc="urn:mpeg:cenc:2013" cenc:default_KID="6a3f4195-378e-485e-9ad4-3847ca058374" value="cenc"></ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" xmlns:cenc="urn:mpeg:cenc:2013" bc:licenseAcquisitionUrl="https://manifest.prod.boltdns.net/license/v1/cenc/widevine/6150020952001/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/6a3f4195-378e-485e-9ad4-3847ca058374?fastly_token=NjY0YzA3NDJfZWZiMWUxM2Q2ZGJmOTQzZTUzMGM5ODk2ODA0NDU2MDUwY2QyMDVjNmMwOTI3MzkwOTFiZjdmZWQyYTEzZTZhMw%3D%3D" xmlns:bc="urn:brightcove:2015">
            <cenc:pssh>AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQaj9BlTeOSF6a1DhHygWDdBoNd2lkZXZpbmVfdGVzdCIIMTIzNDU2NzgyB2RlZmF1bHQ=</cenc:pssh>
          </ContentProtection>
          <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready">
            <mspr:pro>OgQAAAEAAQAwBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AbABVAEUALwBhAG8ANAAzAFgAawBpAGEAMQBEAGgASAB5AGcAVwBEAGQAQQA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBqAFgAawBhAG8ANQBJADkAVQBEAFUAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBtAGEAbgBpAGYAZQBzAHQALgBwAHIAbwBkAC4AYgBvAGwAdABkAG4AcwAuAG4AZQB0AC8AbABpAGMAZQBuAHMAZQAvAHYAMQAvAGMAZQBuAGMALwBwAGwAYQB5AHIAZQBhAGQAeQAvADYAMQA1ADAAMAAyADAAOQA1ADIAMAAwADEALwAxADEAZgBjAGEAOABmADgALQAxAGEAYQAxAC0ANAA0AGEAMwAtADgAMwBlADgALQBjADMAYgA5AGIAMwAxADEAMwBhADAAOAAvADYAYQAzAGYANAAxADkANQAtADMANwA4AGUALQA0ADgANQBlAC0AOQBhAGQANAAtADMAOAA0ADcAYwBhADAANQA4ADMANwA0AD8AZgBhAHMAdABsAHkAXwB0AG8AawBlAG4APQBOAGoAWQAwAFkAegBBADMATgBEAEoAZgBNAEcAWQB6AE4AVABJADAAWgBUAFUAeQBNAG0AWgBrAFkAegBOAGwAWgBtAEkAeQBOAG0AUQAxAFoAVwBVADAATwBEAE4AawBOAFcARQB4AE4AbQBOAGgATQBUAE0AdwBNAGoARQA1AE8ARABVADMATQAyAFEAeQBNAGoAawAxAFkAegBsAGkAWQB6AGMAMwBNAEcASQA0AE0AbQBWAGsAWgBEAEUAMQBaAEEAJQAzAEQAJQAzAEQAPAAvAEwAQQBfAFUAUgBMAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro>
            <cenc:pssh>AAAEWnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABDo6BAAAAQABADAEPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBsAFUARQAvAGEAbwA0ADMAWABrAGkAYQAxAEQAaABIAHkAZwBXAEQAZABBAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+AGoAWABrAGEAbwA1AEkAOQBVAEQAVQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAG0AYQBuAGkAZgBlAHMAdAAuAHAAcgBvAGQALgBiAG8AbAB0AGQAbgBzAC4AbgBlAHQALwBsAGkAYwBlAG4AcwBlAC8AdgAxAC8AYwBlAG4AYwAvAHAAbABhAHkAcgBlAGEAZAB5AC8ANgAxADUAMAAwADIAMAA5ADUAMgAwADAAMQAvADEAMQBmAGMAYQA4AGYAOAAtADEAYQBhADEALQA0ADQAYQAzAC0AOAAzAGUAOAAtAGMAMwBiADkAYgAzADEAMQAzAGEAMAA4AC8ANgBhADMAZgA0ADEAOQA1AC0AMwA3ADgAZQAtADQAOAA1AGUALQA5AGEAZAA0AC0AMwA4ADQANwBjAGEAMAA1ADgAMwA3ADQAPwBmAGEAcwB0AGwAeQBfAHQAbwBrAGUAbgA9AE4AagBZADAAWQB6AEEAMwBOAEQASgBmAE0ARwBZAHoATgBUAEkAMABaAFQAVQB5AE0AbQBaAGsAWQB6AE4AbABaAG0ASQB5AE4AbQBRADEAWgBXAFUAMABPAEQATgBrAE4AVwBFAHgATgBtAE4AaABNAFQATQB3AE0AagBFADUATwBEAFUAMwBNADIAUQB5AE0AagBrADEAWQB6AGwAaQBZAHoAYwAzAE0ARwBJADQATQBtAFYAawBaAEQARQAxAFoAQQAlADMARAAlADMARAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh>
          </ContentProtection>
          <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
          <SegmentTemplate presentationTimeOffset="53273220" initialization="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/init10.m4f" media="https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/x8c/$RepresentationID$/segment$Number$.m4f" startNumber="325" timescale="30000">
            <SegmentTimeline>
              <S d="60060"></S>
              <S d="180180" r="224"></S>
              <S d="176176"></S>
            </SegmentTimeline>
          </SegmentTemplate>
          <Representation bandwidth="247000" codecs="avc1.42000d" frameRate="2997/100" height="180" id="f9e5b15c-baf2-4cf1-9fc0-5c960d40252e" width="320"></Representation>
          <Representation bandwidth="471000" codecs="avc1.4d0015" frameRate="2997/100" height="288" id="2c44572f-db8a-4dd1-ba39-313dc10a01fa" width="512"></Representation>
          <Representation bandwidth="898000" codecs="avc1.4d001e" frameRate="2997/100" height="360" id="705c719f-a06e-495f-be99-e77d8b946f6b" width="640"></Representation>
          <Representation bandwidth="1521000" codecs="avc1.4d001e" frameRate="2997/100" height="432" id="cc778b53-6e0f-462d-a131-a8d05f3540a6" width="768"></Representation>
          <Representation bandwidth="2791000" codecs="avc1.4d001f" frameRate="2997/100" height="576" id="ab7f9faf-5ec8-4084-884f-28ba2d6541a2" width="1024"></Representation>
          <Representation bandwidth="4175000" codecs="avc1.4d001f" frameRate="2997/100" height="720" id="73ce397e-7b29-4919-8b8e-d8004ff13673" width="1280"></Representation>
        </AdaptationSet>
        <AdaptationSet mimeType="text/vtt" lang="fr-CA" label="français">
          <Representation bandwidth="256" id="subtitle_fr-CA">
            <BaseURL>https://redirector.playback.us-east-1.prod.deploys.brightcove.com/v1/6150020952001/a840258a-db1f-4f14-a1ed-e1a9830a060d/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/9b1b7651-ac23-4135-83dd-b536dfacbfd0.vtt</BaseURL>
          </Representation>
        </AdaptationSet>
      </Period>
    </MPD>
    Quote Quote  
  6. Another possible approach is to use dash-mpd-cli with the --no-period-concatenation switch:
    Code:
    dash-mpd-cli-windows --key 6a3f4195378e485e9ad43847ca058374:5f5cf17ae8039a04193e42a8116915f6 --no-period-concatenation --quality best "https://ssaimanifest.prod.boltdns.net/us-east-1/playback/once/v1/dash/live-timeline/bccenc/6150020952001/479edf58-3ecb-4c74-a651-e55972648e2d/11fca8f8-1aa1-44a3-83e8-c3b9b3113a08/a9d332f8-c166-4bd3-8c69-0185a8b04255/content.mpd?bc_token=NjY0........"
    This will download all the "periods" in the MPD, meaning it will download all the ad and actual video segments separately, so you'll be left with:

    Image
    [Attachment 79290 - Click to enlarge]


    At that point you only need to mux (with append) the two main video files, which will yield the full video.

    dash-mpd-cli also has the ability to rewrite the mpd file before parsing it: https://emarsden.github.io/dash-mpd-cli/rewriting.html#admonition-drop-dynamically-ins...tising-content so that you can drop all the periods you don't like, but I'm not sure how feasible it would be in this case.

    Big downside to using dash-mpd-cli is that download is painfully slow compared to N_m3u8DL-RE.
    Quote Quote  
  7. you guys are awesome!

    I downloaded the video posted by iamghost and it works just fine, wife is happy now :P

    For learning sake, I'm trying to reproduce it myself and I can't figure it ou though. I get the part about removing the ad sections, but I don't know how to use my local mfd with N_m3u8DL-RE. I'm trying this:

    Code:
    ./N_m3u8DL-RE adonis.mpd --key 6a3f4195378e485e9ad43847ca058374:5f5cf17ae8039a04193e42a8116915f6 -M format=mkv
    and it read the mpd fine, but when it tries to download, I always get a 404. Is there any option to enable when using a local mpd file or something?
    Quote Quote  
  8. ok, got it, the links inside the mpd expired, so redownloaded a fresh one, removed the unwanted periods and now it all works, thanks again all !
    Quote Quote  
  9. Not sure if the developer of dash-mpd-cli lurks here, but an update was just released that lets you skip the periods whose duration is less than a certain amount, by using the switch:
    Code:
    --minimum-period-duration <number_in_seconds>
    so in this case just 100 seconds would be more than enough:

    Code:
    dash-mpd-cli-windows --quality best --key 6a3f4195378e485e9ad43847ca058374:5f5cf17ae8039a04193e42a8116915f6 --minimum-period-duration 100 "https://ssaimanifest.prod.boltdns.net/...../content.mpd?bc_token=NjY..........."
    Quote Quote  
  10. Indeed, that feature was prompted by this thread. In theory, the existing XSLT-based MPD filtering/rewriting functionality is able to do this, but in practice handling comparisons with duration parameters in an XPath expression is tricky. This feature should hopefully be quite useful to avoid overloading the servers that offer up advertising content.

    (Downloads with dash-mpd-cli are slow because it doesn't implement parallel downloads. It's fairly easy for a server to detect that kind of behaviour, which is very different from that of a normal viewer, and I hesitate to contribute even in a minor way to a countermeasure/evasion war.)
    Quote Quote  
  11. Originally Posted by pteque View Post
    Indeed, that feature was prompted by this thread. In theory, the existing XSLT-based MPD filtering/rewriting functionality is able to do this, but in practice handling comparisons with duration parameters in an XPath expression is tricky. This feature should hopefully be quite useful to avoid overloading the servers that offer up advertising content.
    Oh nice! Yes, that's what I was thinking. Even if you could use wildcards, that would have been a bit tricky.

    (Downloads with dash-mpd-cli are slow because it doesn't implement parallel downloads. It's fairly easy for a server to detect that kind of behaviour, which is very different from that of a normal viewer, and I hesitate to contribute even in a minor way to a countermeasure/evasion war.)
    Ah, that's perfectly understandable.

    I'm experiencing a weird problem with the final concatenation though as it seems to be unbearably slow (it writes like 1 MiB every 30 seconds or so, but it's not even consistent, at times it's either faster or even slower). Not sure how it's being handled, but I know something like:
    Code:
    mkvmerge "part1.mp4" + "part2.mp4" -o out.mkv
    should only take a few seconds on an SSD.

    I also tried to use `--muxer-preference mkv:mkvmerge` but that seems to be ignored (chances are I'm missing something, but just to be sure) as this is the output I get:
    Code:
    [0s] [>-------------------------------------------------] Fetching DASH manifest                                      
    XX:33:55  INFO Skipping period 0 (#1): duration is less than requested minimum
    XX:33:55  INFO Skipping period 1 (#2): duration is less than requested minimum
    XX:33:55  INFO Skipping period 2 (#3): duration is less than requested minimum
    XX:33:55  INFO Skipping period 4 (#5): duration is less than requested minimum
    XX:33:55  INFO Skipping period 5 (#6): duration is less than requested minimum
    XX:33:55  INFO Skipping period 6 (#7): duration is less than requested minimum
    XX:33:55  INFO Skipping period 7 (#8): duration is less than requested minimum
    [5m] [#################################################>] Muxing audio and video                                      
    XX:38:57  INFO   Muxer preference for mp4 is ["ffmpeg", "vlc", "mp4box"]
    XX:38:57  INFO   Trying muxer ffmpeg
    XX:39:17  INFO   Muxing with ffmpeg subprocess succeeded
    [10m] [#################################################>] Muxing audio and video                                     
    XX:44:04  INFO   Muxer preference for mp4 is ["ffmpeg", "vlc", "mp4box"]
    XX:44:04  INFO   Trying muxer ffmpeg
    XX:44:27  INFO   Muxing with ffmpeg subprocess succeeded
    XX:44:29  INFO Preparing to concatenate multiple Periods into one output file
    ^C
    Edit: Okay, it works if I specify `-o out.mkv`, but that yields another problem:
    Code:
    XX:26:05  INFO   Trying muxer mkvmerge
    XX:26:18  INFO   Muxing with mkvmerge subprocess succeeded
    XX:26:19  INFO Preparing to concatenate multiple Periods into one output file
    XX:26:25  INFO ffmpeg stderr: [AVFormatContext @ 000001baed620640] Requested output format 'mkv' is not known.
    [out#0 @ 000001baec72db00] Error initializing the muxer for outtt-p4.mkv: Invalid argument
    Error opening output file outtt-p4.mkv.
    Error opening output files: Invalid argument
    
    XX:26:25  WARN   unconcatenated input files:
    XX:26:25  WARN       outtt-p4.mkv
    XX:26:25  WARN       outtt-p9.mkv
    XX:26:25 ERROR Download failed: muxing error "running ffmpeg"

    I also noticed that with the above link, which has two relevant periods, during concatenation the first period is being read from %temp% and the second from the cwd. Not that it's a problem, but I found it weird. Are you experiencing the same as me and if not, could you have a look into it? Thanks.

    Edit: with the output (-o) specified, this problem didn't occur as both files were being read from the cwd.
    Last edited by white_snake; 22nd May 2024 at 06:36.
    Quote Quote  
  12. The final concatenation is currently always using ffmpeg's "concat" filter, irrespective of the choice of muxer. Concatenating media streams is actually quite difficult, except for special cases like .ts streams. Different DASH Periods can use different codecs, resolutions, framerates and so on; concatenation can require reencoding the media streams. There are few tools that seem to be able to handle this; I don't think that mkvmerge can for example (from memory your example generates an output mkv with 4 "concurrent" media streams).

    https://trac.ffmpeg.org/wiki/Concatenate

    I don't use this often but the concatenation does indeed seem slow to me (there may be re-encoding going on; I'll look into this further).

    Concerning directories, what you are seeing is the expected behaviour. Periods are concatenated "into" a copy of the first period. The first period is copied (into the temporary directory) so that upon failure the per-period files are still available in the directory of the requested output file.
    Quote Quote  
  13. Originally Posted by pteque View Post
    There are few tools that seem to be able to handle this; I don't think that mkvmerge can for example (from memory your example generates an output mkv with 4 "concurrent" media streams).
    It doesn't on my end, the + sign is meant to make the second file append to the first.

    From the previous example, this yielded the full 52:14 video:
    Code:
    mkvmerge outtt-p4.mkv + outtt-p9.mkv -o final.mkv
    I don't use this often but the concatenation does indeed seem slow to me (there may be re-encoding going on; I'll look into this further).
    Yup, that's what I was thinking. I never used the concat filter myself, but I believe re-encoding should be avoided at all costs for cases like this.
    Quote Quote  
  14. The latest release of dash-mpd-cli includes support for concatenating multi-period manifests using mkvmerge, in addition to ffmpeg. See the --concat-preference commandline option, which takes an argument of the form container:concat1,concat2. If the first concat helper fails, the second will be tried.

    In the DASH manifests in my test suite, which feature more variability in encoding than common streaming services, mkvmerge fails to concatenate H264 streams relatively often, complaining about malformed content. ffmpeg is more tolerant, but also much slower to concatenate. The default setting for MP4, webm and Matroska containers is to try mkvmerge then fall back to ffmpeg.
    Quote Quote  



Similar Threads

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