【发布时间】:2018-03-12 11:30:33
【问题描述】:
我想批量处理 mp4 视频,获取每个视频的最后 x 秒并将它们保存到单独的文件中。 我需要以非常高的精度执行此操作,最好达到 0.001 秒或更好。 发现了一个相关的问题 (FFMPEG: get last 10 seconds),建议使用 -sseof,效果很好,但正如答案所说,它对于流复制并不完全准确。
我正在尝试将视频长度与参考视频的长度相匹配。
我需要重新编码吗?如果我将持续时间指定为 00:00:00.000000(我从参考视频 ffprobe 中获得),sseof 能否足够准确地处理这个问题?
请看下面相关的ffprobe -i,所有待处理的视频都采用相同的编码。
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:00:58.67, start: 0.000000, bitrate: 639 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 499 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 131 kb/s (default)
Metadata:
handler_name : SoundHandler
duration=58.673000
有没有更好的方法来实现帧级精度?作为最终目标,我需要以 25fps 的“帧级精度”覆盖这些视频。
非常感谢!
【问题讨论】:
标签: ffmpeg