我在模式后面有一个完整的图像目录<timestamp>.png,其中<timestamp>表示自第一个图像以来经过的毫秒数. input.txt包含有趣图像的列表:
file '0.png'
file '97.png'
file '178.png'
file '242.png'
file '296.png'
file '363.png'
...
Run Code Online (Sandbox Code Playgroud)
我使用ffmpeg将这些图像连接成一个视频:
ffmpeg -r 15 -f concat -i input.txt output.webm
Run Code Online (Sandbox Code Playgroud)
如何告诉ffmpeg将每个帧放在其实际位置而不是使用恒定帧速率?
我有一个从网络摄像头捕获并在 python 中使用 OpenCV 的视频文件。网络摄像头标称 FPS 为 30 FPS,但由于环境的原因,实际 FPS 有所不同,有时可能低至 24 FPS。录制的视频是使用 OpenCV 创建的VideoWriter,使用 MP4V FOURCC 并且始终具有 30 的 FPS 值,如果实际 FPS 不是 30,这会使视频的持续时间不正确。我有一个文件,其中包含从网络摄像头读取每个帧时的时间戳(使用 python 生成time.time())。
问题:
使用 FFMPEG(或其他软件),我可以使用时间戳信息创建新的视频文件(可能是 VFR 文件),然后将其转换为 CFR 文件吗?
我不确定创建具有正确时基的视频文件的正确方法是什么。也许我可以分割视频的帧并将它们保存为图像,然后使用时间戳和图像来创建 VFR 视频,但我想看看是否可以用另一种更优雅的方式来做到这一点。
提前致谢!