【问题标题】:FFMPEG cannot encode video with high speed changeFFMPEG 无法对高速变化的视频进行编码
【发布时间】:2020-01-21 23:19:20
【问题描述】:

您好,我正在尝试使用 FFMPEG 4.2.2 版加速和修剪剪辑。加快剪辑的速度是否有限制?如果我尝试加快剪辑速度,则无法打开输出文件。

我尝试了两种方法都没有运气:1. 使用 setPTS 过滤器和 2. 以更快的帧速率输入文件。

1.

ffmpeg -i GH012088.MP4 -y -ss 18 -t 0.48 -an -filter:v "setpts=0.096*PTS" -r 25 output.MP4

2.

ffmpeg -r 312.1875 -i GH012088.MP4 -y -ss 18 -t 0.48 -r 25 -an output.MP4

我正在尝试从原始剪辑中从 1 秒开始、以 10.4166 x 速度播放并持续 0.48 秒的输入创建剪辑

我做错了什么? 谢谢

【问题讨论】:

  • 您正试图将 0.48 秒加速 10 倍,所以 0.05 秒。假设您的输入是 25 fps,即 1.2 帧,即 1 或 2 帧。许多喜欢旧版本 VLC 的播放器会尝试在开始播放之前缓存更多帧。
  • 我认为因为我有'-t'持续时间参数在'-i'输入参数之后,它定义了最终编码视频的持续时间而不是输入视频?
  • 我正在尝试从原始剪辑中从 1 秒开始的输入创建一个剪辑,以 10.4166 x 速度播放并持续 0.48 秒。我对 -ss 和 -t 参数的使用是否不正确?
  • 对不起,我误解了命令。原始文件的持续时间是多少?
  • 长度为 40.473767 秒

标签: ffmpeg


【解决方案1】:

使用

ffmpeg -ss 1 -i GH012088.MP4 -y -t 0.48 -an -filter:v "setpts=0.096*PTS" -r 25 output.MP4

在帧重定时之前,搜索必须在输入端。 -t 必须在输出端,在帧重新定时后。

【讨论】:

    【解决方案2】:

    电影有声音吗? 如果是,那么我们必须通过组合过滤器来同步加速音频和视频:

    ffmpeg -i video.avi -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" -f avi video1.avi
    

    【讨论】:

    • 它确实有声音,但我不介意。我只是想从原始剪辑中 1 秒开始的输入创建一个剪辑,以 10.4166 x 速度播放并持续 0.48 秒
    猜你喜欢
    • 1970-01-01
    • 2014-05-02
    • 2020-09-24
    • 2011-04-15
    • 2011-12-23
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 2013-07-18
    相关资源
    最近更新 更多