Donc, pour commencer, j'ai découvert comment animer un certain nombre d'images fixes dans une vidéo, comme ceci:
avconv -f image2 -i %06d.png -r 24 -qscale 1 aniron.avi
J'ai un tas de fichiers dans le répertoire nommé 000000.png, 000001.png, 000002.png. Je suis capable de faire une vidéo de qualité suffisamment élevée de cette façon. Cependant, les efforts pour ajouter une piste audio en mettant "-i aniron.mp3" et quelques autres options ont échoué jusqu'à présent. Je reçois toujours ceci:
avconv version 0.8.5-4:0.8.5-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav
developers
built on Jan 24 2013 18:03:14 with gcc 4.6.3
[mp3 @ 0x8623aa0] max_analyze_duration reached
[mp3 @ 0x8623aa0] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'aniron.mp3':
Metadata:
encoder : Lavf52.64.2
TDTG : 2012-07-28T18:05:36
Duration: 00:07:11.46, start: 0.000000, bitrate: 191 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s
Input #1, image2, from '%06d.png':
Duration: 00:07:09.88, start: 0.000000, bitrate: N/A
Stream #1.0: Video: png, rgb24, 1920x1080, 25 fps, 25 tbr, 25 tbn, 25 tbc
File 'aniron.avi' already exists. Overwrite ? [y/N] y
Incompatible pixel format 'rgb24' for codec 'mpeg4', auto-selecting format 'yuv420p'
[buffer @ 0x8629500] w:1920 h:1080 pixfmt:rgb24
[avsink @ 0x8657d60] auto-inserting filter 'auto-inserted scaler 0' between the
filter 'src' and the filter 'out'
[scale @ 0x8634940] w:1920 h:1080 fmt:rgb24 -> w:1920 h:1080 fmt:yuv420p flags:0x4
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
[ac3 @ 0x86438e0] invalid bit rate
Output #0, avi, to 'aniron.avi':
Metadata:
encoder : Lavf52.64.2
TDTG : 2012-07-28T18:05:36
Stream #0.0: Video: mpeg4, yuv420p, 1920x1080, q=2-31, 200 kb/s, 90k tbn, 24 tbc
Stream #0.1: Audio: ac3, 44100 Hz, stereo, flt, 200 kb/s
Stream mapping:
Stream #1:0 -> #0:0 (png -> mpeg4)
Stream #0:0 -> #0:1 (mp3 -> ac3)
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such
as bit_rate, rate, width or height
Je finis peut-être par faire cela à Kdenvlive mais cela me dérange.
avconv -f image2 -i %06d.png -r 24 -qscale 1 -i audiofile.mp3 -c:a copy aniron.avi
Choses à noter:
-c:a
détermine le codec audio de sortie - il suffit de copier celui du fichier d'entrée ici-c:v
) si vous n'aimez pas celui par défaut.ffmpeg
vs. avconv
: ffmpeg
est loin d’être déconseillé - c’est délibérément trompeur. Si cela vous intéresse lisez ceciQue diriez-vous d'utiliser ffmpeg sur le avi que vous avez créé? La syntaxe serait quelque chose comme:
ffmpeg -i sound.wav -i input.avi output.mpg
Je ne sais pas si cela prendra mp comme import audio, vous devrez donc peut-être convertir votre fichier son.
Dieu chance
Cela a fonctionné en ce que tous les arguments ont été respectés; la sortie était ce que je voulais, de grande qualité:
avconv -f image2 -i %06d.png -i aniron.mp3 -c:a copy -r 24 -qscale 1 test.avi
L'ordre des arguments est une gêne subtile dans avconv et ffmpeg.