Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 10-06-2015 00:00:07

Slyfox
Membre
Lieu : Pays du chocolat
Distrib. : GNU/Linux Debian Sid
Noyau : Linux 4.7.0-1-amd64
(G)UI : MATE
Inscription : 15-12-2013

Conseils avant conversion en mp4 via Avconv

Bonjour les amis smile

J'ai plus de 300 vidéos sur un disques dur externe branché à mon réseau de partage domestique qui font entre 500 Mo et 6 Go mais dont la plupart font 4 Go.
Ces vidéos sont dans plusieurs formats mp3, ac3, aac, x264, mpeg.. le tout encapsulé soit en avi, mkv, vob, mp4.

Le problème c'est que certains appareils ne reconnaissent pas certaines vidéos. yikes
Donc je dois les réencoder avec des "formats" compatibles. J'aurais bien choisi des codecs "libre" comme le Vorbis ou VP8 et un conteneur comme le MKV mais et il y a un mais, c'est que certains lecteurs ne mangent pas n'importe de quoi... comme les appareils d'Apple qui mangent que le x264 pour la vidéo, acc pour l'audio et mp4 pour le conteneur. ( mad roll et en plus c'est pas moi qui les utilisent mais d'autres membres de ma famille, bref je sors du sujet... big_smile )

Mon but est de les réencoder sans perdre trop de qualité et de faire un peu de compression (mon disque externe de 2Tio commence à être plein) mais je privilège surtout la qualité à la taille, même si une vidéo de 6gio fait au final 1 à 2 Go c'est ok pour moi.
Par contre une vidéo de 500 Mo (1h30 de film) qui à déjà subit une compression, je préfère ne pas la compresser d'avantage.

Après bien quelques jours de documentation sur le net j'ai opté pour le moment de faire tout ce travail avec Avconv.

Voici ma ligne de commande que je me suis fait en piochant des infos ici et là :

avconv -y -i video.vob -threads 0 -preset slow -crf 20 -c:v:0 libx264 -vf crop=720:432:0:72 -aspect 16:9 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -c:a:0 libfdk_aac -vbr 5 video.mp4 2>&1



Remarque: le crop est calculé via le script maison (très bricolé) et par conséquence il change selon les vidéos.

#! /bin/bash

inFichier=$(yad --file --multiple --width="700" --height="500" --separator="\n")

read -p "Quel crf: " crf

read -p "Quel preset (ultrafast,superfast, veryfast, faster, fast, medium, slow, slower et veryslow.): " preset

# modification de l'IFS pour qu'il passe en saut de ligne
old_IFS=${IFS} IFS=$'\n'

for i in ${inFichier}
do
outFichier=$(echo "${i}" | awk -F "/" '{print $NF}' | awk -F "." '{print $1}' | tr " " "_")
echo "$outFichier"

# Caclul bande noir (crop)
mplayer "${i}" -vo null -nosound -vf cropdetect > "/home/$USER/crop.txt" &
pid=$!
sleep 10
kill $pid
crop=$(cat "/home/$USER/crop.txt" | awk -F [\(\)] '/Crop/ {print $2}' | awk 'END {print}' | awk '{print $2}')
echo "$crop"

avconv -y -i "${i}" -threads 0 -preset $preset -crf $crf -c:v libx264 -vf $crop -aspect 16:9 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -c:a libfdk_aac -vbr 5  "/home/$USER/Bureau/$outFichier.mp4" 2>&1
done

# remise en place de l'IFS
IFS=${old_IFS}



Après cette "petite" intro, voici mes questions :

1. La ligne de commande ci-dessus est-elle correct pour ce j'aimerais faire. Si non qu'est-ce que vous proposez ?

2. Avconv ou Mencoder ou FFmpeg. J'ai opté pour Avconv car FFmpeg ne semble plus soutenu (?) et Mencoder et plus lent pour un résultat identique et en plus il a la fâcheuse tendance à désynchronisé la vidéo et l'audio. (je me suis pas penché à fond sur ce problème, je pense que c'est moi n'ai pas tapé la bonne ligne de commande tongue )

3. J'ai lu ici : http://manpages.ubuntu.com/manpages/pre … onv.1.html

Je site le texte traduit en français via Google traduction...

Le paramètre «q» qui est affiché pendant l'encodage est la quantification actuelle. La valeur 1 indique que une très bonne qualité pourrait être atteint. La valeur 31 indique la plus mauvaise qualité. Si q = 31 apparaît trop souvent, cela signifie que le codeur ne peut pas compresser suffisamment pour répondre à votre bitrate. Vous devez augmenter le bitrate, diminuer le taux de trame ou diminuer la taille du cadre.



Apparemment il parle de ça :

1433887280.png

Ce qui me dérange c'est que je suis loin de 1 mais plutôt au alentour de 25. Ce qui me mets le doute sur ma ligne de commande et la qualité des vidéos. neutral

4. Questions à venir... big_smile

Pour rappel j'ai plus de 300 vidéos à passer à la moulinette, donc j'aimerais faire au mieux dès la première fois. roll

En tout cas merci d'avance de vos conseils et commentaires. wink

Dernière modification par Slyfox (10-06-2015 00:39:11)

Hors ligne

#2 10-06-2015 00:16:57

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : Conseils avant conversion en mp4 via Avconv

