FUMR / FUMR/tidal-async

MPEG DASH support

Open
#53 11 comments 0 reactions 0 assignees Claimed by @JuniorJPDJ View on GitHub
Dominant language
Python
Stars
23
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Tidal seems to migrate to DASH for their music streaming.
Instead of JSON manifest file encoded into Base64 there's .mpd XML file which seems to play just fine using ffplay.
Copying this into container-less FLAC format will be neccessary.
ffmpeg is doing this just fine with this cmdline:
```
$ ffmpeg -i tidal.mpd -c:v copy -c:a copy output.flac
[..]
Input #0, dash, from 'flac.mpd':
Duration: 00:06:06.00, start: 0.000000, bitrate: 0 kb/s
Program 0
Stream #0:0: Audio: flac (fLaC / 0x43614C66), 44100 Hz, stereo, s16, 505 kb/s (default)
Metadata:
variant_bitrate : 918113
id : 0
Output #0, flac, to 'output.flac':
Metadata:
encoder : Lavf58.76.100
Stream #0:0: Audio: flac (fLaC / 0x43614C66), 44100 Hz, stereo, s16, 505 kb/s (default)
Metadata:
variant_bitrate : 918113
id : 0
Stream mapping:
Stream #0:0 -> #0:0 (copy)
[..]
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the open pull request #82 alongside the issue's MPEG-DASH and .mpd examples. Check how the existing Python streaming flow handles the Base64 JSON manifest, then verify that DASH audio can be converted to container-less FLAC as shown by the ffmpeg command; done means MPEG-DASH streams are supported without regressing existing playback.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
audio-video-rtc, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.