Compresser facilement .mpg

Comment et avec quelle commande compresser un .mpg ?
Dans le temps, j’avais réussi à faire avec Avidemux mais le résultat n’a jamais été satisfaisant au niveau de la synchronisation image/parole.
Je crois qu’il y a un moyen avec une commande comme ffmpeg ou approchant.
Toutes les idées sont acceptées.
Il s’agit pour moi de faire des comparaisons de qualité entre un .mpg et la même video compressée.
Merci :006

iaorana
Si par “compresser” une video tu endends ré-encoder alors tu peux essayer le script suivant qui utilise x264 pour la video et lame pour l’audio pour faire en sorte que ton fichier video prenne aussi peu de place tout en essayant de préserver la qualité video (pour l’audio j’ai trop écouté de la musique trop forte pour te dire)

#! /bin/sh echo "conversion de $1" mencoder $1 -ovc x264 -x264encopts bitrate=600:me=umh:partitions=all:subq=6:frameref=5:8x8dct:bframes=3:b_pyramid:weight_b:pass=1 -nosound -o /dev/null mencoder $1 -ovc x264 -x264encopts bitrate=600:me=umh:partitions=all:subq=6:frameref=5:8x8dct:bframes=3:b_pyramid:weight_b:pass=2 -oac mp3lame -lameopts abr:br=92:aq=0:lowpassfreq=11025 -o H264$1

PS : J’ai essayé d’utiliser vorbis pour le son mais apparait du décalage.

J’essaierai ça demain, merci.
Avec ce script, un doc de 1Go en .mpg peut être réduit à combien ?

mmmhhh c’est variable, entre 2/3 et moins de la moitié de la taille du fichier de départ, c’est fonction du fichier de départ.
Compte un temps de réencodage d’environ 6h pour un fichier de 1go. Peut être voudra tu faire un test sur un petit bout de ton fichier avant de savoir si cela vaut le coup.

Bonjour!
Tout dépend aussi du format final que tu souhaites. Si tu ne tiens pas au x264, je te conseillerai bien theora/vorbis avec le petit programme ffmpeg2theora.
D’après mes tests, c’est le mieux que j’aie eu rapport qualité/taille du fichier obtenu.
Il est assez simple d’utilisation. Au lieu de tout recopier, je t’invite à lire ce que j’ai écrit ici, et si besoin tu sais où demander :slightly_smiling:

thuban.toile-libre.org/index.php … eg2theora/ <— LIEN

[quote=“douarn”]mmmhhh c’est variable, entre 2/3 et moins de la moitié de la taille du fichier de départ, c’est fonction du fichier de départ.
Compte un temps de réencodage d’environ 6h pour un fichier de 1go. Peut être voudra tu faire un test sur un petit bout de ton fichier avant de savoir si cela vaut le coup.[/quote]
Bon, ce n’est donc pas pour moi, je n’ai pas suffisamment de patience.
Je ferai quand même le test sur un petit morceau pour me rendre compte de la différence de qualité. J’ai déjà un “bout test” de 50 Mo qui fera l’affaire.
Je tiendrai au courant.

EDIT :
Ben y veut pas :confused:
Que ce soit un mpg ou un ts

[code]ricardo@sid-sda8:$ ./encode-douarn.sh mb.mpg
conversion de mb.mpg
MPlayer SVN-r31918 © 2000-2010 MPlayer Team
Option x264encopts: Bad argument b_pyramid=(null)
success: format: 0 data: 0x0 - 0x2f68800
MPEG-PS file format detected.
VIDEO: MPEG2 544x576 (aspect 3) 25.000 fps 9500.0 kbps (1187.5 kbyte/s)
[V] filefmt:2 fourcc:0x10000002 size:544x576 fps:25.000 ftime:=0.0400
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1

Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)

Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
FATAL: Cannot initialize video driver.

Exiting…
MPlayer SVN-r31918 © 2000-2010 MPlayer Team
Option x264encopts: Bad argument b_pyramid=(null)

WARNING: OUTPUT FILE FORMAT IS AVI. See -of help.
success: format: 0 data: 0x0 - 0x2f68800
MPEG-PS file format detected.
VIDEO: MPEG2 544x576 (aspect 3) 25.000 fps 9500.0 kbps (1187.5 kbyte/s)
[V] filefmt:2 fourcc:0x10000002 size:544x576 fps:25.000 ftime:=0.0400

Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)

Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1

Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)

