Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Convertir une vidéo ogv en flv : est-ce correct de faire ainsi ?

23 réponses
Avatar
Francois
Bonjour à tous,

J'ai une vidéo au format ogv qui dure 5mn30 et qui fait 5,7 Mo. Je
souhaite la convertir au format flv pour la mettre sur un site web.
Voici la commande que je tape :

ffmpeg -i MaVideo.ogv -ar 22050 -ab 32 -f flv -s 320x240 MaVideo.flv

En fait, même avec les pages man, les options sont un peu floues pour
moi et je dois reconnaître que j'ai honteusement copié cette commande
quelque part sur le net.

Est-ce correct de s'y prendre ainsi ? Je pose la question car je suis
étonné du changement de taille en octet entre MaVideo.ogv et
MaVideo.flv. Jugez plutôt :

MaVideo.ogv = 5.7 Mo
MaVideo.flv = 15.4 Mo

Donc la vidéo flv 3 fois plus grosse que celle en ogv. Je m'y prends mal
dans ma conversion ? C'est normal ? Je croyais que les vidéos au format
flv étaient censées être assez légères, non ? Pouvez vous éclairer ma
lanterne ?

Merci d'avance.


--
François

10 réponses

1 2 3
Avatar
Luc.Habert.00__arjf
Francois :

Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même
un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y
arriver (ça a l'air compliqué).



Bah non, c'est pas vraiment compliqué. Pour chacun, tu télécharges la
source, ça te donne un ploum.tar.gz ou ploum.tar.bz2, tu l'extraies (tar xzf
ploum.tar.gz ou tar xjf ploum.tar.bz2). Tu vas dedans, tu tapes

./configure --prefix=/usr/local

(ou les autres options si j'en ai spécifiées), puis

make&&make install

Bon, il y a le problème que tu n'as pas les droits d'écriture dans
/usr/local. Pour s'en sortir, je dirais de faire un :

sudo chown -R $USER /usr/local

avant, puis un

sudo chown -R root.root /usr/local

après. Il y a des méthodes plus propres, mais ça devient prise de tête, je
ne voudrais pas que ça te décourage. En tout cas, il vaut mieux éviter les
make en tant que root.

Par exemple avec ce fichier http://maths.attack.free.fr/toto.ogv qui
fait 3.3 Mio, lorsque que j'utilise la conversion via le procédé que
j'ai indiqué dans un message précédent (celui qui utilise un script qui
s'appelle "Ogv to Flv Converter v1.1", pas celui de mon tout premier
message), j'obtiens le fichier http://maths.attack.free.fr/toto.flv qui
fait 1.1 Mio.



Je peux descendre à 500ko, avec la ligne de commande suivante :

ffmpeg -i toto.ogv -ac 2 -acodec libfaac -aq 50 -ar 22050 -vcodec libx264 -refs 8 -bf 2 -flags2 dct8x8+wpred -me_method umh -subq 7 -trellis 2 -directpred 3 -crf 51 -f flv -s 320x240 ploum.flv

. Là, j'ai baissé la qualité audio par rapport à la commande que je t'avais
donnée, sinon, ça monte à quasiment 1Mo. J'avais aussi oublié le paramètre
-crf qui règle la qualité. Pour une vraie vidéo, 20 est une valeur
raisonnable, mais là je l'ai monté au maximum ce qui ne fait pas perdre de
qualité sur cette vidéo.
Avatar
Fabien LE LEZ
On Wed, 14 Jan 2009 11:25:06 +0000 (UTC), Luc Habert :

Installer le tout dans /usr/local



Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre
dans un répertoire global du système, des fichiers plus ou moins
temporaires servant uniquement à la compilation d'un logiciel ?
Avatar
Luc.Habert.00__arjf
Fabien LE LEZ :

Y'a un truc qui me fait toujours grincer des dents : pourquoi mettre
dans un répertoire global du système, des fichiers plus ou moins
temporaires servant uniquement à la compilation d'un logiciel ?



À moins de compiler en statique, ça ne sert pas seulement à la compilation.
Et parmi ces libs, il y en a qui n'évoluent pas très vite (genre lame,
xvidcore), qu'on n'a pas besoin de mettre à jour très souvent.
Avatar
Nicolas George
Luc Habert wrote in message <gkljtt$1l1g$:
ffmpeg -i toto.ogv -ac 2 -acodec libfaac -aq 50 -ar 22050 -vcodec libx264 -refs 8 -bf 2 -flags2 dct8x8+wpred -me_method umh -subq 7 -trellis 2 -directpred 3 -crf 51 -f flv -s 320x240 ploum.flv



