0

我正在使用 ffmpeg 和多个图像使用以下命令制作视频:

ffmpeg -f image2 -i img%d.png v.mpg

视频制作完成,但播放速度非常快。我可以放慢一点吗?(几乎双倍持续时间)如果可能的话,请在创建本身时设置速度。

我还需要在正在制作的视频中添加音频“a.wav”,可能在同一个命令中。那可能吗?

请给我命令 谢谢

当我使用这个命令时,下面是我得到的错误:

ffmpeg -r 12 -i pic\s%d.png -i rmt.wav -shortest -r 25 v.mpg



FFmpeg version SVN-r16573, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-cflags=-fno-common --enable-memalign-hack --enable-pthreads --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libfaac --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-avisynth --enable-swscale --enable-gpl
libavutil     49.12. 0 / 49.12. 0
libavcodec    52.10. 0 / 52.10. 0
libavformat   52.23. 1 / 52.23. 1
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 6. 1 /  0. 6. 1
built on Jan 13 2009 02:57:09, gcc: 4.2.4
Input #0, image2, from 'pic\s%d.png':
Duration: 00:03:53.00, start: 0.000000, bitrate: N/A
Stream #0.0: Video: png, rgb24, 1366x768, 12.00 tb(r)
Input #1, wav, from 'rmt.wav':
Duration: 00:12:16.19, bitrate: 64 kb/s
Stream #1.0: Audio: pcm_u8, 8000 Hz, mono, s16, 64 kb/s
Stream #0.0: Video: mpeg1video, yuv420p, 1366x768, q=2-31, 200 kb/s, 25.00 tb(c)
Stream #0.1: Audio: mp2, 8000 Hz, mono, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #1.0 -> #0.1
[mp2 @ 0x1738390]Sampling rate 8000 is not allowed in mp2
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
4

1 回答 1

3

如果您未声明输入帧速率,则将默认帧速率 25 应用于输入图像。您可以使用-framerate作为输入选项来设置帧速率,例如:

ffmpeg -framerate 30 -i img%d.png v.mpg

输出将继承相同的帧速率。您也可以分别为输入和输出设置帧速率,但 ffmpeg 将简单地复制或复制帧以补偿差异。这样做的一个原因是 MPEG1/2 不支持任意帧速率。

此示例将使用 12 的输入帧速率,约为默认 25 的一半,并以 25 输出。ffmpeg 将复制帧以达到 25:

ffmpeg -framerate 12 -i img%d.png -r 25 v.mpg

可以使用 来控制视频质量-qscale:v,对于 mpeg* 视频,它是 1-31 的线性比例,其中 1 是最高质量,或者-b:v采用以比特为单位的比特率值。

您还可以添加音频文件:

ffmpeg -framerate 12 -i img%d.png -i audio.wav -shortest -r 25 v.mpg

默认情况下,mp2将为此输出格式选择音频编码器。使用-shortest将导致输出持续时间与最短输入持续时间相同。

于 2013-01-30T17:50:23.533 回答