shaka-project / shaka-player

JavaScript player library / DASH & HLS client / MSE-EME player
Apache License 2.0
7.23k stars 1.34k forks source link

Chunks are not being refreshed with new Manifest response's SegmentTemplates. #6996

Open baturays opened 4 months ago

baturays commented 4 months ago

Have you read the Tutorials?

Have you read the FAQ and checked for duplicate open issues?

If the question is related to FairPlay, have you read the tutorial?

What version of Shaka Player are you using? 2.5.23

What browser and OS are you using? MacOs, Firefox

Please ask your question

Hello,

I am currently playing a live channel using DASH and for additional security, I am adding some search parameters to the new manifest requests. As a response to the manifest request, I receive new segments and a new token parameter within the media object. However, while the ts chunks are being downloaded, the token parameter appended to the media chunks from the initial manifest request is still being used.

In short:

  1. I am using Shaka Player to play a live DASH stream.
  2. I add some search parameters (e.g., st, ts, e) to new manifest requests.
  3. The server returns a new manifest with updated st tokens within the SegmentTemplate elements. However, Shaka Player continues to use the old st tokens from the initial manifest request when downloading segment chunks. How can I ensure that Shaka Player uses the new st tokens for segment chunks after a new manifest is loaded? What would be the best approach to solve this issue?
avelad commented 4 months ago

You are using an unsupported and very old version. I'm sure this has been resolved in newer versions, can you try 4.10.2? Thanks!

baturays commented 4 months ago

Hello, I upgraded the Shaka version to 4.10.2 as you suggested, but the problem is still not fixed. Even though a new MPD request is made, it continues to read the old manifest file.

avelad commented 4 months ago

Can you send your manifest url to test it?

baturays commented 4 months ago

Hello, this manifest URL is closed to the outside due to company policy and cannot be accessed externally.

Maybe if you can provide me with a sample content, I can test it on my end to see if the transition works correctly.

avelad commented 4 months ago

We do not have content with these characteristics. Since you can't provide an example to help you, we'd be happy to review your PR in case you want to contribute to fixing this. I'm sorry!

baturays commented 4 months ago

Hello, as you mentioned, I updated the Shaka version and continued testing. After MPD refreshes, it continues to download chunks from the old mode, and after a while, it switches to the new MPD after receiving a 410 error from the existing mode and continues downloading chunks. However, after a while, it encounters issues during these transitions and fails to switch to the new mode. Is there a configuration we can use to force the player to switch to the new MPD after receiving it?

baturays commented 4 months ago

Hi @avelad , i am waiting for your response. Thanks.

baturays commented 4 months ago

@shaka-bot reopen

baturays commented 4 months ago

Here i am sharing my registerRequestFilter function , to update header parameters with new ones .

MTC.registerRequestFilterFunction = (type, request) => { const requestType = playerMethods.getRequestTypes(); if (type === requestType.MANIFEST) { request.uris.forEach((uri, index) => { if (isMpdRequest(uri)) {

            let tokenParams = {};
            try {
                tokenParams = prepareTokenParams();
            } catch (error) {
                console.warn("Token creation error on registerRequestFilter: ", error);
                return;
            }

            const { sample } = tokenParams;
            const urlObj = new URL(uri);

            const paramsToDelete = ["sample"];
            paramsToDelete.forEach(param => {
                if (urlObj.searchParams.has(param)) {
                    urlObj.searchParams.delete(param);
                }
                delete request.headers[param];
            });

            request.headers["sample"] =  sample;
            request.uris[index] = urlObj.href;
        }
    });
}

}

I observe that request.uris is growing in size after each call, even if i have only 1 uri in the beginning.

avelad commented 3 months ago

So I understand that you have solved the problem with your filter. The growth of the uris size is expected if you frequently change the final url of the mpd (including tokens)

shaka-bot commented 3 months ago

Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including @shaka-bot reopen in a comment.

baturays commented 2 months ago

@shaka-bot reopen

baturays commented 2 months ago

I reopened the topic because I want to ask something. I upgraded my Shaka Player version to 4.10.2. What I want to ask is: In dynamic manifest requests, after each manifest request, shouldn't it continue with the updated data from the manifest (segment templates)? What I see is that even though manifest requests are made, the new segments from the updated manifest are not immediately used. I also noticed that sometimes, when a 410 is received from the server, it automatically switches to one of the next manifests, but this is not stable. I couldn't understand how it decides which manifest to switch to. In short, my question is, after each manifest request, can we ensure that Shaka continues with the latest manifest? Or, based on which tags or properties does Shaka make decisions during these transitions in the response?

