xbmc / inputstream.adaptive

kodi inputstream addon for several manifest types
Other
444 stars 239 forks source link

mpd playing without audio #503

Closed Vikassm73 closed 3 years ago

Vikassm73 commented 3 years ago

Please find following stream url which works perfectly in VLC player.

https://streaming.sonyliv.com/movie_kanchana_3_10072020.mpd

This url plays perfectly in Kodi 18.8 Leia using Inputstream but without any audio.

What may be an issue?

dagwieers commented 3 years ago

I tried it, but got a HTTP 403 Forbidden

$ curl -X GET -I https://streaming.sonyliv.com/movie_kanchana_3_10072020.mpd
HTTP/1.1 403 Forbidden

If you have access to the manifest, please try it with the manifest validators and web players from https://github.com/add-ons/best-practices/wiki/Streaming-issues

And report back if there are any stream issues, and how other web players deal with the stream.

Vikassm73 commented 3 years ago

Content inside the MPD

https://paste.kodi.tv/sofuduqimo

glennguy commented 3 years ago

@Vikassm73 would be great to see a debug log. Also please check in inputstream.adaptive settings that media type is set to all, and not to video

Vikassm73 commented 3 years ago

Inputstream.adaptive settings is already set to All

Debug Log

https://paste.kodi.tv/dujegujino.kodi

glennguy commented 3 years ago

@Vikassm73 thanks for the log When trying to download the audio init segment the url looks malformed (url path and params are repeated):

ERROR: AddOnLog: InputStream Adaptive: Download https://securetoken.sonyliv.com/movie_kanchana_3_10072020_64kinit.mp4?hdntl=exp=1598547287~acl=/*~hmac=ed5b159b8a7951da012ce874baebb7877880e27cbc56a7b44dadd9e05986d96emovie_kanchana_3_10072020_64kinit.mp4?hdntl=exp=1598547287~acl=/*~hmac=ed5b159b8a7951da012ce874baebb7877880e27cbc56a7b44dadd9e05986d96e failed with error: 403

I believe this is being caused by the url that the addon is giving kodi - https://securetoken.sonyliv.com/movie_kanchana_3_10072020.mpd?hdnea=exp=1598590486~acl=/*~hmac=0100f4c763e57d6f91c6ad719c76720b1242d114800d53529de6f31ed0b80970 The hdnea value hasn't been escaped/quoted and so the forward slash is messing with the logic in inputstream.adaptive that determines what is the base domain/path/params.

So the solution is simply try quoting the exp=1598590486~acl=/*~hmac=0100f4c763e57d6f91c6ad719c76720b1242d114800d53529de6f31ed0b80970 part of the url passed to setResolvedUrl

Vikassm73 commented 3 years ago

Done below changes but in this case video is not working (Previously, Video was working but without audio)

stream_url='https://securetoken.sonyliv.com/movie_kanchana_3_10072020.mpd?hdnea=\'exp=1598590486~acl=/*~hmac=0100f4c763e57d6f91c6ad719c76720b1242d114800d53529de6f31ed0b80970\'' play_item = xbmcgui.ListItem(path=stream_url)

Also there is another url which does not contain hdnea https://streaming.sonyliv.com/movie_kanchana_3_10072020.mpd

In both, video is playing without audio

glennguy commented 3 years ago

What I meant was to use python's urllib.quote to encode this part of the string, giving a result like:

https://securetoken.sonyliv.com/movie_kanchana_3_10072020.mpd?hdnea=exp%3D1598590486~acl%3D%2F%2A~hmac%3D0100f4c763e57d6f91c6ad719c76720b1242d114800d53529de6f31ed0b80970

Vikassm73 commented 3 years ago

@glennguy , Result is same whether I encode this part or not. Its working but without any audio

glennguy commented 3 years ago

Would we be able to see another debug log with the updated url?

Vikassm73 commented 3 years ago

Here is debug log again https://paste.kodi.tv/opujujesic.kodi

Vikassm73 commented 3 years ago

Working url from same portal

https://streaming.sonyliv.com/show_sab_taarakmehtakaooltahchashmah_ep2897.mpd

Content inside a working mpd file

https://paste.kodi.tv/bidafonuge

Difference is mpd file which contain "SegmentTimeline" tag is not working

"SegmentTemplate" tag is twice in the audio stream. Inputstream might be clubbing the both. that's why there is duplicate name in the parse stream.

Vikassm73 commented 3 years ago

@peak3d In the audio stream, there are 2 "SegmentTemplate" tags with the same media name. Inputstream clubbing both the media name that's why audio is not playing.

Uploaded mpd file by deleting the media name and initialization from one SegmentTemplate tag and try to play. The link played successfully with audio

Here is the link

https://raw.githubusercontent.com/Vikassm73/Voot/master/show_sab_taarakmehtakaooltahchashmah_ep2897.mpd

glennguy commented 3 years ago

@Vikassm73 Is this issue still here in the current Matrix version (2.6.16)?

Vikassm73 commented 3 years ago

Yes, this problem gets solved in Matrix Version.

glennguy commented 3 years ago

Awesome, thanks!