Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Microsoft Smooth Streaming downloader #8118

Open
fstirlitz opened this issue Jan 2, 2016 · 3 comments
Open

Microsoft Smooth Streaming downloader #8118

fstirlitz opened this issue Jan 2, 2016 · 3 comments
Labels

Comments

@fstirlitz
Copy link
Contributor

@fstirlitz fstirlitz commented Jan 2, 2016

Smooth Streaming (SSTR) is a protocol for media streaming over HTTP, created by Microsoft. It isn't terribly popular, but sometimes it's the only option available (see #1753, #7096).

SSTR is superficially similar to other manifest-based media streaming formats: there's an XML file which describes what streams are available and a URL pattern of media fragments. A single manifest may directly describe multiple versions of multiple audio streams and multiple video streams; this may make it a bit harder to support, given that youtube-dl seems to assume each stream has its own URL. Stream fragments are in the series-of-boxes format known from MP4 files; however mere concatenation doesn't yield a playable file, because certain crucial boxes are missing (including those containing codec parameters, which are stored in the manifest).

Since FFmpeg doesn't contain a SSTR (pseudo-)demuxer, a custom downloader will have to be written. The downloader should probably synthesise a single-stream media file and leave multiplexing to FFmpeg (like it's done with YouTube DASH).

Some documentation:

Example video: http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/Manifest

@dstftw dstftw added the request label Jan 2, 2016
@voltagex
Copy link

@voltagex voltagex commented Jan 29, 2016

I suspect http://research.microsoft.com/apps/tools/tuva also uses this and would be a worthwhile target for youtube-dl.

@BarryMode
Copy link

@BarryMode BarryMode commented Mar 31, 2016

Here's smooth-dl written in Python. Maybe that could be used as a basis. Haven't checked to see if it's actually working though.
https://git.ao2.it/smooth-dl.git/

@dstftw
Copy link
Collaborator

@dstftw dstftw commented Mar 31, 2016

It can't until released under unlicense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
@voltagex @dstftw @fstirlitz @BarryMode and others
You can’t perform that action at this time.