【问题标题】:FFMPEG - Speed up video for time lapse - quicker/faster?FFMPEG - 加速视频延时 - 更快/更快?
【发布时间】:2019-08-09 12:51:19
【问题描述】:

好的,我知道这个问题已经被问过无数次了。但是,我对这个问题还有一点补充,我似乎无法在谷歌搜索中找到。

我当然不是 FFMPEG 的专家...我一直在使用 FFMPEG 的标准加速/减速模板,我正在使用的是:

ffmpeg -i input.mp4 -filter:v "setpts=PTS/60" -an output.mp4

我目前正在处理一小时长的 4K/60FPS 视频...我想将其缩小到大约 30 秒左右,所以我使用的是 PTS/100,我不需要音频... .问题是,这需要永远......我完全期望它。

但是当我坐在这里等待它完成时......我不禁想知道......有没有更快/更有效的方法来完成这个?我知道关于 FFMPEG 有很多奇怪的事情,关于你用来加快搜索时间的命令的顺序,以及预设等等。

【问题讨论】:

  • 你最后得到了什么工作?我无法得到工作的答案(而且我没有空间将其变成位图)

标签: windows ffmpeg


【解决方案1】:

你可以使用

ffmpeg -itsscale 0.016667 -i input.mp4 -c copy -an output.mp4

其中0.0166671/60

但是,这将保留所有帧,并且如果输入时基没有足够的分辨率,您将获得不正确的时间戳。你可以先创建一个临时文件来解决这个问题。

ffmpeg -i input.mp4 -c copy -video_track_timescale 90k -an temp.mp4

然后在这个临时文件上运行第一个命令。

【讨论】:

  • 谢谢,我试试看
  • 你从哪里得到 90k 的时间刻度?
  • 这些都不起作用。它们都产生了与原始文件大小几乎相同的输出,并且只显示了几帧,其中最后一帧在屏幕上保持不变。
  • 在尝试在不同的播放器中输出视频时,我认为除了更改一些元数据之外,这实际上并没有做任何事情。第二个播放器声称它播放的视频与第一个播放器完全相同,但帧速率为 3600 倍。显然,没有足够的马力来这么快播放它,所以视频播放器要么吓坏了,丢了一堆帧,要么以低于 3600 倍的速度尽可能快地播放。在任何一种情况下,结果都不是预期的,即实际删除了 >99.9% 的帧。
【解决方案2】:

此命令序列可能有助于解决该问题:

ffmpeg -i source.avi -r 0.016667 image/image%05d.bmp  

ffmpeg -i image/image%05d.bmp -vcodec libx264 -b:v 500k -f avi video.avi

【讨论】:

  • 有趣,所以您将图像吐出到单独的文件中,然后将它们重新编译成视频?
  • 是的,它可能工作得很快,但它需要一些磁盘空间
猜你喜欢
  • 1970-01-01
  • 2019-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多