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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Luc.Habert.00__arjf
Le #18381451
Francois :

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



En fait, le format flv n'est qu'un conteneur, dans lequel on peut mettre
différents format de son et vidéo (originellement, ça contenait un vieux
truc en video et du mp3 en audio, mais maintenant, on peut y mettre du
h264+aac). Ici, tu n'as pas spécifié les codecs vidéo et audio à employer,
donc ffmpeg a choisi je ne sais quoi. Essaye quelque chose comme :

ffmpeg -i MaVideo.ogv -ac 2 -acodec libfaac -aq 100 -vcodec libx264 -refs 8 -bf 2 -flags2 dct8x8+wpred -me_method umh -subq 7 -trellis 2 -directpred 3 -s 320x240 -f flv MaVideo.flv

. Il te faut pour ça un ffmpeg compilé avec la libx264, ce qui n'est pas le
cas par défaut sur les distribs usuelles. Donc soit tu fais confiance à un
dépot alternatif, soit tu te compiles ça à la main.
Francois
Le #18381491
Luc Habert a écrit :

Essaye quelque chose comme :

ffmpeg -i MaVideo.ogv -ac 2 -acodec libfaac -aq 100 -vcodec libx264 -refs 8 -bf 2 -flags2 dct8x8+wpred -me_method umh -subq 7 -trellis 2 -directpred 3 -s 320x240 -f flv MaVideo.flv



Hélas ça ne fonctionne pas :

-----------------
[libx264 @ 0xb7ead2f0]using SAR=9/8
[libx264 @ 0xb7ead2f0]using cpu capabilities: MMX MMXEXT SSE SSE2 SSE3
3DNow!
[theora @ 0xb7ead2f0]Theora bitstream version 30201
[theora @ 0xb7ead2f0]560 bits left in packet 81
[theora @ 0xb7ead2f0]7 bits left in packet 82
[libx264 @ 0xb7ead2f0]video codec not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?)
-----------------

Il te faut pour ça un ffmpeg compilé avec la libx264, ce qui n'est pas le
cas par défaut sur les distribs usuelles.



Ça doit être mon cas alors. Je suis sur Ubuntu 8.10.

Donc soit tu fais confiance à un
dépot alternatif, soit tu te compiles ça à la main.



Ouh la la. N'y a-t-il pas moyen de faire quelque chose d'honnête pas
avec les moyens du bord ?

Merci pour la réponse. :-)



--
François
Francois
Le #18381541
En cherchant sur le net, je suis tombé sur "Ogv to Flv Converter 1.1" ici :

http://linux.softpedia.com/get/Multimedia/Audio/Ogv-to-Flv-Converter-41863.shtml
(cliquer sur "Download" et les sources sont sur la droite)

Je l'ai testé, j'obtiens ceci :

MaVideo.ogv = 5.7 Mo
MaVideo.flv = 8.6 Mo

avec une animation qui semble bien marcher. C'est déjà mieux ! Mais je
ne sais pas si on peut considérer ce rapport "Taille ogv/Taille flv"
comme satisfaisant.

J'ai l'impression que ce "Ogv to Flv Converter 1.1" crée d'abord un
fichier .avi qui lui est converti en flv. Par contre, je perds la
possibilité avec mon lecteur de vidéo flash (mediaplayer) de sauter des
passages avec la barre de progression et je n'ai plus le décompte du
temps qui s'affiche (ni la durée globale de la vidéo qui reste à 0),
c'est dommage ça :-(

Si vous avez des idées...

--
François
Luc.Habert.00__arjf
Le #18383391
Francois :

Hélas ça ne fonctionne pas :
[libx264 @ 0xb7ead2f0]video codec not compatible with flv



Avec un ffmpeg flambant neuf, ça marche. Je copie-colle un howto sommaire de
compilation que j'avais posté ailleurs :

Packages à installer :
libfaad-dev libschoedinger-dev libspeex-dev libvorbis-dev libdvdread-dev
libdvdnav-dev libogg-dev liboil0.3-dev libtheora-dev libmad0-dev
libaudiofile-dev
(noms de packages debian, ça doit être pareil sous ubuntu)

Le reste est à compiler. Il faut télécharger les sources, qui se googlisent
facilement pour la plupart, je précise, sinon. Dans tous les cas, prendre un
snapshot du jour plutôt qu'une vieille release.

- 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à.

Maintenant, le gros morceau, ffmpeg. Le configure a besoin de beaucoup
d'options :

