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

[MEncoder] lavc mpeg4 non reconnu sur lecteur salon

7 réponses
Avatar
David LE BOURGEOIS
Bonjour à tous.

Depuis quelques temps, j'encode mes vidéos à l'aide de mencoder
(MPlayer) sans problème. J'utilise le codec lavc avec les options
vcodec=mpeg4:vhq et la qualité est superbe.
La lecture de ces vidéos se fait aussi bien sous Linux avec MPlayer,
que sous Windows avec les codecs DivX et XviD.

Avant hier, je décide donc d'acheter une platine DVD de salon qui lit
entre autres les DivX 3/4/5 et les XviD. Il s'agit de la Philips DVP 630.
Seulement, voilà, les vidéos faites avec le codec lavc ne passent pas
du tout sur la platine : Aucun son, et l'indicateur de temps défile très
vite en faisant des bonds aléatoires de 10 à 30 secondes en avant.

Premièrement, je me dis que la platine n'est pas à jour. Qu'à cela ne
tienne, je remplace le firmware par le dernier en date trouvé sur le
site de Philips. Mais aucun succès après une relecture de la vidéo

Ensuite, je remets en doute mes options d'encodage. Je relis donc plus
attentivement la manpage, et j'ajoute un vstrict=1 et un keyint=130,
pour tenter de respecter le standard MPEG4. Mais, malheureusement,
toujours le même résultat.

Après, j'essaye de changer de codec. J'encode donc avec vcodec=msmpeg4.
Ah ! J'ai de l'image et du son, Youpi ! Mais l'image est de mauvaise
qualité (pour la même vidéo) et le son est décalé. Et même résultat avec
msmpeg4v2.

Donc, je change de famille de codec. J'essaie xvid à la place de lavc,
mais là je retrouve le même problème qu'au début.

Par contre, toutes les vidéos que j'ai faite sous Windows avec les
codecs Divx 3, 4 et XviD passent sans décalage de son, avec une qualité
suffisante, bref sans problème.

