#1 Le 13/09/2020, à 12:49
- diogenelecynique
Encodage FFmpeg codec XVID HD (720p)
Bonjour,
J'ai acheté dans un vide-grenier un baladeur pour m'occuper lors mes trajets quotidiens (et ne plus regarder les vaches par la fenêtre du TGV car c'est pas hyper intéressant hahaha) mais la difficulté que je rencontre est qu'il ne lit pas le format H264 (je crois même qu'au moment de la fabrication du baladeur, c'est-à-dire avant 2003, le format H.264 n'existait pas). Cependant, il lit le format opensource XVID sans problème (et DIVX 5 à l'ancienne, si tu as moins de 20 piges c'est normal que tu ne piges rien à ce que je dis hahahaha). Je cherche donc la commande qui me permettrait d'encoder sous FFmpeg mes vidéos en XVID en qualité 720p (HD) ?
Merci d'avance
PS : Si quelqu'un peut m'expliquer la différence entre "-c:v mpeg4" et "c:v libxvid", je suis preneur
Dernière modification par diogenelecynique (Le 13/09/2020, à 12:50)
Hors ligne
#2 Le 13/09/2020, à 14:07
- alv37
Re : Encodage FFmpeg codec XVID HD (720p)
(je crois même qu'au moment de la fabrication du baladeur, c'est-à-dire avant 2003, le format H.264 n'existait pas)
La norme à été initié en avril 2003 et utilisé vers 2010/2011 donc c'est fort probable.
Si quelqu'un peut m'expliquer la différence entre "-c:v mpeg4" et "c:v libxvid", je suis preneur
La différence c'est que le premier c'est l'encoder interne (sans aucune bibliothèque externe), le second utilise des bibliothèques externe sinon les deux sont similaires.
Avec libxvid:
ffmpeg -i input-file -vf scale=1280:720-c:v libxvid output.avi
Avec mpeg4:
ffmpeg -i input-file -vf scale=1280:720 -c:v mpeg4 -vtag xvid output.avi
Il faudra que tu regarde aussi pour l'audio car s'il date d'avant 2003, il doit pas savoir lire l'AAC, AC3, EAC3 (et autre DTS et Cie) du coup frauda aussi ré-encoder l'audio en mp3.
ffmpeg -i input-file -c:a libmp3lame -q:a 2 output.mp3
On peut bien entendu combiner les 2 en une seule:
Avec libxvid:
ffmpeg -i input-file -vf scale=-1:720-c:v libxvid -c:a libmp3lame -q:a 2 output.avi
Avec mpeg4:
ffmpeg -i input-file -vf scale=-1:720 -c:v mpeg4 -vtag xvid -c:a libmp3lame -q:a 2 output.avi
Je t'ai mis la version "basique" pour l'encode si tu veut d'autre versions (comme utiliser un bitrate constant définit ou du 2pass) tu peut regarde les guides de ffmpeg:
Pour le XvID: https://trac.ffmpeg.org/wiki/Encode/MPEG-4 et https://ffmpeg.org/ffmpeg-all.html#libxvid
Pouur le MP3: https://trac.ffmpeg.org/wiki/Encode/MP3 et https://ffmpeg.org/ffmpeg-all.html#libmp3lame-1.
PS: certains vieux appareil ne prendront peut-être pas le 1280x720p (logique car le XviD est sortie bien avant la HD) si c'est ton cas, il suffit de modifier la commande scale de cette manière:
scale=H:W
Tu remplace le H par la hauteur et le W par la largeur désirer.
PC #1: Dual-Boot (Custom) : MS-7823 (MSI B85M-G43) | CPU: Intel i7 4790k | RAM: 8 Go | GPU: Nvidia Geforce GTX 970 | DE: Cinnamon
VoidLinux // ArchLinux
PC #2 :(Custom) : Linux Mint 22 | DE: Cinnamon | MB: Gigabyte GA-G31M-ES2L v2 | CPU: Intel Pentium D 915 | RAM: 4 Go | GPU: Intel 82G33/G31 Express Integrated Graphics
Hors ligne