MP3 audio selected.
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
FATAL: Cannot initialize video driver.

Exiting…
[/code]

[quote=“thuban”]Bonjour!
Tout dépend aussi du format final que tu souhaites. Si tu ne tiens pas au x264, je te conseillerai bien theora/vorbis avec le petit programme ffmpeg2theora.
D’après mes tests, c’est le mieux que j’aie eu rapport qualité/taille du fichier obtenu.
Il est assez simple d’utilisation. Au lieu de tout recopier, je t’invite à lire ce que j’ai écrit ici, et si besoin tu sais où demander :slightly_smiling:

thuban.toile-libre.org/index.php … eg2theora/ <— LIEN[/quote]
J’ai lu ta page et, avant de te demander plus de renseignements, je voudrais connaître le temps approximatif pour réencoder un fichier .ts de 1 GO ou .MPG s’il y a une différence ?
Merci :006

Là, c’est très difficile de te répondre en étant sur. Pour ma part, je n’ai compressé que des .dv quasiment, donc encore plus brut que le MPG je crois.
Pour te donner une idée, fais un essai, car ça dépent de la qualité voulue.
Si tu fais un encodage en 2 passes, forcément, ce sera beaucoup plus long.
De même, si tu augmente la qualité + optimisations, le temps de calcul sera grandement augmenté que si tu laisses les paramètres par défaut.

La seule chose que je peux te dire, c’est que en essayant d’avoir la meilleure qualité possible, un fichier dv de 700 M met entre 20 et 30 minutes à s’encoder, sachant que mon cpu n’est pas le meilleur, et que je pousse la qualité à fond.

Donc fais un essai, tu verras dans ta console le temps restant estimé, qui est en général le bon :slightly_smiling: .

Merci, j’essaie ça ce soir ou demain.

Là je teste l’encodage d’un fichier de 680 M environ (dv) en x264 et vorbis, bonne qualité (pas la maximum comme je le fais avec ffmpeg2theora), en 2 passes… ça fait plus d’une heure que ça tourne, et il n’y a qu’un tiers de fait…

Par contre, je rencontre des soucis avec des transitions videos avec ffmpeg2theora, mais je crois que cela vient de cinelerra lors de sa création des .dv, donc tu ne * devrais * pas rencontrer de soucis :slightly_smiling:

@ Thuban :
Sur ton site, il y a ce qui ressemble fort à une fonction en C. Problème, il y a env. 20 ans que je n’ai pas programmé et je ne sais plus comment faire.
Que fais-je concrêtement de cette fonction ?
Merci d’être précis pour un vieux sans plus guerre de mémoire.

[code] function prepdmotion () # Ça, c’est pour l’encodage de video en HD
{
ffmpeg2theora “$1” -f dv –aspect 16:9 -x 1280 -y 720 -a 3 -v 9 -V 1200 –soft-target –optimize –two-pass –first-pass "/tmp/first_passffmpeg"
ffmpeg2theora “$1” -f dv –aspect 16:9 -x 1280 -y 720 -a 3 -v 9 -V 1200 –soft-target –optimize –two-pass –second-pass “/tmp/first_passffmpeg” -o “$1.ogv”
}

[/code]

EDIT :
Impossible installer ffmpeg2theora sur la Sid :confused:
il y a ptet des sources à ajouter ?

Non non, ce n’est pas du C du tout, c’est une fonction que je met dans mon fichier ~/.bashrc que tu connais. Ainsi, lorsque je tape

ça me fait tout seul mon fichier encodé en ogv, sans que j’aie à me souvenir de toutes les options.

D’ailleurs, j’explique un peu plus loin dans l’article la signification de ces options, tu pourras faire du tri dans ce que tu as besoin :wink: .
Tu n’as bien entendu pas forcément besoin de recopier une fonction de ce type dans ton bashrc, tu peux simplement taper les lignes de commande à la main à chaque fois que tu en as besoin.

Exemple d’encodage 1 passe :

Pour l’installation de ffmpeg2theora sur la sid, je ne comprends pas. Il est dans les dépots officiels :
apt-cache policy ffmpeg2theora :