Je ne veux plus encoder mes vidéos sous Windows. D'ailleurs, je ne veux
plus rien faire du tout sous Windows sauf du Cygwin et du PuTTY. Mais
aujourd'hui les seules choses qui m'empêchent de refaire mes partitions
sont les jeux (j'arrive pas à faire marcher la 3D de ma Radeon), la
lecture de DVD (faut que je recompile le noyau pour activer le DMA du
chipset VIA), et l'encodage avec MEncoder pour lire les vidéos sur ma
platine.

Donc, après 3 jours de cheveux arrachés (j'en ai encore, rassurez-vous)
sur Mencoder, je m'en remets à vous pour vos expériences et vos conseils.
Comment configurer Mencoder pour qu'il puisse encoder une vidéo de
bonne qualité pour pouvoir la lire sur ma platine ?
Comment se fait-il que le lecteur Philips, censé lire les DivX3/4/5 et
XviD, ne lise pas du MPEG4 fait avec lavc sous Linux, mais lit ceux
faits avec XviD sous Windows ?

Merci d'avance pour vos précieuses réponses.

--
David LE BOURGEOIS

7 réponses

Avatar
David LE BOURGEOIS

Comment configurer Mencoder pour qu'il puisse encoder une vidéo de
bonne qualité pour pouvoir la lire sur ma platine ?
Comment se fait-il que le lecteur Philips, censé lire les DivX3/4/5
et XviD, ne lise pas du MPEG4 fait avec lavc sous Linux, mais lit ceux
faits avec XviD sous Windows ?


Après avoir testé et enlevé une à une les options d'encodage fournies à
MEncoder, la seule qui pose problème semble être autoaspect. Est-ce
parce qu'elle inscrit dans la vidéo les informations sur son aspect ? Ca
mettrait en panique le lecteur ?

Mais maintenant, je suis bien embêté sans cette option, puisque
j'obtiens des "têtes d'oeufs" pour les personnages.
Par exemple, un DVD marqué "16:9 : 1.85", encodé sans options sur
l'aspect (pas de crop, zoom, scale, etc...), produit à l'écran une image
troquée à gauche et à droite, et avec des têtes légèrement allongées.

Le but de la manoeuvre à présent est de corriger mon script d'encodage,
avec des options uniques pour chaques types de DVD (16:9, 4:3, etc...)

Ouf, je croyais ne pas pouvoir utiliser mencoder pour faire mes divx !

--
David LE BOURGEOIS

Avatar

Comment configurer Mencoder pour qu'il puisse encoder une vidéo de
bonne qualité pour pouvoir la lire sur ma platine ?
Comment se fait-il que le lecteur Philips, censé lire les
DivX3/4/5 et XviD, ne lise pas du MPEG4 fait avec lavc sous Linux,
mais lit ceux faits avec XviD sous Windows ?



Après avoir testé et enlevé une à une les options d'encodage
fournies à MEncoder, la seule qui pose problème semble être autoaspect.
Est-ce parce qu'elle inscrit dans la vidéo les informations sur son
aspect ? Ca mettrait en panique le lecteur ?

Mais maintenant, je suis bien embêté sans cette option, puisque
j'obtiens des "têtes d'oeufs" pour les personnages.
Par exemple, un DVD marqué "16:9 : 1.85", encodé sans options sur
l'aspect (pas de crop, zoom, scale, etc...), produit à l'écran une image
troquée à gauche et à droite, et avec des têtes légèrement allongées.

Le but de la manoeuvre à présent est de corriger mon script
d'encodage, avec des options uniques pour chaques types de DVD (16:9,
4:3, etc...)

Ouf, je croyais ne pas pouvoir utiliser mencoder pour faire mes divx !



Pour ma part, j'ai un lecteur DVD 737 philips. Je me suis arraché les
cheveux aussi...
J'ai fini par utiliser transcode parce que mencoder me sautait des
images à l'encodage en encodage divX 2 passes :(
Mes paramètres :
Codec : ffmpeg (ou libavcodec, c'est pareil), option 2 passes (c'est
plus joli)
Image : rentre dans un format 640x480 (i.e. pour du 16/9 je rescale à
640x360)
Son : MP3 stéréo, VBR 4, 128Kb.


Avatar
David LE BOURGEOIS

Pour ma part, j'ai un lecteur DVD 737 philips. Je me suis arraché les
cheveux aussi...


J'ai hésité un instant pour celui-là. Je vois que cela n'aurait pas
évité les problèmes.

J'ai fini par utiliser transcode parce que mencoder me sautait des
images à l'encodage en encodage divX 2 passes :(


J'ai tester transcode, mais je suis revenu à mencoder, parce transcode
ne peut apparement pas couper d'autres vidéos que celles qu'il a créées.

Sinon, pour ma part, je n'ai pas rencontré de saut d'image (j'effectue 3
passes).

Mes paramètres :
Codec : ffmpeg (ou libavcodec, c'est pareil), option 2 passes (c'est
plus joli)


Oui, je tourne avec lavc aussi.

Image : rentre dans un format 640x480 (i.e. pour du 16/9 je rescale à
640x360)
Son : MP3 stéréo, VBR 4, 128Kb.


Finalement, pour mon problème, il s'avère que l'option -aspect
(déclenchée aussi par le paramètre autoaspect) est à l'origine de tout.

Je suis donc obligé de rogner la vidéo moi même :

crop="$(mplayer dvd://1
-dvd-device /dev/dvd
-chapter 2-2
-frames 10
-vf cropdetect
-vo null
-ao null
2> "crop.log
| sed 's/^.*(-vf crop=(.*)).*$/1/p;d'
| tail -1)"

C'est un peu barbare, mais mis dans un script fait-maison, il me permet
d'automatiser l'encodage.

Le seul petit souci, c'est qu'en faisant un -vf crop="$crop", je ne peux
pas faire un -vf scale -zoom -xy 640. Et, à cause de cela, ma télé (ou
mon lecteur DivX) me coupe un bout de chaque côte, sur les 720 de largeur.

--
David LE BOURGEOIS

Avatar


Pour ma part, j'ai un lecteur DVD 737 philips. Je me suis arraché les
cheveux aussi...



J'ai hésité un instant pour celui-là. Je vois que cela n'aurait pas
évité les problèmes.

