[FFmpeg-devel] [SURVEY] Summary of first 2015 survey
u at pkh.me
Sun Nov 15 15:19:05 CET 2015
So the October/November 2015 FFmpeg survey ended, so as promised here is a
summary. It was planed for yesterday but due to some unfortunate national
issues it was kind of postponed to today...
We got 123 answers. I was expecting more but that's a start.
35,54% (43) A developer using the FFmpeg API
78,51% (95) An FFmpeg command line user
19,83% (24) An FFmpeg developer (core developer or occasional contributor)
5,79% (7) A packager/distributor of FFmpeg
23,97% (29) A user of applications using FFmpeg libraries (video players,
Note: the last entry was unfortunately added after we received about 50
answers, so it's inaccurate. Sorry about that.
I will give my personal analysis of the results, which may be incorrect. If
other developers want the full data, please ask me in the next days.
You can find the graph of the results of the second question here:
... from which we can basically say that users are mostly looking for more
optimizations, bug fixes and documentation. Then comes stuff on which most
people seem to agree, such as testing, cleanups, and misc simple features.
People starts to slightly disagree on the higher level API.
It seems a majority of people are satisfied with API redesign & cleanups
(68.60%) with a tendency to request more of it (19%).
Concerning backports, users are also mostly satisfied with its level, and
surprisingly do not seem to agree that much regarding LTS. Maybe that
reveals an issue with the number of releases we do?
In the same spirit, the support for old API for longer is divided as well, but
this time the tendency goes in the direction of "please stop".
The textual information was giving a lot of insight, thanks to everyone who
took the time to fill them up. Again, if a developer wants a real dump of
the exact user answers, please ask (I'm uncomfortable about publishing
"anonymous" personal answers publicly).
Here is a bulk dump summary of what I noted (look for "(xN)" entries):
API redesign cleanup
- old cruft
- mpegvideo dissection
- don't unless absolutely necessary
- remove dups
- simplify process for transcode
- better error info/doc
- libavfilter redesign/extension
- lavfi bpm analyzer
- chromaprint muxer as a filter
- crf mode compatible accross codecs (just like bitrate)
- hwaccel and its interop with filters
- continue codec context cleanup, refcount, and overall simplification of
- more error feedback at cli level
- high level api (event based?), i/o outside of ffmpeg
- simpler api to user, more orthogonal, less error prone
- improve avfilter and swscale
- code "looks" bad
- simplification, replace swscale, ffmpeg.c needs to do less things
- more explanations in the examples (x2)
- pts/dts/timestamp calculation consistency accross examples (x4)
- video only, audio only, audio+video in examples
- examples with current api (x2)
- "everything" (x3)
- how it all fits together (x2)
- more implications / assumptions of single functions (x2)
- avcodec and swscale
- indexing, seeking, parser api
- better api documentation, aka not Doxygen but "where do i start",
tutorial, ... (x2)
- filter api, memory management
- better examples
- missing documentation in structures members & flags
- internal documentation
- more real world examples (x9): crop image, cut a fragment of a movie,
convert video frames to images, ...
- filter examples with the cli (x2)
- which [f]flags affect which codecs/formats
- clear confusions between similar options such as -r vs -framerate
- confusing complex filter doc
- clarify overlap between ff and x264 options
- codec specific options
- sparse man page
- many options explained without context/scenario (x2)
- input device examples
- codec usage examples
- hwaccel options
- navigation, doc hard to find (wiki vs official doc)
- importance of location of arguments
- using on handling multiple streams
- tutorial/guide style doc (x2)
- better faq
- ts segmenting optim for hls
- more upstreaming
- 2 phase dev cycle
- more code examples (x2) with explanations
- jack outdev, unified cd+dvd+bluray input
- vc1 encoder
- python binding
- "Stop puking on the feet of your colleagues, guys!"
- better ivtc and other fps handling features
- better mannered development process
- more developed ffplay (hwaccel, doc), mpts (?) options
- friendlier user support
- one official lts (in order to solve most of the api related changes)
- answer more questions on "libav-devel"
- stop dropping thing just because of "nobody is using it"
- android support, hwaccel and relationship with filters/bufferpool/etc,
high level support for adaptive bitrate streaming (bandwidth stream
- libav & ffmpeg merge (x2)
- vd/bluray support, .IFO, accurate fast seek
- ffplay hwaccel
- more cohesion in main help page + more link to outside sources (wiki &
- don't break existing app for no real reasons
- more relevant optim (hevc decoder)
- merge ffmbc work (pro/broadcast formats) (x2)
- transparent Y'CoCg, better XYZ
TL;DR: most requests seems to be around hwaccel, pts/dts/timing
documentation, as well as more real world examples. It's very hard to
figure out the big picture.
There are many interesting point raised above, so I'd suggest developers
to have a look to all of this.
Anyway, that's all for now. The FFmpeg project is going to use the results
of this survey in their next decisions.
This "analysis" is very light and sparse (sorry), maybe someone else will
take over this, but the data is not lost and will be used and reused.
Note for the next survey: let's not use survey monkey, unless you want to pay.
It's not free.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 473 bytes
Desc: not available
More information about the ffmpeg-devel