baturays commented 2 months ago

@avelad

avelad commented 2 months ago

Can you give some examples of what is received(mpd)? So we can see what might be happening...

baturays commented 2 months ago

Here is one example :

<?xml version="1.0" encoding="utf-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumUpdatePeriod="PT500S" suggestedPresentationDelay="PT2S" availabilityStartTime="2024-08-22T00:39:16Z" publishTime="2024-09-16T15:28:55Z" minBufferTime="PT4.0S" timeShiftBufferDepth="PT86400.0S">
    <BaseURL>https://pl-avr-s04.tvplus.com.tr/pl/176.235.9.135:80/izmottrrs.tvplus.com.tr/PLTV/88888888/224/3221229846/</BaseURL>
 <ProgramInformation>
    </ProgramInformation>
    <Period id="0" start="PT0.0S">
        <AdaptationSet id="0" contentType="video" segmentAlignment="true" bitstreamSwitching="true" maxFrameRate="50/1">
            <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/>
            <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95">
                <mspr:pro>PgMAAAEAAQA0AzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQBsAFcAVQArADcAMwByAFgATwB3ADAALwBQAG8AQwBuAGsAcQBGAGMAdwA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBKAEIAWABqAFIAaABXAE0AQgBjAFkAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAuAHQAdgBwAGwAdQBzAC4AYwBvAG0ALgB0AHIALwBQAGwAYQB5AFIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAuAHQAdgBwAGwAdQBzAC4AYwBvAG0ALgB0AHIALwBQAGwAYQB5AFIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAFUASQBfAFUAUgBMAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro>
            </ContentProtection>
            <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
                <cenc:pssh>AAAAcHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFAIARIQ+5RVeuu97Fw0/PoCnkqFcxojaHR0cHM6Ly93aWRldmluZS50dnBsdXMuY29tLnRyOjgwNjMiDnI9NTYyMjcmcz0xMDcwKgVTRF9IRA==</cenc:pssh>
            </ContentProtection>
            <ContentProtection schemeIdUri="urn:uuid:9a27dd82-fde2-4725-8cbc-4234aa06ec09">
                <cenc:pssh>AAAA+nBzc2gAAAAAmifdgv3iRyWMvEI0qgbsCQAAANo8VmVyaW1hdHJpeD48UHNzaCB2ZXJzaW9uPSIxIj48S2V5VXJsPjwhW0NEQVRBW2h0dHBzOi8vdm14dWFjc20udHZwbHVzLmNvbS50ci9DQUIva2V5ZmlsZT9zPTEwNzAmcj01NjIyNyZ0PURUViZwPTAma2M9Yjk1MjZkYmNjZTIwMTFlZGE5MzM4MDMwZTAyNGE1ODAma2Q9MTAxZDA0NjliNmQzMGQwMjk5YzBjZjNjYjEzZGUwMmJdXT48L0tleVVybD48L1Bzc2g+PC9WZXJpbWF0cml4Pg==</cenc:pssh>
            </ContentProtection>
            <Representation id="0" mimeType="video/mp4" codecs="avc1.4d401e" bandwidth="800000" width="768" height="432" frameRate="25/1">
                <SegmentTemplate duration="25600" startNumber="1" initialization="ExtAst1724287144_init_$RepresentationID$.m4i?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" media="ExtAst1724287144_chunk_20240822T003900_$RepresentationID$_$Number$.m4v?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" timescale="12800">
    </SegmentTemplate>
            </Representation>
            <Representation id="1" mimeType="video/mp4" codecs="avc1.4d401f" bandwidth="1400000" width="960" height="540" frameRate="25/1">
                <SegmentTemplate duration="25600" startNumber="1" initialization="ExtAst1724287144_init_$RepresentationID$.m4i?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" media="ExtAst1724287144_chunk_20240822T003900_$RepresentationID$_$Number$.m4v?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" timescale="12800">
    </SegmentTemplate>
            </Representation>
            <Representation id="2" mimeType="video/mp4" codecs="avc1.4d401f" bandwidth="2000000" width="960" height="540" frameRate="25/1">
                <SegmentTemplate duration="25600" startNumber="1" initialization="ExtAst1724287144_init_$RepresentationID$.m4i?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" media="ExtAst1724287144_chunk_20240822T003900_$RepresentationID$_$Number$.m4v?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" timescale="12800">
    </SegmentTemplate>
            </Representation>
            <Representation id="3" mimeType="video/mp4" codecs="avc1.4d4020" bandwidth="3000000" width="1280" height="720" frameRate="50/1">
                <SegmentTemplate duration="25600" startNumber="1" initialization="ExtAst1724287144_init_$RepresentationID$.m4i?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" media="ExtAst1724287144_chunk_20240822T003900_$RepresentationID$_$Number$.m4v?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" timescale="12800">
    </SegmentTemplate>
            </Representation>
            <Representation id="4" mimeType="video/mp4" codecs="avc1.4d402a" bandwidth="6000000" width="1920" height="1080" frameRate="50/1">
                <SegmentTemplate duration="25600" startNumber="1" initialization="ExtAst1724287144_init_$RepresentationID$.m4i?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" media="ExtAst1724287144_chunk_20240822T003900_$RepresentationID$_$Number$.m4v?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" timescale="12800">
    </SegmentTemplate>
            </Representation>
            <Representation id="5" mimeType="video/mp4" codecs="avc1.4d401e" bandwidth="400000" width="704" height="396" frameRate="25/1">
                <SegmentTemplate duration="25600" startNumber="1" initialization="ExtAst1724287144_init_$RepresentationID$.m4i?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" media="ExtAst1724287144_chunk_20240822T003900_$RepresentationID$_$Number$.m4v?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" timescale="12800">
    </SegmentTemplate>
            </Representation>

        </AdaptationSet>
        <AdaptationSet id="1" contentType="audio" segmentAlignment="true" bitstreamSwitching="true" lang="tur">
            <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc"/>
            <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95">
                <mspr:pro>PgMAAAEAAQA0AzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZQBsAFcAVQArADcAMwByAFgATwB3ADAALwBQAG8AQwBuAGsAcQBGAGMAdwA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBKAEIAWABqAFIAaABXAE0AQgBjAFkAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAuAHQAdgBwAGwAdQBzAC4AYwBvAG0ALgB0AHIALwBQAGwAYQB5AFIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAuAHQAdgBwAGwAdQBzAC4AYwBvAG0ALgB0AHIALwBQAGwAYQB5AFIAZQBhAGQAeQAvAHIAaQBnAGgAdABzAG0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAFUASQBfAFUAUgBMAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro>
            </ContentProtection>
            <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
                <cenc:pssh>AAAAcHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFAIARIQ+5RVeuu97Fw0/PoCnkqFcxojaHR0cHM6Ly93aWRldmluZS50dnBsdXMuY29tLnRyOjgwNjMiDnI9NTYyMjcmcz0xMDcwKgVTRF9IRA==</cenc:pssh>
            </ContentProtection>
            <ContentProtection schemeIdUri="urn:uuid:9a27dd82-fde2-4725-8cbc-4234aa06ec09">
                <cenc:pssh>AAAA+nBzc2gAAAAAmifdgv3iRyWMvEI0qgbsCQAAANo8VmVyaW1hdHJpeD48UHNzaCB2ZXJzaW9uPSIxIj48S2V5VXJsPjwhW0NEQVRBW2h0dHBzOi8vdm14dWFjc20udHZwbHVzLmNvbS50ci9DQUIva2V5ZmlsZT9zPTEwNzAmcj01NjIyNyZ0PURUViZwPTAma2M9Yjk1MjZkYmNjZTIwMTFlZGE5MzM4MDMwZTAyNGE1ODAma2Q9MTAxZDA0NjliNmQzMGQwMjk5YzBjZjNjYjEzZGUwMmJdXT48L0tleVVybD48L1Bzc2g+PC9WZXJpbWF0cml4Pg==</cenc:pssh>
            </ContentProtection>
            <Representation id="7" mimeType="audio/mp4" codecs="mp4a.40.5" bandwidth="128000" audioSamplingRate="48000">
                <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
                <SegmentTemplate duration="96000" startNumber="1" initialization="ExtAst1724287144_init_$RepresentationID$.m4i?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" media="ExtAst1724287144_chunk_20240822T003900_$RepresentationID$_$Number$.m4a?hw_dash=1&amp;servicetype=1&amp;rrsip=gbzottrrs.tvplus.com.tr%3A443&amp;zoneoffset=0&amp;devkbps=190-15000&amp;limitflux=-1&amp;limitdur=-1&amp;tenantId=9001&amp;validdev=5272%2C5510&amp;vqe=3&amp;pbf=2_2_2_2660967361&amp;GuardEncType=2&amp;from=31&amp;hms_devid=5272&amp;app_version=firefox%2CWebTV%2COSVersion%3DMacIntel%2CAppVersion%3D5.2.7%2Cwebtv&amp;custom_sid=MjMwMDAwNzQ5NDMwNjQ%3D&amp;uid=sjZWetVNw9MS2Tla20dKAA&amp;sw_lh=tMuEcvEgakwaJ86BYLXyfw&amp;proxy=true&amp;sw_ps=1726500532222&amp;accountinfo=nM3ioavMzOUMOffrkrFUm2TeaV2ynYqpczZIpHWmlYBEtMA9GQNtS04COPUSLZBBSr7EdOMZj0Vmxgy0oZ23NkrShY0aDaNqOH6ee4oHiSFjHzpojI44ci+exBbFrQZ5sNqz+lOhacovsEBdZh5HB+P+LJmWbFFDt6aDX2ek8N3DMdanF6Q5tL9cBGVCDXKB%3A20240916152851%3AUTC%2C%2C%2C20240916152851%2Curn%3AHuawei%3AliveTV%3AXTV4300%2C%2C-1%2C0%2C1%2C%2C%2C2%2C246%2C%2C%2C2%2C%2C0%2C%2C%2C%2C%2C2%2C1%2C161239796%2CEND&amp;st=dyjaTkHpGwkZgPdVcQI2uyVOK_cMhsokZ0KBjcOCbzg&amp;e=MTUw&amp;ts=MTcyNjUwMDUzMg" timescale="48000">
    </SegmentTemplate>
            </Representation>
        </AdaptationSet>
    </Period>
    <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://time.akamai.com/?iso"/>
