Difference between pages "FLOP:FFmpeg" and "Install/pt-br/Profiles"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
{{FLOP
=== Profiles ===
|Created on=2015/01/31
|Summary=Funtoo Linux prefers FFmpeg. Some enlightenment about our choice and why we prefer this  or could switch to alternative in future.
|Author=Oleg,
|Maintainer=Oleg
|Reference Bug=FL-844
}}
==Introduction ==
FFmpeg and Libav are libraries for multimedia decoding (and more). Both libraries expose almost the same API and features.


Note that both libraries actually come as a set of libraries, and both projects use the same library names. The libraries are named libavcodec, libavformat, libavutil, and more. There is a FFmpeg libavcodec and a Libav libavcodec.
Uma vez que você tenha reiniciado no Funtoo Linux, você pode mais tarde personalizar seu sistema para as suas necessidade ao usar o Funtoo Profiles.


Many packages for video decoding, are done via FFmpeg or Libav. Differences between FFmpeg and Libav can have a major impact on its behavior: the number of files it can decode, whether it decodes correctly, what video and audio filters are provided, network behavior, and more.
[[Funtoo 1.0 Profile|Funtoo profiles]] são utilizados para padões para específico Portage para suas necessidades. Há 4 típicos básicos de perfil (profile types): arch, build, [[Flavors and Mix-ins|flavor, and mix-ins]]:
== FFmpeg and Libav history ==
In 2011, parts of the FFmpeg developers were unhappy about the FFmpeg leadership, and decided to take over. This didn't quite work out. Apparently Fabrice Bellard, original FFmpeg developer and owner of the ffmpeg.org domain name, decided not to hand over the domain name to the new maintainers. So they followed Plan B, and forked FFmpeg, resulting in Libav. Since then, Libav did its own development, and completely ignored whatever FFmpeg did. FFmpeg, on the other hand, started to merge literally everything Libav did.


The reason for the fork is most likely that the developers hate each other. While this formulation seems somewhat sloppy, it is most likely the truth. To this date, the #libav-devel IRC channel still has Michael Niedermayer (the FFmpeg maintainer since 2004 according to Wikipedia) on their ban list (similar misbehavior is exhibited by some FFmpeg developers). There is little to no cooperation between the two projects.
;arch: tipicamente <code>x86-32bit</code> ou <code>x86-64bit</code>, isso define o tipo de processador e suporte do seu sistema. Isso é definido quando seu stage foi construído e não deve ser alterado.
;build: define se seu sistema é um build <code>current</code>, <code>stable</code> ou <code>experimental</code>. Sistemas <code>current</code> terão pacotes mais recentes do que os sistemas <code>stable</code>.
;flavor: define o tipo geral de sistema, tal como <code>server</code> ou <code>desktop</code>, e definirá flags padrões USE apropriadas para as suas necessidade.
;mix-ins: define várias configurações opcionais que você pode estar interessado em habilitar.


More about FFmpeg's history and the fork incident can be found on Wikipedia
Um arch, build e flavor deve ser definido para cada sistema Funtoo Linux, enquanto mix-ins são opcionais e você pode habilitar mais de um se desejado.
== Situation today ==
FFmpeg has more features and slightly more active development than Libav, going by mailing list and commit volume. In particular, FFmpeg's features are a superset of Libav's features. This is because FFmpeg merges Libav's git master on a daily basis. Libav on the other hand seems to prefer to ignore FFmpeg development (with occasional cherry-picking of bug fixes and features).


Some Linux distributions, especially those that had Libav developers as FFmpeg package maintainers, replaced FFmpeg with Libav, while other distributions stick with FFmpeg. Application developers typically have to make sure their code works with both libraries. This can be trivial to hard, depending on the details. One larger problem is that the difference between the libraries makes it hard to keep up a consistent level of the user experience, since either library might silently or blatantly be not up to the task. It also encourages library users to implement some features themselves, rather than dealing with the library differences, or the question to which project to contribute.
Lembre-se de que profiles pode com frequência serem herdados. Por exemplo, o flavor <code>desktop</code> herda as configurações do flavor <code>workstation</code>, que em retorno herda os mix-ins <code>X</code> e <code>audio</code>. Você pode visualizar isso ao utilizar eselect:


FFmpeg and Libav developers also seem to have the tendency to ignore the damage their rivalry is causing. Apparently fighting out these issues on the users' backs is better than reconciling. This means everyone using these libraries either has to suffer from the differences, or reimplement functionality that is not the same between FFmpeg and Libav.  
<console>
== Gentoo status==
(chroot) # ##i##eselect profile show
==Is FFmpeg or Libav preferred for use ?==
Currently set profiles:
Funtoo Linux default is FFmpeg. Decision made by Oleg, forced by #funtoo community and bugtracker reports.
    arch: gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
{{FLOPFooter}}
  build: gentoo:funtoo/1.0/linux-gnu/build/current
  flavor: gentoo:funtoo/1.0/linux-gnu/flavor/desktop
mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/kde
 
Automatically enabled profiles:
mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/print
mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras
</console>
 
To view installed profiles:
<console>
(chroot) # ##i##eselect profile list
</console>
 
To change the profile flavor:
<console>
(chroot) # ##i##eselect profile set-flavor 7
</console>
 
To add a mix-in:
 
<console>
(chroot) # ##i##eselect profile add 10
</console>

Revision as of 18:46, March 12, 2015

Profiles

Uma vez que você tenha reiniciado no Funtoo Linux, você pode mais tarde personalizar seu sistema para as suas necessidade ao usar o Funtoo Profiles.

Funtoo profiles são utilizados para padões para específico Portage para suas necessidades. Há 4 típicos básicos de perfil (profile types): arch, build, flavor, and mix-ins:

arch
tipicamente x86-32bit ou x86-64bit, isso define o tipo de processador e suporte do seu sistema. Isso é definido quando seu stage foi construído e não deve ser alterado.
build
define se seu sistema é um build current, stable ou experimental. Sistemas current terão pacotes mais recentes do que os sistemas stable.
flavor
define o tipo geral de sistema, tal como server ou desktop, e definirá flags padrões USE apropriadas para as suas necessidade.
mix-ins
define várias configurações opcionais que você pode estar interessado em habilitar.

Um arch, build e flavor deve ser definido para cada sistema Funtoo Linux, enquanto mix-ins são opcionais e você pode habilitar mais de um se desejado.

Lembre-se de que profiles pode com frequência serem herdados. Por exemplo, o flavor desktop herda as configurações do flavor workstation, que em retorno herda os mix-ins X e audio. Você pode visualizar isso ao utilizar eselect:

(chroot) # eselect profile show
Currently set profiles:
    arch: gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
   build: gentoo:funtoo/1.0/linux-gnu/build/current
  flavor: gentoo:funtoo/1.0/linux-gnu/flavor/desktop
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/kde

Automatically enabled profiles:
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/print
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras

To view installed profiles:

(chroot) # eselect profile list

To change the profile flavor:

(chroot) # eselect profile set-flavor 7

To add a mix-in:

(chroot) # eselect profile add 10