Envoyé par
Jjeje007
Salut,
Tu devrais regarder du coté de l'autoflush ($++), voilà un bout de code qui permet juste d'affiché toute la ligne de mencoder ou il y a les info sur l'avencement de l'encodage :
1 2 3 4 5 6 7 8 9
| $|++; # Active l'autoflush
my $pipe_1 = new IO::Pipe();
$pipe_1->reader("mencoder $dvd_1 $chemin $dvd_2$dvd_3 -of rawvideo -ovc x264 -x264encopts bitrate=$bitrate:pass=1:subq=4:8x8dct:me=dia:frameref=5:bframes=2:b_pyramid:weight_b:direct_pred=auto:partitions=all:qcomp=0.75:ip_factor=1.10:pb_factor=1.40$threads -vf crop=$crop -nosound -o /dev/null");
{
local $/ = "\r";
while( defined( my $line = $pipe_1->getline ) ) {
print $1 if $line =~ m/(Pos.*\r)$/;
}
} |
Sans l'autoflush, ca merdouille complet (ce n'est pas assez "rafraichi")
Jjeje007
Bonjour.
Je ne vois pas ce qui dans la ligne de code suivante permet d'afficher toute la ligne de sortie de mencoder ("Pos:..."):
mencoder $dvd_1 $chemin $dvd_2$dvd_3 -of rawvideo -ovc x264 -x264encopts bitrate=$bitrate:pass=1:subq=4:8x8dct:me=dia:frameref=5:bframes=2:b_pyramid:weight_b:direct_pred=auto:partitions=all:qcomp=0.75:ip_factor=1.10:pb_factor=1.40$threads -vf crop=$crop -nosound -o /dev/null
Est-ce que quelqu'un peut, s'il lui plaît, la réécrire de façon minimaliste?
Je précise que j'ai le même problème que knoodrake (mais avec un autre langage de script). Si seulement je pouvais récupérer toutes les sorties "Pos:"...
Partager