[FFmpeg-devel] GSoC again

Gerion Entrup gerion.entrup.ffdev at flump.de
Wed Mar 23 17:09:04 CET 2016


Good day,

my previous attempts for GSoC aren't very successful. I talked with Carl Eugen
about GSoC. He advise me to choose a project with clear aims that fits clearly
into the scope of the framework. Such a thing would be MPEG DASH demuxing [1]
, so I want to bring it up as suggestion.

DASH is a streaming format for adaptively choose various bitrates and formats.
The content is therefore splitted in segments, that could be switched. All relevant
data are found in a XML-based MPD file (sample [2]).

Currently FFmpeg supports DASH muxing and in the mov demuxer was some
work for fragments (correct me if I'm wrong). Beside that, FFmpeg could handle
HLS, which is a similar m3u based format.

My work in the GSoC could be:
1. Implement a robust (to errors) generic XML-Parser.
2. Implement a MPD demuxer, that could handle the parsing and the segments.
3. Implement adaptive switching.

A note to the 3rd point. I'm absolutely not sure, what amount of work this is
(maybe you could comment it) and what the best place would be to implement
this (including whether this whole feature is meaningful). I would say, this could
be either in the demuxer itself or in ffplay (can decide a muxer such a thing,
like bandwidth?).

Personal benefits:
I hope to learn something about (beside DASH as format):
- the protocol handling and the connection between demuxer and protocol
- ffplay
- obviously the demuxer functions

My qualification task could be:
1. Write a simple demuxer (as a draft!), that could handle the mpd file [2], so that
the first stream is recognized.

The orientation points I would work with are the already existing hls demuxer, the
specification [3] and maybe libdash [4] (C++ library).

The biggest problem with this task is a missing mentor :). Maybe someone is
excited about this feature and willing to support me.

kind regards,
Gerion

[1] https://trac.ffmpeg.org/ticket/5269
[2] http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd
[3] http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip
[4] https://github.com/bitmovin/libdash


More information about the ffmpeg-devel mailing list