[FFmpeg-devel] Resurrection of ffserver

Michael Fritscher michael.fritscher at telematik-zentrum.de
Sat Sep 17 22:58:19 EEST 2016

Good day,

I read the sad news about ffservers a few days ago and have already written some mails to ffmpeg-user.

I would like to step in to make ffserver maintainable and distributable again, especially because of the many users depending on ffserver - including myself. I'm capable of C and had made some tiny changes to ffmpeg already, but I'm a beginner regarding the architecture and "unwritten rules" of ffmpeg development. Additionally, I would like to discuss strategic decisions with the main developers to avoid useless work. 

Clement already gave my a list of todos:
  * FATE integration
  * Kill using of internal API / headers (the libavformat/*.h seem to be most urgent - leaving only avformat.h)
  * Kill using of deprecated API
  * Long time maintainment

I would be more then happy if there would be some commitment that ffserver could stay if these todos are fulfilled.
I'll try to be rather conservative, at least for the first time until I feel more comfortable with the code, the architecture and the workflows. Ideas for better configuration style (honestly, personally I like the current style) etc. can be done when the basic work is done ;-)

I already looked around a bit and have a few questions:

About using internal APIs:
One troublesome thing seems to be the rtsp server. ffserver seems to do much of the rtsp server himself, but uses e.g. RTSPMessageHeader from libavformat/rtsp.h. I see four possibilities:

1. Leave it as-is.
2. Copy the definitions to ffserver.
3. Use the official API. But if I read http://www.ffmpeg.org/ffmpeg-protocols.html#rtsp correctly, libavformat can only act as a RTSP-client (but both sending and receiving)?
4. If this is not possible, make an "official" RTSP server related API.

For possibilities 3 and 4 I would need some support:
For 3. some insight how to use the API (as I said, I found nothing about a RTSP server in the library).
For 4. I would need some advice where to put the API and how the API should look like. E.g. can I use the rtsp_* functions in ffserver.c as a base? Should it be completely different?

I can live with all of the 4 mentioned solutions - but I want to have an opinion of some main developers ;-)

Regarding deprecated API: Can I rely on the @deprecated flag or is there a list?

Best regards,
Michael Fritscher

ZfT - Zentrum für Telematik e.V.
Michael Fritscher
Magdalene-Schoch-Straße 5
97074 Würzburg
Tel: +49 (931) 615 633 - 57
Fax: +49 (931) 615 633 - 11
Email: michael.fritscher at telematik-zentrum.de
Web: http://www.telematik-zentrum.de

Prof. Dr. Klaus Schilling, Hans-Joachim Leistner
Sitz: Gerbrunn
USt.-ID Nr.: DE 257 244 580, Steuer-Nr.:  257/111/70203
Amtsgericht Würzburg, Vereinsregister-Nr.: VR 200 167

More information about the ffmpeg-devel mailing list