J'ai fini par utiliser transcode parce que mencoder me sautait des
images à l'encodage en encodage divX 2 passes :(



J'ai tester transcode, mais je suis revenu à mencoder, parce transcode
ne peut apparement pas couper d'autres vidéos que celles qu'il a créées.

Sinon, pour ma part, je n'ai pas rencontré de saut d'image (j'effectue 3
passes).

Mes paramètres :
Codec : ffmpeg (ou libavcodec, c'est pareil), option 2 passes (c'est
plus joli)



Oui, je tourne avec lavc aussi.

Image : rentre dans un format 640x480 (i.e. pour du 16/9 je rescale à
640x360)
Son : MP3 stéréo, VBR 4, 128Kb.



Finalement, pour mon problème, il s'avère que l'option -aspect
(déclenchée aussi par le paramètre autoaspect) est à l'origine de tout.

Je suis donc obligé de rogner la vidéo moi même :

crop="$(mplayer dvd://1
-dvd-device /dev/dvd
-chapter 2-2
-frames 10
-vf cropdetect
-vo null
-ao null
2> "crop.log
| sed 's/^.*(-vf crop=(.*)).*$/1/p;d'
| tail -1)"

C'est un peu barbare, mais mis dans un script fait-maison, il me permet
d'automatiser l'encodage.

Le seul petit souci, c'est qu'en faisant un -vf crop="$crop", je ne peux
pas faire un -vf scale -zoom -xy 640. Et, à cause de cela, ma télé (ou
mon lecteur DivX) me coupe un bout de chaque côte, sur les 720 de largeur.



Pour ma part, dans mes scripts j'utilisais à la fois les filtres crop et
scale...
Ma technique d'encodage 3-passes :

VideoFilters="-vf cropq4:570:4:4,scaled0:-2"
rm log.txt # le log de la conversion du son
rm frameno.avi # la bande son
rm divx2pass.log # le log de la première passe d'encodage vidéo

mencoder $Source -ovc frameno -o frameno.avi -oac mp3lame -lameopts
abr:br8 -alang fr |tee log.txt

#Mplayer output :
#Recommended video bitrate for 650MB CD: 782
#Recommended video bitrate for 700MB CD: 852
#Recommended video bitrate for 800MB CD: 992
#Recommended video bitrate for 2 x 650MB CD: 1692
#Recommended video bitrate for 2 x 700MB CD: 1832
#Recommended video bitrate for 2 x 800MB CD: 2111
BitRate=`cat log.txt |grep 'for 700MB'|cut -d ' ' -f 7`

mencoder $Source -oac copy -o output.avi -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=$BitRate:vhq:vpass=1:vqmin=2:vqmax1 -alang fr
$VideoFilters

mencoder $Source -oac copy -o film.avi -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=$BitRate:vhq:vpass=2:vqmin=2:vqmax1 -alang fr
$VideoFilters

A barabarie, barbarie et demi ;)


Avatar
David LE BOURGEOIS


Pour ma part, dans mes scripts j'utilisais à la fois les filtres crop et
scale...
Ma technique d'encodage 3-passes :

VideoFilters="-vf cropq4:570:4:4,scaled0:-2"


Quel étourdi je suis !
J'avais mis des deux-points au lieu d'une virgule pour séparer les
paramètres crop= et scale= de l'option -vf.

rm log.txt # le log de la conversion du son
rm frameno.avi # la bande son
rm divx2pass.log # le log de la première passe d'encodage vidéo

mencoder $Source -ovc frameno -o frameno.avi -oac mp3lame -lameopts
abr:br8 -alang fr |tee log.txt

#Mplayer output :
#Recommended video bitrate for 650MB CD: 782
#Recommended video bitrate for 700MB CD: 852
#Recommended video bitrate for 800MB CD: 992
#Recommended video bitrate for 2 x 650MB CD: 1692
#Recommended video bitrate for 2 x 700MB CD: 1832
#Recommended video bitrate for 2 x 800MB CD: 2111
BitRate=`cat log.txt |grep 'for 700MB'|cut -d ' ' -f 7`

