[Dev] Video processing

Streif, Rudolf rstreif at jaguarlandrover.com
Wed Sep 16 21:12:03 GMT 2015


Hi Art,

On Wed, Sep 16, 2015 at 9:25 AM, McGee, Art <amcgee7 at jaguarlandrover.com>
 wrote:

> I am currently using the Feb 2nd release of Tizen-ivi.  I'm working on a
> project for video processing.  It uses the Tizen Content api to retrieve
> video content from the system.  I've noticed that thumbnails are not
> include in the api even't though the property is there.  As a workaround
> I've use ffmpeg for both creating thumbnails and cutting video content.
> For the moment ffmpeg is only included by building on the box and
> installing manually.  I recently learned that Ubuntu uses a different
> package than ffmpeg.  This package is libav.  I've looked and noticed that
> Tizen has some packages like this as well.  I wanted to ask the question.
> Should I work with these packages instead?  Are they able to generate the
> thumbnails and crop video content as well?  I have found little
> documentation to support usage of libav in Tizen.
>
>
This may boil down to ffmpeg vs libav. The latter is technically a fork of
the former made for reasons that are all too common with open source:
disagreement between the maintainer and some contributors. Instead of
working together and resolving the differences some broke away and created
the libav fork.

Libav first set out to, what their developers said, "cleaning up the API."
Well, we know it from our own experience as software developers, as a
project evolves design decisions originally made for APIs etc. become
constraints. Changing the APIs almost every time involves breaking
backwards compatibility. The libav developers did not care and hence
clients that were not ported were broken. The ffmpeg develoeprs introduced
a new API too, but more softly be maintaining two branches that were mostly
feature-identical, one with the old API and one with the new. Of course,
over time you deprecate the old API and branch.

The ffmpeg developers also stayed on top of the changes and bug fixes that
the libav team did and ported them (I cannot tell what exactly and how many
without extensive research though) into ffmpeg. The libav team did not care
that much about what was going on in ffmpeg world. So for most part for
about 2 years since the split both libraries stayed pretty close together
in functionality.

Eventually, the libav team introduced libraries for audio resampling. That
functionality was already available in ffmpeg 0.9 but the libav team did
not want to adopt it. I don't know about the reasons. They actually did pay
a developer to write a new resample library. That is when the split became
more notable. Originally, libav also had a command-line tool called ffmpeg
like the original ffmpeg from the ffmpeg project. There were differences
but not much for the standard user who did not explore into the utter depth
of video and audio processing. Eventually, the libav project dropped
ffmpeg. The tool is now avconv.

The libav project is mostly backed by Debian and Ubuntu. My personal
preference is ffmpeg. Some of my reasons are not that much technical:

   - I do not care for projects and developers who knowingly and willingly
   break backwards compatibility.
   - I do not think that forking is a solution for solving differences in
   open-source projects.
   - ffmpeg since then has fixed many of the issues that lead to the fork:
   such as maintainer autocracy.
   - ffmpeg has been more agile fixing bugs and providing patches and new
   releases.
   - It worked well for me in the past.

Hence, my advise would be to use ffmpeg. Debian/Ubuntu users probably have
a different opinion.

Cheers,
Rudi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tizen.org/pipermail/dev/attachments/20150916/e61e4ad8/attachment.html>


More information about the Dev mailing list