</MPD>
avelad commented 2 months ago

After looking at the code I've seen that we don't support updating URLs when using SegmentTemplate with $Number$. We do support updating URLs when using SegmentTimeline with $Number$ or SegmentTimeline with $Time$. Sorry!

shaka-bot commented 1 month ago

Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including @shaka-bot reopen in a comment.

baturays commented 1 month ago

@shaka-bot reopen

Hello,

First of all, I'll try to ask my questions in bullet points.

  1. What exactly do you mean by "updating URLs"? Are you referring to the chunk URLs inside the XML response after making a new manifest request?

  2. Actually, these manifest requests are produced by a single encoder and are used in the same way across all our clients (mobile, smart TV, etc.). So, as you mentioned, the SegmentTemplates are also not present in the segment templates of the playlists produced for other clients.

  3. To repeat my previous question, after each new manifest request, can we force the player to use the playlist from the new manifest?

  4. If we cannot achieve point 3, I will try to manipulate the media element in the chunk URL for each segment request, replacing it with the correct token values to download the chunks.

Ideally, I would like to solve this issue without needing to resort to point 4. I hope I've been able to explain my questions clearly.

Thank you for your help.

@avelad

baturays commented 1 month ago

@avelad

avelad commented 5 days ago
1. What exactly do you mean by "updating URLs"? Are you referring to the chunk URLs inside the XML response after making a new manifest request?

Yes, I'm referring to the chunk URLs inside the XML response after making a new manifest request

2. Actually, these manifest requests are produced by a single encoder and are used in the same way across all our clients (mobile, smart TV, etc.). So, as you mentioned, the SegmentTemplates are also not present in the segment templates of the playlists produced for other clients.

DASH supports several formats, and in the format you use we do not support updating URLs.

3. To repeat my previous question, after each new manifest request, can we force the player to use the playlist from the new manifest?

I think not, but I'm not 100% sure.

4. If we cannot achieve point 3, I will try to manipulate the media element in the chunk URL for each segment request, replacing it with the correct token values to download the chunks.