Mon père ne peut utiliser qu'un ancien éditeur de vidéo (Pinnacle Studio 12) très pointilleux sur les fichiers vidéo importés. Voici la sortie d'avprobe de l'une des vidéos qu'il parvient à importer:
encoder: Lavf53.24.2 bitrate: 9884 kb/s
Stream #0.0: Video: mpeg4 (Simple Profile), yuv420p,
1920x1080 [PAR 9:16 DAR 1:1], 25 tbn, 25 tbc
Je souhaite utiliser un utilitaire Linux tel que avconv / ffmpeg pour convertir tous les fichiers vidéo de mon père au format ci-dessus. Après quelques heures de lecture et de tests, j'ai pu faire correspondre toutes les propriétés du flux vidéo à l'exception de tbn, tbc et bitrate (voir la note n ° 1 avec la commande que j'utilise). Voici ce que avprob rapporte pour les vidéos que je crée:
bitrate: 36617 kb/s
Stream #0.0: Video: mpeg4 (Simple Profile), yuv420p,
1920x1080 [PAR 9:16 DAR 1:1], 25 fps, 25 tbr, 90k tbn, 65535 tbc
Et voici un diff pour vous épargner le problème de la vérification croisée des deux sorties:
ORIG: bitrate: 9884 kb/s 25 tbn, 25 tbc
MINE: bitrate: 36617 kb/s 25 fps, 25 tbr, 90k tbn, 65535 tbc
À ce stade, je suis coincé. J'ai du mal à trouver et à comprendre ce que sont vraiment tbn, tbr et tbc. Je me demande également pourquoi avconv ignore le paramètre -b: v 9756, mais je pense que je vais résoudre ce problème avec un peu plus de tests sur Google.
METTRE À JOUR
J'ai essayé la même commande sur mon ordinateur portable qui exécute Ubuntu 12.04 et avconv 0.8.16-4: 0.8.16 et il produit une vidéo qui a exactement les mêmes propriétés! Voir la note n ° 2. Bien sûr, il est très difficile de déclasser le PC de mon père d'Ubuntu 14.04 à 12.04, je suis donc toujours à la recherche d'une solution qui fonctionnera là-bas. [Pour être franc, il y a une différence dans le codec audio dans la commande qui s'exécute sur mon PC. Je devais remplacer mp3
avec libmp3lame
car pour une raison quelconque, le premier ne fonctionne pas.]
Note 1 Voici la commande que j'utilise (sur Ubuntu 14.04):
avconv -i GOPR0392.MP4 \
-codec:a mp3 -b:a 128k -ar:a 44100 \
-codec:v libxvid -aspect:v 1 -b:v 9756k \
test.avi
Et voici le résultat:
avconv version 9.16-6:9.16-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
built on Aug 10 2014 18:16:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 2 with DTS 0, packet 3 with DTS 0
...
...
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 54 with DTS 0, packet 55 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 55 with DTS 0, packet 56 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 56 with DTS 0, packet 57 with DTS 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GOPR0392.MP4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2015-02-08 01:30:55
Duration: 00:03:02.33, start: 0.000000, bitrate: 45149 kb/s
Stream #0.0(eng): Video: h264 (High), yuvj420p, 1920x1080 [PAR 1:1 DAR 16:9], 45007 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Metadata:
creation_time : 2015-02-08 01:30:55
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
creation_time : 2015-02-08 01:30:55
Stream #0.2(eng): Data: tmcd / 0x64636D74
Metadata:
creation_time : 2015-02-08 01:30:55
Stream #0.3(eng): Data: fdsc / 0x63736466, 9 kb/s
Metadata:
creation_time : 2015-02-08 01:30:55
File 'test.avi' already exists. Overwrite ? [y/N] y
Output #0, avi, to 'test.avi':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2015-02-08 01:30:55
ISFT : Lavf54.20.4
Stream #0.0(eng): Video: libxvid, yuv420p, 1920x1080 [PAR 9:16 DAR 1:1], q=2-31, 9756 kb/s, 90k tbn, 90k tbc
Metadata:
creation_time : 2015-02-08 01:30:55
Stream #0.1(eng): Audio: libmp3lame, 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
creation_time : 2015-02-08 01:30:55
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libxvid)
Stream #0:1 -> #0:1 (aac -> libmp3lame)
Press ctrl-c to stop encoding
^Cframe= 1531 fps= 11 q=2.0 Lsize= 261134kB time=61.18 bitrate=34966.6kbits/s
video:131019kB audio:955kB global headers:0kB muxing overhead 97.868984%
Received signal 2: terminating.
Note 2 La même commande depuis mon ordinateur portable (Ubuntu 12.04):
avconv -i GOPR0399.MP4 -codec:a libmp3lame -b:a 128k -ar:a 44100 -codec:v libxvid -aspect:v 1 -b:v 9756k test.avi
avconv version 0.8.16-4:0.8.16-0ubuntu0.12.04.1, Copyright (c) 2000-2014 the Libav developers
built on Sep 16 2014 18:35:14 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GOPR0399.MP4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2015-02-11 17:53:34
Duration: 00:00:29.48, start: 0.000000, bitrate: 45176 kb/s
Stream #0.0(eng): Video: h264 (High), yuvj420p, 1920x1080 [PAR 1:1 DAR 16:9], 45028 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Metadata:
creation_time : 2015-02-11 17:53:34
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 2015-02-11 17:53:34
Stream #0.2(eng): Data: tmcd / 0x64636D74, 0 kb/s
Metadata:
creation_time : 2015-02-11 17:53:34
Stream #0.3(eng): Data: fdsc / 0x63736466, 9 kb/s
Metadata:
creation_time : 2015-02-11 17:53:34
File 'test.avi' already exists. Overwrite ? [y/N] y
Incompatible pixel format 'yuvj420p' for codec 'libxvid', auto-selecting format 'yuv420p'
[buffer @ 0x9bd81a0] w:1920 h:1080 pixfmt:yuvj420p
[avsink @ 0x9bc89c0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x9bc8520] w:1920 h:1080 fmt:yuvj420p -> w:1920 h:1080 fmt:yuv420p flags:0x4
Output #0, avi, to 'test.avi':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2015-02-11 17:53:34
ISFT : Lavf53.21.1
Stream #0.0(eng): Video: mpeg4, yuv420p, 1920x1080 [PAR 9:16 DAR 1:1], q=2-31, 9756 kb/s, 25 tbn, 25 tbc
Metadata:
creation_time : 2015-02-11 17:53:34
Stream #0.1(eng): Audio: libmp3lame, 44100 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 2015-02-11 17:53:34
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libxvid)
Stream #0:1 -> #0:1 (aac -> libmp3lame)
Press ctrl-c to stop encoding
frame= 737 fps= 14 q=3.0 Lsize= 36119kB time=29.48 bitrate=10037.0kbits/s
video:35605kB audio:461kB global headers:0kB muxing overhead 0.149473%
Et maintenant, avprobe indique exactement les mêmes propriétés vidéo (le débit est légèrement différent, mais je suppose que cela est prévu):
avprobe test.avi
avprobe version 0.8.16-4:0.8.16-0ubuntu0.12.04.1, Copyright (c) 2007-2014 the Libav developers
built on Sep 16 2014 18:35:14 with gcc 4.6.3
Input #0, avi, from 'test.avi':
Metadata:
encoder : Lavf53.21.1
Duration: 00:00:29.49, start: 0.000000, bitrate: 10032 kb/s
Stream #0.0: Video: mpeg4 (Simple Profile), yuv420p, 1920x1080 [PAR 9:16 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s