Logiciel pour encodage video

Salux les amis !

J’enregistre régulièrement des programmes TV avec mon tuner TNT au format .mpg ou .m2t.
Je souhaite passer certains de ces programmes en format Xvid, mais je ne sais pas trop quel logiciel utiliser. Je veux avant tout que celui-ci puisse couper les pub assez facilement, et qu’il me permette si possible, de me renvoyer un fichier “prêt à graver” pour k3b (je n’ai jamais eu à graver de film sur CD ou DVD, mais j’imagine qu’il y a une méthode spécifique pour que celui-ci soit lisible par une platine de salon).

Donc, si vous réalisez de l’encodage, pourriez vous me conseiller un/des logiciel(s) qui puissent répondre à mes attentes. Autrement dit, quels logiciels utilisez vous ? En êtes vous satisfait ?

PS: J’ai déjà testé Avidemux. L’interface est des plus simples. Malheureusement, j’observe un décalage entre la vidéo et le son. Il y a certes une option pour corriger ce décalage mais il est délicat à régler (de plus j’ai l’impression que ce décalage n’est pas régulier au cours de l’avancement du film).

A votre bon coeur… :wink:

D’après Mean auteur d’avidemux, pour les enregistrements télé il faut utiliser projetx (une espèce de moulinette magique), puis avidemux. C’est la réponse qu’il fournit régulièrement sur son forum, peut être un début de piste pour toi.

salut Cver1
il y a OGMrip qui pourrais te convenir il a été développé par un ptit gars sympathique: [size=150]billl[/size]
tu peux lui poser des questions sur sont programme en cas de problème (ça c’est un vrai plus)

Personnellement, j’utilise mencoder et les scripts et étapes suivantes:

  1. Recodage systématique du flux capturé sur la freebox sinon j’ai droit à un décalage de son après édition:
    Script Recodempg.sh

#/bin/sh BITRATE=2000 mv $1 t_$1 mencoder -oac lavc -ovc lavc -lavcopts acodec=ac3:vcodec=mpeg4:vbitrate=$BITRATE -o $1 t_$1

  1. Edition avec avidemux et sauvegarde sans recodage.

  2. Codage du fichier avec ce script:

[code]#!/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ème chapitre du DVD
Dir rep: Le miroir du DVD est dans rep
Opts o: Lecture avec les optiosn o
Fvid f: filtrage video (defaut scale=640:496), ça peut permettre de
rajouter des bandes (expand=0:-100:50:50), etc.
Fson f: filtrage son (defaut rien, mono: mode=3)
Bson n: fixe le bitrate du son à n. (defaut 64)
Bvid n: fixe le bitrate video au lieu qu’il soit calculé
Passe p: indique la passe (0, 1 ou 2) défaut 0.
CD n: nombre de CDs 700M voulus (défaut 1).
EOF
exit 0
fi
NOM=echo $1 | sed -e 's/\..*//'
echo $NOM
FILM=…/$1
shift
mkdir $NOM.tmp
cd $NOM.tmp
BOUCLE=Go
PASSE=0
CHOIXBITRATE="?"
FILTRE=scale=640:496
RATESON=64
NBCD=1
OPTIONS=
FSON=
if [ -f BITRATE ] ; then BITRATE=cat BITRATE ; fi
while [ $BOUCLE == Go ] ; do

