• [^] # Re: Troll

    Posté par . En réponse à la dépêche FFmpeg 2.1. Évalué à 10.

    Je sais pas vraiment ce que signifie "l'inverse n'est pas vrai" (j'entends par là: "ça veut rien dire" car si A fait différent de B, alors B est différent de A)

    Je ne parlais pas de différence, mais de compatibilité au niveau des arguments en ligne de commande, voire de l'API (pouvoir remplacer ffmpeg par libav et inversement sans que ton script/programme se retrouve cassé. Ce qui compte quand on remplace ffmpeg par libav dans une distrib')

    Morceaux choisis :

    ffprobe outputs: last year, Stefano and I worked on a way of improving ffprobe by making it output something else than the weird INI/XML by default. So we developed a simple writer system and provided a JSON output. At the same time, the feature was proposed as a hack on libav (they just hardcoded crappy printf calls all over the code). Of course, I suggested to just pick the commits in FFmpeg, but I was likely ignored (the hack patch as well). We then worked on adding XML, CSV, flat and various other outputs, most of them customizable through options. People started to use them, and obviously requested to the Libav folks the feature. The sane choice would have been to just pick what was already done. Instead, they decided to rewrite this from scratch, with the argument: "I don't like it". And by the way, they broke the default output "because it's evil and it sucks", and so breaking users scripts (without any version bump or anything).** They also didn't even care to keep the same option names with FFmpeg so users could switch between tools easily (FFmpeg added the -of alias for compatibility).**
    [...]
    Note: FFmpeg is providing ff* tools, fully compatible with the av* tools from Libav (avconv, avplay, ...), with additional features, bug fixes, but also backward compatibility for some options Libav decided to remove.
    [...]
    libswresample and libavresample: end of 2011, Michael wrote an audio library to do any sample rate, formats, layout, packing conversions he dubbed libswresample. Later on a few people contributed to it, for example to document or expose the API properly to the user. It was then integrated to the whole project (tools, filters), and greatly improved the audio support in FFmpeg. As usual, Libav completely ignored this for one year, and then decided to pay a developer (with the money of the FFmtech foundation) to rewrite completely a library for the exact same purpose. They tried to justify this. This obviously pissed off the users. Since FFmpeg has a much better policy toward satisfying the users, we also provide the libavresample API.

    Bref, ffmpeg s'occupe d'être rétro-compatible (garde les anciens codecs, par exemple), et d'être compatible avec libav.
    Du côté de libav, on a le syndrome du NIH et pas grand chose d'autre.

    Et lorsque j'essaie de compiler certains software qui utilisent libav, j'ai régulièrement des problèmes, selon que les dévs utilisent plutôt une version, et moi une autre.

    Eh oui:

    The main problem is that external projects who want to support both FFmpeg and Libav are just fucked, and this only because Libav doesn't care a second about their users.

    "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)