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

Encode

19 réponses
Avatar
Klaus Becker
Bonjour,

depuis quelque temps, le script "Encode.sh" me renvoie =C3=A0 chaque tentat=
ive :


Encode.sh mon_film.mpg=20
sting
[: 128: Go: unexpected operator
Passe: 0
VBirate:
SBitrate: 64
=46ILTRE:
Son:
/home/daten/multimedia/video/film/tmp/mon_film.tmp
=46ormat: 640 x 496
=46iltre utilis=EF=BF=BD: scale=3D640:496
=46ormat:
[: 196: 0: unexpected operator
[: 221: 0: unexpected operator
[: 224: ?: unexpected operator
[: 228: 0: unexpected operator
[: 232: 0: unexpected operator
[: 236: 0: unexpected operator


Encode a fonctionn=C3=A9 pendant longtemps chez moi sur Squeeze/AMD64 bits.=
Si je=20
me souviens bien, Encode a =C3=A9t=C3=A9 d=C3=A9velopp=C3=A9 par Fran=C3=A7=
ois Boisson. Il y a peut-
=C3=AAtre une nouvelle version ?

librement

Klaus


Voici le script que j'utilise :

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
#!/bin/sh
if [ -z $1 ] ; then
cat <<EOF
Script d'encodage de fichier. La syntaxe est
Encode.sh Fichier_du_film.extension Options
Les options sont
DVD n: DVD n i=EF=BF=BDme chapitre du DVD
Dir rep: Le miroir du DVD est dans rep
Opts o: Lecture avec les optiosn o
=46vid f: filtrage video (defaut scale=3D640:496), =EF=BF=BDa peut permettr=
e de
rajouter des bandes (expand=3D0:-100:50:50), etc.
=46son f: filtrage son (defaut rien, mono: mode=3D3)
Bson n: fixe le bitrate du son =EF=BF=BD n. (defaut 64)
Bvid n: fixe le bitrate video au lieu qu'il soit calcul=EF=BF=BD
Passe p: indique la passe (0, 1 ou 2, S) d=EF=BF=BDfaut 0.
CD n: nombre de CDs 700M voulus (d=EF=BF=BDfaut 1).
Avc p: passe des options, (typiquement Avc aspect=3D16/9)
Haut n: Precise la hauteur en pixel (496 par defaut)
Larg n: Precise la largeur en pixel (680 par defaut)
Garde: laiss=EF=BF=BD seul cela indique que le format est consertv=EF=BF=BD
Cine: Format 16/9
Tele: Format 4/3
Srt f: Sous titres fichiers f
EOF
exit 0
fi
NOM=3D`echo $1 | sed -e 's/\..*//'`
echo $NOM
=46ILMORG=3D$1
=46ILM=3D../$1
shift
mkdir $NOM.tmp
cd $NOM.tmp
BOUCLE=3DGo
PASSE=3D0
CHOIXBITRATE=3D"?"
=46ILTRE=3D
RATESON=3D64
NBCD=3D1
OPTIONS=3D
SRT=3D
=46SON=3D
#AVCOPTS=3D":aspect=3D4/3"
AVCOPTS=3D
LARGEUR=3D640
HAUTEUR=3D496
if [ -f BITRATE ] ; then BITRATE=3D`cat BITRATE` ; fi
while [ $BOUCLE =3D=3D Go ] ; do

if (echo $1 | grep DVD) > /dev/null ; then
shift
FILM=3D" dvd://$1"
echo "DVD chapitre: $FILM"
shift
elif (echo $1 | grep Dir) > /dev/null ; then
shift
FILM=3D" -dvd-device ../$1 "$FILM
echo "DVD chapitre: $FILM"
shift
elif (echo $1 | grep Opts) > /dev/null ; then
shift
OPTIONS=3D$1
echo "Options: $OPTIONS"
shift
elif (echo $1 | grep Fvid) > /dev/null ; then
shift
FILTRE=3D$1
echo Filtre video: $FILTRE
#expand=3D0:-100:50:50,scale=3D640:480
shift
elif (echo $1 | grep Bson) > /dev/null ; then
shift
RATESON=3D$1
echo Bitrate Son: $RATESON
shift
elif (echo $1 | grep Bvid) > /dev/null ; then
shift
BITRATE=3D$1
echo Bitrate Video: $BITRATE
CHOIXBITRATE=3DFait
shift
elif (echo $1 | grep Passe) > /dev/null ; then
shift
PASSE=3D$1
echo Passe: $PASSE
shift
elif (echo $1 | grep Fson) > /dev/null ; then
shift
FSON=3D:$1
shift
elif (echo $1 | grep CD) > /dev/null ; then
shift
NBCD=3D$1
echo Nbre CDs: $NBCD
shift
elif (echo $1 | grep Avc) > /dev/null ; then
shift
AVCOPTS=3D":"$1
echo Options AVC: $AVCOPTS
shift
elif (echo $1 | grep Srt) > /dev/null ; then
shift
SRT=3D"-sub "$1" -ffactor 10 -subfont-autoscale 1 -subfont-encoding uni=
code -
subcp latin1"
echo Sous titres: $SRT
shift
elif (echo $1 | grep Haut) > /dev/null ; then
shift
HAUTFORCE=3D$1
echo Hauteur Forcee: $HAUTFORCE
shift
elif (echo $1 | grep Larg) > /dev/null ; then
shift
LARGFORCE=3D$1
echo Largeur Forcee: $LARGFORCE
shift
elif (echo $1 | grep Garde) > /dev/null ; then
shift
KEEPFORMAT=3D1
elif (echo $1 | grep Cine) > /dev/null ; then
shift
FORMAT=3D16/9
elif (echo $1 | grep Tele) > /dev/null ; then
shift
FORMAT=3D4/3
else
BOUCLE=3DStop
fi
done
echo Passe: $PASSE
echo VBirate: $BITRATE
echo SBitrate: $RATESON
echo FILTRE: $FILTRE
echo Son: $FSON
LAVINFO=3D`which lavinfo`
pwd
if [ ! -z $LAVINFO ] ; then
HAUTBIS=3D`$LAVINFO $FILM 2> /dev/null | grep video_height | sed -e=20
's/^.*=3D//'`
LARGBIS=3D`$LAVINFO $FILM 2> /dev/null | grep video_width | sed -e=20
's/^.*=3D//'`
echo $LARGBIS x $HAUTBIS
if [ ! -z $KEEPFORMAT ] ; then
if [ ! -z $HAUTBIS ] ; then
HAUTEUR=3D$HAUTBIS
fi
if [ ! -z $LARGBIS ] ; then
LARGEUR=3D$LARGBIS
fi
fi
fi
if [ ! -z $HAUTFORCE ] ; then
HAUTEUR=3D$HAUTFORCE
fi
if [ ! -z $LARGFORCE ] ; then
LARGEUR=3D$LARGFORCE
fi
echo Format: $LARGEUR x $HAUTEUR
if `echo $FILTRE | grep -q scale > /dev/null` ; then
echo Filtre forc=EF=BF=BD utilis=EF=BF=BD: $FILTRE
elif [ -z $FILTRE ] ; then
FILTRE=3Dscale=3D$LARGEUR:$HAUTEUR
else
FILTRE=3D$FILTRE:scale=3D$LARGEUR:$HAUTEUR
fi
echo Filtre utilis=EF=BF=BD: $FILTRE
if [ ! -z $FORMAT ] ; then
if `echo $AVCOPTS | grep -q aspect > /dev/null` ; then
echo Format d=EF=BF=BDfini dans les options Avc
else
AVCOPTS=3D$AVCOPTS":aspect=3D"$FORMAT
fi
fi
echo Format: $AVCOPTS
RESULTAT=3D../E_$NOM.avi
if [ $PASSE =3D=3D "0" ] ; then
if [ -f frameno.avi ] ; then
rm frameno.avi
fi
mencoder $FILM $SRT $OPTIONS -ovc frameno -vf $FILTRE -oac mp3lame -
lameopts vbr=3D3:br=3D$RATESON:q=3D0$FSON -o frameno.avi | tee Son
PASSE=3D1
if [ -f Son ] ; then
if `grep -q "Recommended video bitrate" Son` ; then
if [ $NBCD =3D=3D "2" ] ; then
BITRATEOPTIMAL=3D`grep "bitrate for 2 x 700" Son | sed -e =
'1,
$s/.* \([^ ]*\)$/\1/'`
else
BITRATEOPTIMAL=3D`grep "bitrate for 700" Son | sed -e '1,$=
s/.*=20
\([^ ]*\)$/\1/'`
fi
echo $BITRATEOPTIMAL > BITRATE
else
if [ $NBCD =3D=3D "2" ] ; then
BITRATEOPTIMAL=3D`grep "itrate.*CD 2 x 700" Son | sed -e '=
1,
$s/.* \([^ ]*\)$/\1/'`
else
BITRATEOPTIMAL=3D`grep "itrate.*CD 700" Son | sed -e '1,$s=
/.*=20
\([^ ]*\)$/\1/'`
fi
echo $BITRATEOPTIMAL > BITRATE
fi
fi
fi
if [ $PASSE =3D=3D "S" ] ; then
if [ ! $CHOIXBITRATE =3D=3D "Fait" ] ; then
if [ -f frameno.avi ] ; then
rm frameno.avi
fi
mencoder $FILM $SRT $OPTIONS -ovc frameno -vf $FILTRE -oac mp3lame=
-
lameopts vbr=3D3:br=3D$RATESON:q=3D0$FSON -o frameno.avi | tee Son
fi
if [ -f Son ] ; then
if `grep -q "Recommended video bitrate" Son` ; then
if [ $NBCD =3D=3D "2" ] ; then
BITRATEOPTIMAL=3D`grep "bitrate for 2 x 700" Son | sed -e =
'1,
$s/.* \([^ ]*\)$/\1/'`
else
BITRATEOPTIMAL=3D`grep "bitrate for 700" Son | sed -e '1,$=
s/.*=20
\([^ ]*\)$/\1/'`
fi
echo $BITRATEOPTIMAL > BITRATE
else
if [ $NBCD =3D=3D "2" ] ; then
BITRATEOPTIMAL=3D`grep "itrate.*CD 2 x 700" Son | sed -e '=
1,
$s/.* \([^ ]*\)$/\1/'`
else
BITRATEOPTIMAL=3D`grep "itrate.*CD 700" Son | sed -e '1,$s=
/.*=20
\([^ ]*\)$/\1/'`
fi
echo $BITRATEOPTIMAL > BITRATE
fi
fi
fi
if [ $CHOIXBITRATE =3D=3D "?" ] ; then
if [ -f BITRATE ] ; then BITRATE=3D`cat BITRATE` ; fi
fi
if [ $PASSE =3D=3D "1" ] ; then
mencoder $FILM $SRT $OPTIONS -nosound -ovc lavc -vf $FILTRE -lavcopts=20
vcodec=3Dmpeg4:vpass=3D1:vbitrate=3D$BITRATE:turbo$AVCOPTS -ffourcc DIVX -=
o=20
$RESULTAT
PASSE=3D2
fi
if [ $PASSE =3D=3D "2" ] ; then
## Passe 2
mencoder $FILM $SRT $OPTIONS -oac mp3lame -lameopts=20
vbr=3D3:br=3D$RATESON:q=3D0$FSON -ovc lavc -vf $FILTRE -lavcopts=20
vcodec=3Dmpeg4:vpass=3D2:vbitrate=3D$BITRATE:vhq:v4mv:trell$AVCOPTS -ffourc=
c DIVX -o=20
$RESULTAT
fi
if [ $PASSE =3D=3D "S" ] ; then
## Une seule passe=20
mencoder $FILM $SRT $OPTIONS -oac mp3lame -lameopts=20
vbr=3D3:br=3D$RATESON:q=3D0$FSON -ovc lavc -vf $FILTRE -lavcopts=20
vcodec=3Dmpeg4:vbitrate=3D$BITRATE:vhq:v4mv:trell$AVCOPTS -ffourcc DIVX -o=
=20
$RESULTAT
fi
cd ..
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/201011071209.08158.colonius@free.fr

9 réponses

1 2
Avatar
François Boisson
Le Sun, 7 Nov 2010 18:01:41 +0100
Klaus Becker a écrit:

Le dimanche 07 novembre 2010 17:53:29, vous avez écrit :
> Le Sun, 7 Nov 2010 15:12:53 +0100
>
> Klaus Becker a écrit:
> > Pos: 0.1s 2f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.004 [0:0]
> > ....
> > Maybe you are playing a non-interleaved stream/file or the codec failed?
> > For AVI files, try to force non-interleaved mode with the -ni option.
>
> Est ce que mplayer lis le fichier au delà de la première seconde?


Mplayer me dit :

Too many video packets in the buffer: (1455 in 33581391 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
FAAD: error: Bitstream value not allowed by specification, trying to resync!

mais il lit le fichier sans problème



Bon, ça fait coincer mencoder. Essaye en encodant au préalable le fichier genre

mencoder tonfilm.mpg -oac lavc -ovc lavc -lavcopts
acodec¬3:vcodec=mpeg4:vbitrate 00 -o tempo.avi

Puis tu encode normalement le tempo.avi en rajoutant Cine pour un format 16/9
ou Tele pour un format 4/3

François Boisson

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Alain Rpnpif
Le 7 novembre 2010, Klaus Becker a écrit :

Hm, j'utilise konsole 2.4.5 sous KDE 4.4.5.

Bash et dash sont installés, konsole utilise bash il me semble.



Non, dans Squeeze, sh est un lien symbolique avec dash quel que soit le
terminal.

--
Alain Rpnpif


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Sylvain L. Sauvage
Le dimanche 7 novembre 2010 à 18:09:49, François Boisson a é crit
:
[…]
Bon, ça fait coincer mencoder. Essaye en encodant au
préalable le fichier genre

mencoder tonfilm.mpg -oac lavc -ovc lavc -lavcopts
acodec¬3:vcodec=mpeg4:vbitrate 00 -o tempo.avi



Ou avec « -oac copy -ovc copy », un remuxage du conteneur MPEG
vers l’AVI, sans perte. mencoder préfère l’AVI.

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
François Boisson
Le Sun, 7 Nov 2010 20:21:06 +0100
"Sylvain L. Sauvage" a écrit:

> mencoder tonfilm.mpg -oac lavc -ovc lavc -lavcopts
> acodec¬3:vcodec=mpeg4:vbitrate 00 -o tempo.avi

Ou avec « -oac copy -ovc copy », un remuxage du conteneur MPEG
vers l’AVI, sans perte. mencoder préfère l’AVI.



J'ai mis mpeg car je ne connais pas son extension, Sa video est encodé
avec un codec FAAD, ça marche moyen avec mplayer ce truc.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Klaus Becker
Le dimanche 07 novembre 2010 18:09:49, vous avez écrit :
Le Sun, 7 Nov 2010 18:01:41 +0100

Klaus Becker a écrit:
> Le dimanche 07 novembre 2010 17:53:29, vous avez écrit :
> > Le Sun, 7 Nov 2010 15:12:53 +0100
> >
> > Klaus Becker a écrit:
> > > Pos: 0.1s 2f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.004
> > > [0:0] ....
> > > Maybe you are playing a non-interleaved stream/file or the codec
> > > failed? For AVI files, try to force non-interleaved mode with the
> > > -ni option.
> >
> > Est ce que mplayer lis le fichier au delà de la première seconde?
>
> Mplayer me dit :
>
> Too many video packets in the buffer: (1455 in 33581391 bytes).
> Maybe you are playing a non-interleaved stream/file or the codec failed?
> For AVI files, try to force non-interleaved mode with the -ni option.
> FAAD: error: Bitstream value not allowed by specification, trying to
> resync!
>
> mais il lit le fichier sans problème

Bon, ça fait coincer mencoder. Essaye en encodant au préalable le fic hier
genre

mencoder tonfilm.mpg -oac lavc -ovc lavc -lavcopts
acodec¬3:vcodec=mpeg4:vbitrate 00 -o tempo.avi



J'ai essayé, mais je reçois le même message d'erreur (Too many video packets
in the buffer.....). Donc c'est pas la peine de continuer non ?

J'ai d'ailleurs laisser aller Encode jusqu'au bout, malgré les messages
d'erreur. Ca fonctionne quand même, mais le fichier vidéo créé n'a pas de son,
la vidéo est correcte.

Klaus


Puis tu encode normalement le tempo.avi en rajoutant Cine pour un format
16/9 ou Tele pour un format 4/3

François Boisson



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
François Boisson
Le Fri, 12 Nov 2010 19:10:54 +0100
Klaus Becker a écrit:

J'ai d'ailleurs laisser aller Encode jusqu'au bout, malgré les messages
d'erreur. Ca fonctionne quand même, mais le fichier vidéo créé n'a pas de
son, la vidéo est correcte.



Scrogneugneu, essaye avec

mencoder tonfilm.mpg -oac mp3lame
-lameopts vbr=3:br8:q=0 -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate 00 -o tempo.avi

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Klaus Becker
Le samedi 13 novembre 2010 10:18:00, vous avez écrit :
Le Fri, 12 Nov 2010 19:10:54 +0100

Klaus Becker a écrit:
> J'ai d'ailleurs laisser aller Encode jusqu'au bout, malgré les messag es
> d'erreur. Ca fonctionne quand même, mais le fichier vidéo créé n'a pas de
> son, la vidéo est correcte.

Scrogneugneu,



ça veut dire quoi ?

essaye avec

mencoder tonfilm.mpg -oac mp3lame
-lameopts vbr=3:br8:q=0 -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate 00 -o tempo.avi




ça donne des messages du genre :

FAAD: Failed to decode frame: Invalid number of channels
Pos: 5.3s 144f ( 1%) 34.52fps Trem: 5min 0mb A-V:0.084 [2243:0]
FAAD: error: Invalid number of channels, trying to resync!
FAAD: Failed to decode frame: Invalid number of channels
[h264 @ 0x229a8c0] concealing 2880 DC, 2880 AC, 2880 MV errors

j'ai arrêté, vu les messages. Mais est-ce que je suis le seul à avoir ce
problème avec Encode ?

Klaus

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
François Boisson
Le Sat, 13 Nov 2010 10:28:36 +0100
Klaus Becker a écrit:

Le samedi 13 novembre 2010 10:18:00, vous avez écrit :
> Le Fri, 12 Nov 2010 19:10:54 +0100
>
> Klaus Becker a écrit:
> > J'ai d'ailleurs laisser aller Encode jusqu'au bout, malgré les messages
> > d'erreur. Ca fonctionne quand même, mais le fichier vidéo créé n'a pas de
> > son, la vidéo est correcte.
>
> Scrogneugneu,

ça veut dire quoi ?




Ça veut dire que cette résistance de la video me crispe.

> essaye avec
>
> mencoder tonfilm.mpg -oac mp3lame
> -lameopts vbr=3:br8:q=0 -ovc lavc
> -lavcopts vcodec=mpeg4:vbitrate 00 -o tempo.avi


ça donne des messages du genre :

FAAD: Failed to decode frame: Invalid number of channels
Pos: 5.3s 144f ( 1%) 34.52fps Trem: 5min 0mb A-V:0.084 [2243:0]
FAAD: error: Invalid number of channels, trying to resync!
FAAD: Failed to decode frame: Invalid number of channels
[h264 @ 0x229a8c0] concealing 2880 DC, 2880 AC, 2880 MV errors

j'ai arrêté, vu les messages. Mais est-ce que je suis le seul à avoir ce
problème avec Encode ?




Ça n'est pas un pbm du script, c'est un problème curieux avec mencoder. En
gros, l'encodage Matroska se passe mal. C'est un pbm ancien, cf

http://lists.debian.org/debian-user-french/2006/12/msg00788.html
ou http://forum.ubuntu-fr.org/viewtopic.php?pid83434#p1183434

par exemple.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
François Boisson
Rq: Une solution pour les videos récalcitrantes, en général vlc arrive mieux à
la lecture, dans ce cas je lis la video avec vlc et l'encode en mpg+TS puis
encode celle ci de manière classique. C'est le cas pour les DVD récalcitrants
avec une protection matérielle: backup avec dvdbackup, transformation en .mpeg
avec vlc et encodage avec Encode.


François Boisson

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2