Pour une vidéo comme celle-ci, il faudrait voir ce que donne le codec
flashsv (Flash Screen Video), il est peut-être plus efficace.
Avatar
Francois
Luc Habert a écrit :
Merci beaucoup ! c'est très sympa, mais je n'ai jamais compilé moi-même
un package et pour celui-là, même avec ton aide, j'ai peur de ne pas y
arriver (ça a l'air compliqué).



Bah non, c'est pas vraiment compliqué. [couic]



Merci de m'aider à démystifier la bête. Mais j'ai plein de questions du
coup.

A)
En gros, si j'ai bien compris, pour un package donné, appelons le "pkg",
si on veut l'installer dans /usr/local/, il faut (en gros) :

1) télécharger les sources pkg.tar.gz sur son bureau
2) taper : tar xvzf pkg.tar.gz
3) taper : cd ~/Bureau/pkg
4) taper : ./configure --prefix=/usr/local
5) taper : make
6) taper : make install

Est-ce juste ?


B)
Quand on procède comme dans A, linux met-il des fichiers uniquement dans
/usr/local/pkg ou il met d'autres fichier un peu ailleurs dans
l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).

Comme on est pas passé par apt-get, est-ce que l'OS sait quand même
qu'on a installé le package avec telle version ? Par exemple si je n'ai
jamais installé ffmpeg avant (via apt-get) et que je fais la
compilation/installation de ffmpeg que tu m'as expliquées, est-ce que
apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que
le ffmpeg ne sera pris en compte pour les mises à jour ?

En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais
deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans
/usr/local. Et pour les mises à jour ? Qui sera mis à jour ? D'ailleurs
quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?


C)
Il y a un truc que je n'ai pas compris dans ce que tu as dis. Je te cites :

« Il faut télécharger les sources [...]

- libamrnb et libamrwb (http://www.penguin.cz/~utx/amr)
- libxvidcore
- libx264
- libfaac
- libdvdcss
- lame

Installer le tout dans /usr/local (passer --prefix=/usr/local en
argument aux configures si besoin). Ajouter /usr/local/lib dans
/etc/ld.so.conf si il n'y est pas déjà. »

Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt
--prefix=/usr/local/lib qu'il faut passer en argument ? Si on met
--prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?

Et à quoi correspond ce fichier /etc/ld.so.conf ?


D)
Pourquoi est-ce que les packages qu'on installe "à la main" (par
compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un
répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement. Il
contient des pauvres petits scripts bash qui me servent quand je fais du
LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par
exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je
préfère que ce soit dans mon HOME, non ?




--
François
Avatar
Fabien LE LEZ
On Sat, 17 Jan 2009 01:30:25 +0100, Francois :

1) télécharger les sources pkg.tar.gz sur son bureau



Pourquoi sur le bureau ? Drôle d'idée...

4) taper : ./configure --prefix=/usr/local
5) taper : make



Je conseille plutôt
./configure --prefix=/usr/local && make && echo OK

Sinon c'est pas toujours facile de savoir si ça a fonctionné.
Avatar
YBM
Francois a écrit :
A)
En gros, si j'ai bien compris, pour un package donné, appelons le "pkg",
si on veut l'installer dans /usr/local/, il faut (en gros) :

1) télécharger les sources pkg.tar.gz sur son bureau
2) taper : tar xvzf pkg.tar.gz
3) taper : cd ~/Bureau/pkg
4) taper : ./configure --prefix=/usr/local
5) taper : make
6) taper : make install

Est-ce juste ?



oui.

B)
Quand on procède comme dans A, linux met-il des fichiers uniquement dans
/usr/local/pkg ou il met d'autres fichier un peu ailleurs dans
l'arborescence ? (genre windows qui fait des trucs ici ou là en douce).



dans /usr/local uniquement (/usr/local/bin, /usr/local/lib, etc.)

Comme on est pas passé par apt-get, est-ce que l'OS sait quand même
qu'on a installé le package avec telle version ?



L'OS n'est pas la question, mais effectivement le système de gestion
de paquets n'est en rien au courant de l'installation qui vient d'être
faite.

Par exemple si je n'ai
jamais installé ffmpeg avant (via apt-get) et que je fais la
compilation/installation de ffmpeg que tu m'as expliquées, est-ce que
apt-get saura que ffmpeg est installé ou il n'en saura rien si bien que
le ffmpeg ne sera pris en compte pour les mises à jour ?

En fait, bien sûr ffmpeg est déjà installé sur mon PC, donc j'aurais
deux ffmpeg finalement, l'ancien et le nouveau fraîchement compilé dans
/usr/local. Et pour les mises à jour ? Qui sera mis à jour ?