Plop,
Juste une précision:
ffmpeg est maintenu, mais la version dans Debian/jessie n'est pas à jour (et ffmpeg est difficilement co-installable avec avconv, ça pose des pbs de compatibilité, surtout avec les dépôts deb-multimedia.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 10-06-2015 00:20:39

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : Conseils avant conversion en mp4 via Avconv

pour moi, j'en suis à la conclusion que

  -preset veryslow   -crf 23


permet d'avoir une bonne qualité mais c'est un peu long.

Hors ligne

#4 11-06-2015 21:16:39

Slyfox
Membre
Lieu : Pays du chocolat
Distrib. : GNU/Linux Debian Sid
Noyau : Linux 4.7.0-1-amd64
(G)UI : MATE
Inscription : 15-12-2013

Re : Conseils avant conversion en mp4 via Avconv

captnfab a écrit :

Plop,
Juste une précision:
ffmpeg est maintenu, mais la version dans Debian/jessie n'est pas à jour (et ffmpeg est difficilement co-installable avec avconv, ça pose des pbs de compatibilité, surtout avec les dépôts deb-multimedia.



Merci pour la précision. wink

Sinon j'ai fais un test via un script sur une vidéo d'une minute.


Taille: 53.0 Mo
Duration: 00:01:00.04, start: 0.024000, bitrate: 7065 kb/s
Video: mpeg2video (Main), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 9800 kb/s, 50 fps, 50 tbr, 1k tbn, 50 tbc (default)
Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)



Voici un exemple de ligne de commande utilisé pour ce test.

avconv -i ultrafast_40.mkv -crf 22 -preset slow -format 16:9 video.mp4



Et voici le résultat:

1434051553.png

http://pix.toile-libre.org/?img=1434051553.png (cliquez sur l'image du lien pour l’agrandir wink )

Voilà ce que je comprends il me semble que -crf correspond plus au débit et de la qualité de la vidéo (c'est logique) et -preset plus à la compression.

Si on aimerais une vidéo de la même taille que l'original (53Mo), il faut utilisé un -crf 10 de et un -preset medium.
Pour avoir le même débit identique à l’original (7065 kb/s), il faut utilisé un -crf 10 de et un -preset slow.

Mais je pense que bon analyse n'est pas vraiment correct (?) roll

Dernière modification par Slyfox (11-06-2015 21:39:56)

Hors ligne

#5 17-06-2015 12:47:46

Slyfox
Membre
Lieu : Pays du chocolat
Distrib. : GNU/Linux Debian Sid
Noyau : Linux 4.7.0-1-amd64
(G)UI : MATE
Inscription : 15-12-2013

Re : Conseils avant conversion en mp4 via Avconv

Par contre il semble que je me suis trompé dans la ligne de commande du premier poste.

J'ai appliquée les paramètres crop et format, le fait d'appliquer c'est 2 paramètres me déforment l'image (les image sont aplaties)

Cette ligne semble mieux:

avconv -y -i video.vob -threads 0 -preset slow -crf 20 -c:v:0 libx264 -vf crop=720:432:0:72 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -c:a:0 libfdk_aac -vbr 5 video.mp4 2>&1



(attention la valeur crop=720:432:0:72 doit être calculé pour chaque vidéo car elle peut être différente)

Sinon pour le paramètre crf j'ai opté pour un crf entre 15 et 20 selon la vidéo à réencoder, cela me compresse un peu et préserve la qualité.

Si vous avez des conseils à me donner, merci de me le faire savoir. smile

Dernière modification par Slyfox (17-06-2015 12:49:10)

Hors ligne

#6 21-06-2015 22:25:35

Slyfox
Membre
Lieu : Pays du chocolat
Distrib. : GNU/Linux Debian Sid
Noyau : Linux 4.7.0-1-amd64
(G)UI : MATE
Inscription : 15-12-2013

Re : Conseils avant conversion en mp4 via Avconv

J'aimerai "transformer" mes vidéos 4:3 en 16:9 sur le principe de cette vidéo: https://www.youtube.com/watch?v=OP4MTTq5r3M

En fait il redimensionne une vidéo 4:3 en 16:9 sans passer par qu'on peut faire de pire, c'est à dire convertir la vidéo 4:3 en 16:9 et là on se retrouve avec une vidéo où les choses sont aplaties.
Il montre une solution intermédiaire qui consiste à recadrer la vidéo 4:3 en découpant une partie de la vidéo et d'enlever une partie du haut en du bas afin d'obtenir les dimension correspondant à du 16:9.

La troisième solution qui est proposé dans la vidéo consiste à étirer volontairement la vidéo en 16:9 mais par la suite on utilise une sorte de "filtre" qui rétrécie le centre de l'image et donne l’impression d'un 16:9 correct.

Et c'est ça que je recherche à faire mais sur notre GNU/Linux, mais où  et comment ?

Et tout ça dans le but d'obtenir une vidéo sans bande noir en plein écran sur une télé 16:9.

Dernière modification par Slyfox (21-06-2015 22:31:06)

Hors ligne

#7 21-06-2015 23:02:53

Slyfox
Membre
Lieu : Pays du chocolat
Distrib. : GNU/Linux Debian Sid
Noyau : Linux 4.7.0-1-amd64
(G)UI : MATE
Inscription : 15-12-2013

Re : Conseils avant conversion en mp4 via Avconv

Sinon je viens de faire un test avec le format 16:10 qui semble être un "bon" compromis, encore un peu de bande noir mais nettement moins que le 4:3 sur un écran 16:9.
De plus l'image est légèrement aplatie mais c'est acceptable.

Hors ligne

Pied de page des forums