~$ apt-cache policy ffmpeg2theora ffmpeg2theora: Installé : 0.27-1.1 Candidat : 0.27-1.1 Table de version : *** 0.27-1.1 0 500 http://ftp.fr.debian.org/debian/ wheezy/main amd64 Packages 900 http://ftp.fr.debian.org/debian/ sid/main amd64 Packages 100 /var/lib/dpkg/status 0.24-2+b1 0 500 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages

D’ailleurs, avant de vouloir optimiser la qualité, tu peux simplement tester avec :

ffmpeg2theora fichier.mpg qui te donnera un fichier.ogv

l’argument b_pyramid peut avoir les valeurs none, strict ou normal
http://mewiki.project357.com/wiki/X264_Settings#b-pyramid
essaie donc avec b_pyramid=normal dans le script que je t’ai laissé

[quote=“douarn”]l’argument b_pyramid peut avoir les valeurs none, strict ou normal
http://mewiki.project357.com/wiki/X264_Settings#b-pyramid
essaie donc avec b_pyramid=normal dans le script que je t’ai laissé[/quote]
Pas mal du tout :023
En effet, avec ‘b_pyramid=normal’ ça passe parfaitement.
Ça semble correct comme temps d’encodage ~ 3 mn pour 50 Mo, ce qui devrait donner 1 h pour 1 Go
Le résultat est bon au niveau de l’image, pratiquement aussi bonne.
Synchronisation image/son = bonne
Réduction poids excellente : 50 Mo ==> 12 Mo = le 1/4 donc on ne peut pas demander mieux
Là, j’ai fais avec un .mpg et je vais tester avec un .ts si c’est faisable.

Edit :
Essai avec le même en .ts, les résultats sont identiques mais j’ai une alerte à la fin et le terminal est bloqué, impossible de revenir au prompt, ni avec ‘q’, ni avec Ctrl+C, ni avec échap
apparemment, c’est allé jusqu’au bout quand même :x264 [warning]: internal error (MV out of thread range) x264 [warning]: recovering by using intra mode

mmh pour ce problème je ne peux pas te dire, désolé je ne suis pas assez calé!
Sans rien enlever aux intérêts apportés par ffmpeg2theora, je trouve que x264 est vraiment pas mal (bien que n’ayant pas encore vraiment creusé l’ensemble de ses possibilités).

PS : le “support debian” ne serait il pas plus indiqué pour ce sujet ?

PS :
tu as raison, je déplace.

Essai de compression sur la totalité d’un doc de 938 Mo en .mpg = 51 mn pour un résultat final à 267 Mo. :023

Je vais tester ce soir le système de Thuban, si j’arrive à installer ‘ffmpeg2theora’.
Je comparerai les deux et je donnerai le résultat ici.
Merci à vous deux.
Je place le fil en résolu, puisque je considère que j’ai déjà obtenu un résultat satisfaisant.

Tu obtiens quel message d’erreurs lorsque tu tentes d’installer ffmpeg2heora?
Pourtant, apt-get, tu maitrises il me semble :slightly_smiling:

[code]ricardo@sid-sda8:$ sudo apt-get install ffmpeg2theora
[sudo] password for ricardo:
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l’impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n’ont pas encore
été créés ou ne sont pas sortis d’Incoming.
L’information suivante devrait vous aider à résoudre la situation :

Les paquets suivants contiennent des dépendances non satisfaites :
ffmpeg2theora : Dépend: libavdevice52 (>= 4:0.6-1~) mais ne sera pas installé ou
libavdevice-extra-52 (>= 4:0.6-1~) mais il n’est pas installable
E: Paquets défectueux
ricardo@sid-sda8:$
[/code]

ricardo@sid-sda8:$ apt-cache policy libavdevice52 libavdevice52: Installé : (aucun) Candidat : 4:0.6.2-3 Table de version : 5:0.6.1+svn20101128-0.2 0 910 http://mirror.home-dn.net/debian-multimedia/ squeeze/main amd64 Packages 900 http://mirror.home-dn.net/debian-multimedia/ sid/main amd64 Packages 4:0.6.2-3 0 990 http://ftp.fr.debian.org/debian/ sid/main amd64 Packages 4:0.5.2-6 0 980 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages

ricardo@sid-sda8:$ apt-cache policy libavdevice-extra-52 libavdevice-extra-52: Installé : (aucun) Candidat : (aucun) Table de version : ricardo@sid-sda8:$

Quelles sources as-tu ?