Celui qui est dans /usr/{bin,lib,share,etc.}

D'ailleurs
quand je taperai ffmpeg, c'est l'ancien qui va être lancé, non ?



Ça dépend de la valeur de PATH, à vérifier en faisant type ffmpeg

...
Installer le tout dans /usr/local (passer --prefix=/usr/local en
argument aux configures si besoin). Ajouter /usr/local/lib dans
/etc/ld.so.conf si il n'y est pas déjà. »

Là vu que tu me parles de bibliothèque (lib*), ce n'est pas plutôt
--prefix=/usr/local/lib qu'il faut passer en argument ? Si on met
--prefix=/usr/local pourquoi aurait-on besoin de /usr/local/lib ?



Non, --prefix=/usr/local, en tout cas pour un configure habituel
issu de GNU autoconf, ça fait installer les bibliothèques dans
/usr/local/lib, les exécutables dans /usr/local/bin, etc. C'est
bien pour ça que l'option est "prefix" et non un truc comme
"install_dir".

Et à quoi correspond ce fichier /etc/ld.so.conf ?



La liste des endroits ou le chargeur de binaires dynamique
(ld.so) va chercher les bibliothèques dynamiques. Modifier
ce fichier va marcher à court terme, à long terme si tu
installes beaucoup de bibliothèques dans /usr/local sans
trop contrôler ce que tu faits est une source d'ennuis
sans fin : tôt ou tard un binaire de /usr/bin (donc issu
d'un paquet de ta distribution) va se mettre à utiliser
une dll de /usr/local/lib au lieu de celle que le système
de paquet a mis dans /usr/bin.

D)
Pourquoi est-ce que les packages qu'on installe "à la main" (par
compilation), on les met dans /usr/local. Par exemple, chez moi, j'ai un
répertoire ~/bin que j'ai mis dans le PATH pour mon compte seulement.



Tu pourrais parfaitement installer des logiciels dans ton répertoire
personnels (--prefix=/home/local par exemple), quite à modifier ton
PATH perso ainsi que ton LD_LIBRARY_PATH. Tout compte fait ce serait
moins casse gueule que de jouer avec ld.so.conf.

Il
contient des pauvres petits scripts bash qui me servent quand je fais du
LaTeX. Serait-ce envisageable d'y installer un package (comme ffmpeg par
exemple) plutôt que dans /usr/local ? Quitte à mettre de la pagaille, je
préfère que ce soit dans mon HOME, non ?



Plutôt d'accord.
Avatar
GuiGui
YBM a écrit :

Comme on est pas passé par apt-get, est-ce que l'OS sait quand même
qu'on a installé le package avec telle version ?



L'OS n'est pas la question, mais effectivement le système de gestion
de paquets n'est en rien au courant de l'installation qui vient d'être
faite.




En fait, il suffit d'installer checkinstall et de l'utiliser à la place
de "make install". L'utilitaire checkinstall va créer un .deb à la
volée, et si le nom que tu choisis pour le paquet correspond au paquet
officiel le conflit sera signalé et géré par le gestionnaire de paquets
lorsque tu voudra installer le même soft via le gestionnaire.
Il faut évidemment utiliser en premier lieu le gestionnaire de paquets
pour retirer du système la version officielle du logiciel que tu va
recompiler.
Avatar
yamo'
Salut,

Francois a tapoté, le 18.01.2009 10:59:
Pourquoi ? Une fois le package compilé et installé, on ne se débarrasse
pas des sources après ? Il y a un emplacement ad hoc pour les sources ?



Quand je ne veux pas garder quelque chose je le met dans /tmp*, sinon je
le met dans ~/bin.

* au taf centos 4.7 ne vide jamais /tmp mais je garde quand même cette
logique quand je manque de place je m'attaque à temp en premier.

Stéphane
--
<http://pasdenom.info/fortune>
--
Le vote de l'AAV, c'est la signature en bas d'un contrat de mariage.
On ne vote pas Oui pour se marier avec un boudin que d'autres vous ont
poussé dans les bras sous prétexte que c'est ca ou rien.
-+- FS in: Guide du Cabaliste Usenet - Les AAV -+-
Avatar
Francois
Fabien LE LEZ a écrit :
On Sat, 17 Jan 2009 01:30:25 +0100, Francois :

1) télécharger les sources pkg.tar.gz sur son bureau



Pourquoi sur le bureau ? Drôle d'idée...



Pourquoi ? Une fois le package compilé et installé, on ne se débarrasse
pas des sources après ? Il y a un emplacement ad hoc pour les sources ?



--
François
1 2 3