使用可变帧率对视频进行编码

标签 encoding ffmpeg video-streaming precision video-processing

我的文件夹中有一个带有时间戳的图像列表。所有图像均命名为 %12d_us.jpeg (即 000000020038_us.jpeg 等)。这些图像是以可变帧速率录制的,因此虽然一个视频可能以 40 fps 的速度拍摄,但其他视频的 fps 可能会下降到 30 甚至 20 fps。不过,我确实在名称中编码了每个图像的时间戳。有没有一种方法可以对这些图像进行编码,使它们类似于捕获它们的原始视频流(即以动态帧速率)。

如果有人可以提供帮助,我将不胜感激。我应该补充一点,我正在运行 Windows,因此我无法使用 glob 模式,因为它不是我的操作系统 POSIX 的一部分。

最佳答案

您可以使用 FFmpeg 的 concat 功能:http://ffmpeg.org/ffmpeg-formats.html#concat-1

ffmpeg -i 持续时间.txt -c:a 副本 -vf fps=30 输出.mp4

您必须根据您的文件名生成 period.txt - 例如:

ffconcat version 1.0
file 000000020038_us.jpeg
duration 2
file 000000050039_us.jpeg
duration 5
file 000000010040_us.jpeg
duration 1

关于使用可变帧率对视频进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52268087/

相关文章:

encoding - iTextSharp - acroform 字段编码

ios - 从 iOS 设备上的 Raspberry Pi 流式传输 H.264 视频

android - 使用 getInputImage 和 MediaCodec 进行编码

c++ - 是否 avcodec_receive_frame 和 avcodec_send_packet block /如何设计 ffmpeg 解码循环?

ffmpeg - 使用 RTSP Url 播放媒体文件时出现 DTS 不连续性错误

ffmpeg - 使用ffmpeg将coverart添加到包含opus音频流的ogg中,而无需重新编码音频流

node.js - 如何从nodejs中的远程url创建可读流?

python - 在 Ubuntu 中从 RCCC Bayer 相机传感器读取图像流

unicode - 在 vbscript 文件中输入双字节字符

node.js - 将文件编码为 base 64 Nodejs