Page 1 sur 1

[ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : mer. 13 juin 2018, 22:07
par morice69
Bonjour, je voudrai compresser des videos mpeg2, qui font 80 Mo par minutes pour avoir 8mo par minutes ( devrait etre possible sans avoir de dégradation visible sur un ecran 1600 par 1200)
J'essaie de faire

Code : Tout sélectionner

ffmpeg -i input.mpg -cible PAL SVCD target.mpg 
comme indiqué ici http://www.ordinateur.cc/Logiciel/Compr ... 11606.html
Mais ca me balance l'erreur

Code : Tout sélectionner

erreur: [NULL @ 0x2663b40] Unable to find a suitable output format for 'pipe:'
pipe:: Invalid argument
Que manque t il comme arguments pour que ca fonctionne?

Quelle serait la meilleur méthode de compression pour ffmpeg ( sans que ca pixelise avec 100 carrés de 5 cm de coté) avec le même resultat et bps qu'un divx de 3heures qui tiens sur 700mo sans perte visible sur du 15 pouces. Essayé l'argument -vf scale=960:-2 mais ça pixelise a mort et encode en mpeg1.


Merci d'avance.

Re: [ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : mer. 13 juin 2018, 22:23
par benjarobin
Bonjour,
Le site que tu cites est totalement dépassé, cela bien longtemps que l'on n'utilise plus ce format de sortie...
Tu ne peux pas obtenir le même ratio qualité/taille avec du mpg qu'avec du divx, déjà que divx est totalement dépassé...
Pourquoi ne pas compresser en x264 voir même en x265, car c'est la seule bonne solution aujourd'hui pour compresser bien plus sans perdre de qualité ?
Et je te recommande handbrake qui est un super logiciel avec une interface graphique. Si cela te convient on regardera comment automatiser la chose (avec ffmpeg ou avec handbrake)

Re: [ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : jeu. 14 juin 2018, 06:33
par morice69
Bonjour, je voudrais compresser 600 videos de 1 minutes contenues dans 1 dossier: je voudrais le faire par lot, donc j'exclue handbrake...

Re: [ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : jeu. 14 juin 2018, 13:12
par hopimet
morice69 a écrit : jeu. 14 juin 2018, 06:33 Bonjour, je voudrais compresser 600 videos de 1 minutes contenues dans 1 dossier: je voudrais le faire par lot, donc j'exclue handbrake...
Pourquoi ? Il y a un cli pour handbrake, donc le moyen de faire le travail en série.
https://handbrake.fr/docs/en/latest/cli ... tions.html

Re: [ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : ven. 15 juin 2018, 10:44
par avi3000
morice69 a écrit : mer. 13 juin 2018, 22:07 J'essaie de faire

Code : Tout sélectionner

ffmpeg -i input.mpg -cible PAL SVCD target.mpg 
comme indiqué ici http://www.ordinateur.cc/Logiciel/Compr ... 11606.html
Mais ca me balance l'erreur

La page qui te sert de source d'information est un ramassis de conneries monumentales.

Il n'y a pas de paramètre -cible pour ffmpeg, mais le paramètre -target.

D'une manière générale, tu ne peux pas passer 2 arguments pour un paramètre sans les mettre entre des guillements.

Si tu avais lu le man de ffmpeg, tu aurais vu que ce que tu veux faire s'écrit :

Code : Tout sélectionner

ffmpeg -i input.mpg -target pal-svcd output.mpg

Code : Tout sélectionner

       -target type (output)
           Specify target file type ("vcd", "svcd", "dvd", "dv", "dv50").
                   type may be prefixed with "pal-", "ntsc-" or "film-" to use the corresponding standard. 
                   All the format options (bitrate, codecs, buffer sizes) are then set automatically. You can just type:
                    ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

           Nevertheless you can specify additional options as long as you know they do not conflict with the standard, as in:
                   ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
http://ffmpeg.org/documentation.html
https://trac.ffmpeg.org/wiki

Re: [ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : ven. 15 juin 2018, 17:48
par benjarobin
En effet, mais re-encoder en mpg n'apportera aucune amélioration significative. Après on peut encoder en x264 avec ffmpeg, mais c'est plus simple pour faire les tests d'utiliser handbrake

Re: [ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : mar. 19 juin 2018, 10:36
par morice69
Bonjour, finalement j'ai reencodé en h264 avec la commande

Code : Tout sélectionner

ffmpeg -i input.mpeg -threads 0 -c:v libx264 -crf 32 -preset slow -vf scale=-2:1080,format=yuv420p output.mp4
Le rendu est satisfaisant.

Ensuite je voudrai compresser tous les mp4 de la gopro recursivement sur tous les sous dossiers ( 3 profondeurs) en combinant find et ffmpeg

J'avais l'intention de renomer tous les fichiers *.mp4 en *big.mp4
find ./ -name '*.mp4' -exec bash -c 'mv -fv $0 ${0/.mp4/big.mp4}'
{} \;
De compresser les bigs en destination normal en concervant l'emplacement

Code : Tout sélectionner

find . -name '*big.mp4' -exec bash -c 'ffmpeg -i $0 + -threads 0 -c:v libx264 -crf 32 -preset slow -vf scale=-2:1080,format=yuv420p ${0/big.mp4/h264.mp4}' {} \;
Et de supprimer la source
find ./ -name '*big.mp4' -exec rm -f {} \;
Malheureusement je suis bloqué à la première etape:
find ./ -name '*.mp4' -exec bash -c 'mv -fv $0 ${0/.mp4/big.mp4}'
{} \;
Me renomme bien tous les fichiers du premier niveau de sous dossiers. /a/source.mp4-> /a/sourcebig.mp4
Mais des qu'on passe au niveau 2, 3 , 4 du sous dossiers ca me dit: /a/b/sourcebig.mp4 n'est pas un dossier.

Comment faire pour traiter récursivement tous les sous dossiers?

Re: [ffmpeg] cible PAL SVCD ne fonctionne pas

Publié : mar. 19 juin 2018, 17:35
par benjarobin

Code : Tout sélectionner

find . -name '*big.mp4' | while read file ; do ffmpeg -i "$file" + -threads 0 -c:v libx264 -crf 32 -preset slow -vf scale=-2:1080,format=yuv420p "${file/big.mp4/h264.mp4}" ; rm "$file"; done
Mais c'est un peu dommage de compresser les vidéos d'une GoPro. Tu va perdre en qualité.