xbmc / inputstream.adaptive

kodi inputstream addon for several manifest types
Other
454 stars 242 forks source link

Wrong segment url #1039

Closed shaka3 closed 2 years ago

shaka3 commented 2 years ago

Bug report

Describe the bug

Here is a clear and concise description of what the problem is:

IA requests wrong segment url.

Wrong url: https://ll.v.vrv.co/evs3/334c3ce738e573da58f3e55e556d6900/assets/p/c30668ab1d7d10166938f06b9643a254_,4477651.mp4,4477652.mp4,4477650.mp4,4477648.mp4,4477649.mp4,.urlset/set/init-f2-v1-x3.mp4?URLPrefix=aHR0cHM6Ly9wcm9kLmdjY3J1bmNoeXJvbGwuY29tL2V2czMvMzM0YzNjZTczOGU1NzNkYTU4ZjNlNTVlNTU2ZDY5MDAvYXNzZXRzL3AvYzMwNjY4YWIxZDdkMTAxNjY5MzhmMDZiOTY0M2EyNTRfLDQ0Nzc2NTEubXA0LDQ0Nzc2NTIubXA0LDQ0Nzc2NTAubXA0LDQ0Nzc2NDgubXA0LDQ0Nzc2NDkubXA0LC51cmxzZXQv&Expires=1663528932088&KeyName=cdn-prod-keyset&Signature=6RmWtq0hijAGSqHlkOlaX55kyzCQjpOzTDoGhBV6RPeeO_yTO6iEnzKBltZbWpdUZAgKFgQRwPd3k1pZjpF2AQ&t=exp=1663528933~acl=/evs3/334c3ce738e573da58f3e55e556d6900/assets/p/c30668ab1d7d10166938f06b9643a254_,4477651.mp4,4477652.mp4,4477650.mp4,4477648.mp4,4477649.mp4,.urlset/*~hmac=2a200503db5f64503a002785bdddbe47c4e299484f76ee98ced096de60d5435d

fixed URL: https://ll.v.vrv.co/evs3/334c3ce738e573da58f3e55e556d6900/assets/p/c30668ab1d7d10166938f06b9643a254_,4477651.mp4,4477652.mp4,4477650.mp4,4477648.mp4,4477649.mp4,.urlset/init-f2-v1-x3.mp4?URLPrefix=aHR0cHM6Ly9wcm9kLmdjY3J1bmNoeXJvbGwuY29tL2V2czMvMzM0YzNjZTczOGU1NzNkYTU4ZjNlNTVlNTU2ZDY5MDAvYXNzZXRzL3AvYzMwNjY4YWIxZDdkMTAxNjY5MzhmMDZiOTY0M2EyNTRfLDQ0Nzc2NTEubXA0LDQ0Nzc2NTIubXA0LDQ0Nzc2NTAubXA0LDQ0Nzc2NDgubXA0LDQ0Nzc2NDkubXA0LC51cmxzZXQv&Expires=1663528932088&KeyName=cdn-prod-keyset&Signature=6RmWtq0hijAGSqHlkOlaX55kyzCQjpOzTDoGhBV6RPeeO_yTO6iEnzKBltZbWpdUZAgKFgQRwPd3k1pZjpF2AQ&t=exp=1663528933~acl=/evs3/334c3ce738e573da58f3e55e556d6900/assets/p/c30668ab1d7d10166938f06b9643a254_,4477651.mp4,4477652.mp4,4477650.mp4,4477648.mp4,4477649.mp4,.urlset/*~hmac=2a200503db5f64503a002785bdddbe47c4e299484f76ee98ced096de60d5435d

There is no /set/ in URL.

Sorry for my bad english.

Expected Behavior

Here is a clear and concise description of what was expected to happen:

Actual Behavior

Possible Fix

To Reproduce

Steps to reproduce the behavior:

Debuglog

The debuglog can be found here: Debug log

MPD/M3U8s/ISM

An example or copy of a manifest (or manifests for HLS - master and variants) can be found here: MPD

Screenshots

Here are some links or screenshots to help explain the problem:

Additional context or screenshots (if appropriate)

Here is some additional context or explanation that might help:

Your Environment

Used Operating system:

note: Once the issue is made we require you to update it with new information should that be required. Team Kodi will consider your problem report however, we will not make any promises the problem will be solved.

glennguy commented 2 years ago

Thanks for the report.

Haven't spent much time yet but the issue is here: https://github.com/xbmc/inputstream.adaptive/blob/3051f4727bfc2f311ede94ac6d4163ca6d140370/src/parser/DASHTree.cpp#L1116-L1118 and the use of the adaptationset base url size as an index. Because it's on a different domain (with different size in characters) a few characters of the parent folder are getting added as part of the path.

CastagnaIT commented 2 years ago

seem there are two bugs that mentioned that can be solved by using segtpl_.initialization in substr and another one so when there are more <BaseURL> we replace the original template "media" string in segtpl_.media and we use it as "final" url, where instead initialization template set the final url to repr->url_

i dont know why has been done in this way but appears to be wrong i can understand if we dont handle more <BaseURL> but imo better kept the original template strings without replace them i can try make the changes

CastagnaIT commented 2 years ago

@shaka3 can you test by install this addon test build? https://jenkins.kodi.tv/job/xbmc/job/inputstream.adaptive/job/PR-1045/1/artifact/cmake/addons/build/zips/inputstream.adaptive+windows-x86_64/inputstream.adaptive-20.3.0.zip

shaka3 commented 2 years ago

@shaka3 can you test by install this addon test build? https://jenkins.kodi.tv/job/xbmc/job/inputstream.adaptive/job/PR-1045/1/artifact/cmake/addons/build/zips/inputstream.adaptive+windows-x86_64/inputstream.adaptive-20.3.0.zip

Unfortunately, it's not working yet. AddOnLog: inputstream.adaptive: Download failed with error 400: https://fy.v.vrv.co/evs3/cee99ffca56d5411495912f159c265a8/assets/p/c079da2f0bff4b2dbf689df137225bcf_,3878528.mp4,3878529.mp4,3878527.mp4,3878525.mp4,3878526.mp4,.urlset/fragment-1-$RepresentationID$.m4s?t=exp=1664033691~acl=/evs3/cee99ffca56d5411495912f159c265a8/assets/p/c079da2f0bff4b2dbf689df137225bcf_,3878528.mp4,3878529.mp4,3878527.mp4,3878525.mp4,3878526.mp4,.urlset/*~hmac=b5903cffe325f90c14ac8fdbb66f33358ac6b7838350df3e3d91ae20b3f43d5f

debug log mpd

Thank you very much for your time.

CastagnaIT commented 2 years ago

ah my bad now should be ok new test build: https://jenkins.kodi.tv/job/xbmc/job/inputstream.adaptive/job/PR-1045/2/artifact/cmake/addons/build/zips/inputstream.adaptive+windows-x86_64/inputstream.adaptive-20.3.0.zip

shaka3 commented 2 years ago

ah my bad now should be ok new test build: https://jenkins.kodi.tv/job/xbmc/job/inputstream.adaptive/job/PR-1045/2/artifact/cmake/addons/build/zips/inputstream.adaptive+windows-x86_64/inputstream.adaptive-20.3.0.zip

It's OK now. Thanks. @CastagnaIT @glennguy