xbmc / xbmc/inputstream.adaptive

Audio track missing on a certain manifest

Open
#1,005 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: MPEG-DASH Duplicate Issue Type: Improvement
Dominant language
C++
Stars
531
Forks
270
Avg merge
2d 23h
Merged PRs (30d)
3

Description

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:

  • I try to implement support for input stream adaptive for the addon plugin.video.sendtokodi. We use youtube_dl and yt_dlp to extract playable formats from URLs provided by users. When available I do not want to create a custom manifest file and use the downloadable .mpd/.m3u8 files instead.
  • In the case above yt_dlp provides the manifest URL with an additional ?base64_init=1 parameter like ../master.mpd?base64_init=1 I have tested playback with this original URL and the parameter stripped. Same result.
Your Environment

Used Operating system:

  • Android

  • iOS

  • tvOS

  • Linux

  • OSX

  • Windows

  • Windows UWP

  • Operating system version/name: Ubuntu 20.04. Server

  • Kodi version: 19.4.0

  • inputstream.adaptive version: 19.0.5

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue on Ubuntu 20.04 with Kodi 19.4.0 and inputstream.adaptive 19.0.5 using the provided STRM file and MPD manifest. Start by reviewing the linked debug log and how inputstream.adaptive handles the manifest's audio representations. Done means the supplied MPD plays with audio in Kodi, with regression coverage or a documented reproduction result.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.