--prefix=/usr/local --enable-shared extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-gpl --enable-nonfree --disable-vhook --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-libxvid --enable-libx264 --enable-libvorbis --enable-libtheora --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libschroedinger --enable-libspeex --enable-x11grab --enable-libamr-nb --enable-libamr-wb

. Installer. Il reste une merdouille : les libs du ffmpeg installé par ta
distrib vont prendre précédence sur celles de /usr/local/lib si elles sont
dans un sous répertoire spécialisé de /usr/lib (chez moi,
/usr/lib/i686/cmov, mais ça peut différer ailleurs, surtout en 64 bits).
Vérifie avec ldd /usr/local/bin/ffmpeg qu'il charge bien libavcodec et
compagnie dans /usr/local/lib, sinon, crées y un sous-répertoire ad-hoc et
symlinkes-y ses libs.

Pendant que tu y es, tu peux en plus installer un mplayer à jour, cette
fois-ci le configure est simple :
--prefix=/usr/local --with-extraincdir=/usr/local/include --with-extralibdir=/usr/local/lib
Fabien LE LEZ
Le #18386991
On Wed, 14 Jan 2009 11:25:06 +0000 (UTC),
(Luc Habert):

Avec un ffmpeg flambant neuf, ça marche. Je copie-colle un howto sommaire de
compilation que j'avais posté ailleurs :



N'existe-t-il pas un ffmpeg compilé en static, avec toutes les options
qui vont bien et pas de dépendances, et qu'il n'y aurait qu'à mettre
dans le répertoire de son choix ?
Nicolas George
Le #18387151
Fabien LE LEZ wrote in message
N'existe-t-il pas un ffmpeg compilé en static, avec toutes les options
qui vont bien et pas de dépendances, et qu'il n'y aurait qu'à mettre
dans le répertoire de son choix ?



ffmpeg évolue très vite, et les développeurs et piliers de la communauté
sont très pointilleux que le support n'est disponible que pour les versions
très récentes. Il est donc bon de pouvoir en installer la toute dernière
version sans attendre de packageur.
Fabien LE LEZ
Le #18387451
On 14 Jan 2009 18:44:11 GMT, Nicolas George

sans attendre de packageur.



Les packageurs sont chargés de faire en sorte que les programmes et
les bibliothèques dynamiques marchent bien ensemble. L'idée d'un
binaire avec toutes les bibliothèques intégrées en static permettrait
justement de s'affranchir de ces problèmes.

Certes, l'exécutable en question serait un peu gros, mais ffmpeg est
de toute façon prévu pour travailler sur des gros fichiers.
Francois
Le #18387441
Pardon pour l'erreur de postage. Je recommence :

Luc Habert a écrit :
Francois :

Hélas ça ne fonctionne pas :
[libx264 @ 0xb7ead2f0]video codec not compatible with flv



Avec un ffmpeg flambant neuf, ça marche. Je copie-colle un howto sommaire de
compilation que j'avais posté ailleurs



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é). Mais, je garde ce message, et je
tenterai le coup à l'occasion.

Serait-ce possible de tenter une comparaison ?

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.

Serait-ce possible de faire une comparaison avec ta méthode (un ffmpeg
tout neuf) pour voir si ton toto.flv à toi est plus petit que le mien ?

Merci encore.


--
François Lafont

--
François Lafont
Nicolas George
Le #18388061
Fabien LE LEZ wrote in message
Les packageurs sont chargés de faire en sorte que les programmes et
les bibliothèques dynamiques marchent bien ensemble.



Non, là, tu restreins la définition. Quelqu'un qui fournit un binaire
statique de ffmpeg joue le rôle de packageur.
Fabien LE LEZ
Le #18388051
On 14 Jan 2009 20:02:26 GMT, Nicolas George

Les packageurs sont chargés de faire en sorte que les programmes et
les bibliothèques dynamiques marchent bien ensemble.



Non, là, tu restreins la définition. Quelqu'un qui fournit un binaire
statique de ffmpeg joue le rôle de packageur.



Ah OK, désolé. Je croyais qu'il s'agissait des gens chargés de créer
des packages (.deb, .rpm, etc.)

Ce que je voulais dire, c'est : ton script de compilation de ffmpeg,
n'y a-t-il pas moyen de le mettre sur un serveur quelconque, pour
pondre un nouveau binaire tous les jours (ou à chaque mise à jour de
ffmpeg) ?
Publicité
Poster une réponse
Anonyme