mencoder $Source -oac copy -o output.avi -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=$BitRate:vhq:vpass=1:vqmin=2:vqmax1 -alang fr
$VideoFilters

mencoder $Source -oac copy -o film.avi -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=$BitRate:vhq:vpass=2:vqmin=2:vqmax1 -alang fr
$VideoFilters



Bon bah, finalement, on a tous les deux quasiment le même script
d'encodage, avec des options identiques.

A barabarie, barbarie et demi ;)


:-)


Merci pour cet échange d'informations.

--
David LE BOURGEOIS

Avatar
MxPh
Le Mon, 31 May 2004 12:57:51 +0200,
Dans le forum fr.comp.os.linux.configuration,

Bon bah, finalement, on a tous les deux quasiment le même script
d'encodage, avec des options identiques.


Bonjour,

je profite de cet échange pour me renseigner.

J'hésite entre transcode et mencoder. Pour transcode j'utilise dvdrip
et ça marche pas mal.

Mais j'entends dire que mencoder a des atouts avec lavc (en fait je
voulais surtout employer -autoaspect pour la rapidité). J'ai essayé un
encodage en 3 passes (son à part) sur un échantillon comme dans la doc
avec les commandes

passe 1 (son):

cat /tmp/chariotsdefeu/vob/003/*.vob | mencoder -ovc frameno -o
/home/phi/frameno.avi -oac mp3lame -lameopts abr:br8 -alang fr -

cela me prévoit un bitrate de 1515 pour 2 cd donc :

passe 2 (première passe video) :

mencoder -oac copy -o /dev/null -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate15:vqscale=3:vhq:v4mv:trell:autoaspect:vpass=1
-ss 0:60 -endpos 0:30 /tmp/chariotsdefeu/vob/003/chariotsdefeu-001.vob

passe 3 (deuxième passe video):

mencoder -oac copy -o /home/phi/film.avi -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate15:vqscale=3:vhq:v4mv:trell:autoaspect:vpass=2
-ss 0:60 -endpos 0:30 /tmp/chariotsdefeu/vob/003/chariotsdefeu-001.vob

mais le résultat n'est pas terrible.

De + j'ai lu sur la mailing liste mplayer-user qu'il ne fallait pas
emplyer les 3 passes car il y avait un pb sur certain dvd (me rappelle
plus lequel)

des conseils pour arranger ça ?

merci
--
Ph

Avatar
MxPh
Le Mon, 31 May 2004 12:57:51 +0200,
Dans le forum fr.comp.os.linux.configuration,

Bon bah, finalement, on a tous les deux quasiment le même script
d'encodage, avec des options identiques.


Bonjour,

je profite de cet échange pour me renseigner.

J'hésite entre transcode et mencoder. Pour transcode j'utilise dvdrip
et ça marche pas mal.

Mais j'entends dire que mencoder a des atouts avec lavc (en fait je
voulais surtout employer -autoaspect pour la rapidité). J'ai essayé un
encodage en 3 passes (son à part) sur un échantillon comme dans la doc
avec les commandes

passe 1 (son):

cat /tmp/chariotsdefeu/vob/003/*.vob | mencoder -ovc frameno -o
/home/phi/frameno.avi -oac mp3lame -lameopts abr:br8 -alang fr -

cela me prévoit un bitrate de 1515 pour 2 cd donc :

passe 2 (première passe video) :

mencoder -oac copy -o /dev/null -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate15:vqscale=3:vhq:v4mv:trell:autoaspect:vpass=1
-ss 0:60 -endpos 0:30 /tmp/chariotsdefeu/vob/003/chariotsdefeu-001.vob

passe 3 (deuxième passe video):

mencoder -oac copy -o /home/phi/film.avi -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate15:vqscale=3:vhq:v4mv:trell:autoaspect:vpass=2
-ss 0:60 -endpos 0:30 /tmp/chariotsdefeu/vob/003/chariotsdefeu-001.vob

mais le résultat n'est pas terrible.

De + j'ai lu sur la mailing liste mplayer-user qu'il ne fallait pas
emplyer les 3 passes car il y avait un pb sur certain dvd (me rappelle
plus lequel)

des conseils pour arranger ça ?

merci
--
Ph