if (echo $1 | grep DVD) > /dev/null ; then
shift
FILM=" dvd://$1"
echo “DVD chapitre: $FILM"
shift
else
if (echo $1 | grep Dir) > /dev/null ; then
shift
FILM=” -dvd-device …/$1 "$FILM
echo "DVD chapitre: $FILM"
shift
else
if (echo $1 | grep Opts) > /dev/null ; then
shift
OPTIONS=$1
echo "Options: $OPTIONS"
shift
else
if (echo $1 | grep Fvid) > /dev/null ; then
shift
FILTRE=$1
echo Filtre video: $FILTRE
#expand=0:-100:50:50,scale=640:480
shift
else
if (echo $1 | grep Bson) > /dev/null ; then
shift
RATESON=$1
echo Bitrate Son: $RATESON
shift
else
if (echo $1 | grep Bvid) > /dev/null ; then
shift
BITRATE=$1
echo Bitrate Video: $BITRATE
CHOIXBITRATE=Fait
shift
else
if (echo $1 | grep Passe) > /dev/null ; then
shift
PASSE=$1
echo Passe: $PASSE
shift
else
if (echo $1 | grep Fson) > /dev/null ; then
shift
FSON=:$1
shift
else
if (echo $1 | grep CD) > /dev/null ; then
shift
NBCD=$1
echo Nbre CDs: $NBCD
shift
else
BOUCLE=Stop
fi
fi
fi
fi
fi
fi
fi
fi
fi
done
echo Passe: $PASSE
echo VBirate: $BITRATE
echo SBitrate: $RATESON
echo FILTRE: $FILTRE
echo Son: $FSON
RESULTAT=…/E_$NOM.avi
if [ $PASSE == “0” ] ; then
if [ -f frameno.avi ] ; then
rm frameno.avi
fi
mencoder $FILM $OPTIONS -ovc frameno -vf $FILTRE -oac mp3lame -lameopts vbr=3:br=$RATESON:q=0$FSON -o frameno.avi | tee Son
PASSE=1
fi
if [ -f Son ] ; then
if [ $NBCD == “2” ] ; then
BITRATEOPTIMAL=grep "itrate.*CD 2 x 700" Son | sed -e '1,$s/.* \([^ ]*\)$/\1/'
else
BITRATEOPTIMAL=grep "itrate.*CD 700" Son | sed -e '1,$s/.* \([^ ]*\)$/\1/'
fi
echo $BITRATEOPTIMAL > BITRATE
fi
if [ $CHOIXBITRATE == “?” ] ; then
if [ -f BITRATE ] ; then BITRATE=cat BITRATE ; fi
fi
if [ $PASSE == “1” ] ; then
mencoder $FILM $OPTIONS -nosound -ovc lavc -vf $FILTRE -lavcopts vcodec=mpeg4:vpass=1:vbitrate=$BITRATE:turbo -ffourcc DIVX -o $RESULTAT
PASSE=2
fi
if [ $PASSE == “2” ] ; then

Passe 2

mencoder $FILM $OPTIONS -oac mp3lame -lameopts vbr=3:br=$RATESON:q=0$FSON -ovc lavc -vf $FILTRE -lavcopts vcodec=mpeg4:vpass=2:vbitrate=$BITRATE:vhq:v4mv:trell -ffourcc DIVX -o $RESULTAT
fi
cd …
[/code]

Qui permet d’encoder un MPG pile poil pour tenir sur un CD.
Si ce script s’appelle Encode.sh, tu peux faire

