【问题标题】:Setting a framerate of a video created from images with ffmpeg (slowing down)使用 ffmpeg 设置从图像创建的视频的帧速率(放慢速度)
【发布时间】:2013-01-30 16:47:20
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: video ffmpeg


    【解决方案1】:

    如果您未声明输入帧速率,则将默认帧速率 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 将导致输出持续时间与最短输入持续时间相同。

    【讨论】:

    • 你好,在这个例子中你发布了audio.wav,我应该把“image2”参数放在哪里?此外,是否可以将音频的长度用作整个视频的长度,并相应地自动适合所有图像,例如,音频开始,第一张图片开始,音频在最后一张图片结束。
    • @jeet 你一般不需要-f image2,我用-shortest选项更新了最后一个例子。
    • 嗨,我尝试了您在上面发布的最新命令,但它给了我一个错误。我已经更新了上面的帖子。我可以不使用比特率等,而是根据音频的长度适合所有图像吗?
    • 看起来好像速率不是问题。我从输入参数中删除了音频文件,它开始制作视频。我可以做些什么来包含音频,可能在同一个命令中?
    • 很好的解释.. 它有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 2019-12-03
    • 2020-05-27
    • 2016-09-27
    相关资源
    最近更新 更多