xbmc / inputstream.adaptive

kodi inputstream addon for several manifest types
Other
452 stars 241 forks source link

Audio track missing on a certain manifest #1005

Open nullket opened 2 years ago

nullket commented 2 years ago

Bug report

Describe the bug

An online provided mpd manifest does not play with audio whereas webplayers play the stream just fine.

I extracted (one of multiple available) manifest files for this random vimeo video. The manifest plays fine with online players like the reference player on dashif, but the audio track is missing when playing in kodi.

To make testing easy I created this strm file:

#KODIPROP:inputstream=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
https://skyfire.vimeocdn.com/1654764301-0x3608f234e3f421a24252cc30bedc8ac3b44d3b27/2ba46ebf-7f05-4124-ae26-3ef25cf18689/video/e78d870c,694d063f,4cec9c37,554e45d3,832d9bb3/master.mpd

Expected Behavior

Play a regular found mpd file from the internet with audio

Actual Behavior

Audio is missing.

To Reproduce

Steps to reproduce the behavior:

  1. Try to play the attached mpd with the exemplary provided strm file
  2. Check for audio

Debuglog

The debuglog can be found here:

https://pastebin.com/2sDcPYMf

MPD/M3U8s/ISM

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

https://82vod-adaptive.akamaized.net/exp=1654764301~acl=%2F2ba46ebf-7f05-4124-ae26-3ef25cf18689%2F%2A~hmac=30c07eff4afc8879e4620542b88fb0608ce1584ec5d20176e9f56528ad9c756b/2ba46ebf-7f05-4124-ae26-3ef25cf18689/video/e78d870c,694d063f,4cec9c37,554e45d3,832d9bb3/master.mpd?base64_init=1

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.

CastagnaIT commented 2 years ago

please attach the mpd file as text file, not as weblink because is expired

nullket commented 2 years ago

Sure, here is the file as a txt and the content

master.mpd ```xml ../ ```

and in case somebody is willing to install yt_dlp here is a minimal python3 example on how to get that mpds URL

minimal_vimeo_example.py ```python from yt_dlp import YoutubeDL url = "https://vimeo.com/272629446" with YoutubeDL() as ydl: ydl.add_default_info_extractors() result = ydl.extract_info(url, download=False) manifest_urls = [] # several manifests might be availbale as dash/hls/different hoster for f in result["formats"]: # search for a format having both video and audio as well as a manifest if "manifest_url" in f.keys() and f['vcodec'] != 'none' and f['acodec'] != 'none': if f['manifest_url'] not in manifest_urls: manifest_urls.append(f['manifest_url']) print(f"Your URLs\n{manifest_urls}") ```
CastagnaIT commented 2 years ago

thanks for the snippet has worked and i have saved a lot of time from a first look seem that this type of manifest is not full supported from our DASH parser because the video stream include also the audio one, also looking at the log only the video stream is sent to kodi i think we will need to implement this support

meantime when are available you can play m3u8 so HSL manifest that already have this implementation

CastagnaIT commented 2 years ago

this is a duplicate of #343