[quote]$ Encode.sh Film.avi
-> Encode le film sur un CD
$ Encode.sh HH.avi DVD 1 Dir HH Opts “-alang fr” Fson “vol=5”
-> Encode un film nommé HH dont l’image DVD est dans un répertoire nommé HH, en Français avec le son augmenté de 5. Il s’agit du premier titre du dvd (dvd://1)
$ Encode.sh S DVD 10 Dir S.iso Opts “-slang fr” Fson “vol=5”
-> Idem mais le DVD est une image ISO et le sous titres en Français sont intégrés.
$ Encode.sh 1418.mpg Passe 1 Bvid 800
-> Encode le film 1418.mpg en imposant le bitrate à 800[/quote]
La plupart du temps, c’est
$ Encode.sh Film

Merci pour toutes ces réponses !
Dites moi: Où se copie les scripts et avec quels droits ? :blush:
Ca par exemple ?

@> franb: Dans ton script, l’encodage se fait de manière à tenir sur un CD. Est-ce que l’on peut au contraire obtenir un Xvid de qualité fixée, donc sans contrainte de taille.

Pour les droits sur les scripts, un chmod +x des fichiers.
Pour ta question, tu fixes le bitrate video par Bvid et le bitrate son par Bson:

Encode.sh Film.mpg Bvid 1500 Bson 256

J’ai oublié de dire que le résultat se nomme E_Film.avi

Le format est mis par défaut à 640x496, tu peux le modifier en rajoutant
Fvid scale=720:576
par exemple
Tu peux également rajouter des bandes noires:
Fvid expand=0:-100:50:50

Le bitrate convenable pour une bonne qualité est en gros largeur*hauteur/350. Pour le son, un encodage à 128 est très bon, un encodage à 64 suffit largement.

La question du où est rarement traité et pourtant très simple à mettre en œuvre.
Tu crée ~/bin et tu écris dans ~/.bash_profile ou ~/.profile (ou ~/.login je sais plus) :

if [ -d $HOME/bin ]; then export PATH=$PATH:$HOME/bin fi

Comme ça de n’importe où :

Pour que ça prenne effet :

Humm, je préfère /usr/local/bin…

Généralement soit je suis pas admin, soit mes scripts n’interesse pas tout le monde.

Tu encodes des videos sur une machine partagée?, en ayant les droits me mettre une clef TNT?

Je viens de tester ta méthode fran.b sur une video nomée PB:

=> Il n’y a plus de barre noire sur la vidéo. L’image est maintenant écrasée.

Je poursuis quand même pour l’entraînement:

=> Il ne semble plus y avoir de décalage son/image après avoir coupé des scènes.

Puis l’encodage:

=> Plus de son
=> Impossible de faire évoluer la position dans la vidéo avec la barre d’avancement (qui est grisée)

A la fin de l’encodage j’ai le message suivant:

[code]Pos:2433.6s 60840f (99%) 116.40fps Trem: 0min 345mb A-V:0.000 [1189:0]
Flushing video frames.
Writing index…
Writing header…
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.

Video stream: 1189.517 kbit/s (148689 B/s) size: 361850979 bytes 2433.600 secs 60840 frames
MEncoder 1.0rc2-4.2.3 © 2000-2007 MPlayer Team
CPU: Intel® Core™2 CPU 6600 @ 2.40GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Error parsing option on the command line: -o

Exiting… (error parsing command line)
./Encode.sh: line 134: SULTAT: command not found
[/code]

[quote=“Cver1”]Je viens de tester ta méthode fran.b sur une video nomée PB:

=> Il n’y a plus de barre noire sur la vidéo. L’image est maintenant écrasée.
[/quote]Le rapport H/L est parti. Les barres noires, je ne piges pas.

C’est fait pour

[quote]
Puis l’encodage:

=> Plus de son
=> Impossible de faire évoluer la position dans la vidéo avec la barre d’avancement (qui est grisée)

A la fin de l’encodage j’ai le message suivant:

[code]Pos:2433.6s 60840f (99%) 116.40fps Trem: 0min 345mb A-V:0.000 [1189:0]
Flushing video frames.
Writing index…
Writing header…
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.

Video stream: 1189.517 kbit/s (148689 B/s) size: 361850979 bytes 2433.600 secs 60840 frames
MEncoder 1.0rc2-4.2.3 © 2000-2007 MPlayer Team
CPU: Intel® Core™2 CPU 6600 @ 2.40GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Error parsing option on the command line: -o

Exiting… (error parsing command line)
./Encode.sh: line 134: SULTAT: command not found
[/code][/quote]

Il y a un retour chariot parasite dans le script.
Tu dois avoir

-o $RE SULTAT
au lieu de

dans la dernière commande mencoder, du coup tu n’as que le résultat de la passe 1, sans le son et qualité dégardée. Rectifies le script et relance avec comme option les mêmes mais avec Passe 2 au lieu de Passe 1, ça rattrapêra le coup et t’évitera de tout refaire.

Oui effectivement c’était bien cela (honte à moi, j’ai pourtant regardé le script :confused: ).
Je poursuis mes recherches pour le format.

fran.b tu n’as pas un pb avec l’échelle de temps (je ne trouve pas le vocabulaire adéquat) en ré-encodant avec mencoder ? -> Qd je lis les fichiers issus de mencoder, le compteur temporel de mes lecteurs est très irrégulier voire absent. De plus, avec un lecteur de salon, il arrive que la lecture décroche ou saute systèmatiquement d’un endroit à l’autre dans le fichier.
Même avec vlc je n’ai pas ce pb malgré la piètre qualité de l’encodage.
Je suis condamné à utiliser avidemux et à synchroniser image et son à chaque fois. Heureusement, la qualité de l’encodage, lui, est presque irréprochable et mon compteur ne s’affole pas. :wink:

Bon, j’ai pigé un truc.
En fait la vidéo dans mon essais est au format 16/10, et elle ressort en format 4/3. Elle est donc écrabouillée.
Sur d’autres vidéos, en format 4/3 sur lesquels il y a des bandes noirs, il n’y a pas évidement pas de problème.

C’est parce que j’avais sans arrêt des pbms de décalage son/video que j’utilise désormais mplayer. transcode et vlc fournissait des videos non éditables (à chaque fois le son se prenait 4-5s dans la vue). Pour le format, tu peux l’imposer en utilisant le patch suivant. Tu rajoute dans ce cas une option
$Encode.sh Film.mpg Avc “aspect=16/9” …
et ça devrait fonctionner.
Tu récupère le script là
http://boisson.homeip.net/Encode

Un exemple sur une video prise sur Dailymotion et encodée par

http://franboisson.free/fr/Video/VideoRock.avi
(excellente d’ailleurs).

LIEN PLUS VALIDE

http://franboisson.free.fr/Video/VideoRock.avi

LIEN PLUS VALIDE

J’ai pas tous lu mais pour le traitement vidéo voir kino cinelerra et mencoder
Un bon site de référence dans le traitement vidéo au niveau des logiciels libres

Lprod.org

Tu devrais voir la video, elle est quand même extra…