如何使用 ffmpeg 获得最接近给定时间(相对于视频开始)的帧号? 视频具有可变帧速率 .我不需要任何其他元数据或实际帧(图像)本身。速度比精度更重要(除非可能的错误超过几秒钟)。
例子:
输入
输出
最佳答案
ffmpeg -t 01:05 -i input.mp4 -nostats -vcodec copy -y -f rawvideo /dev/null 2>&1 | grep frame | awk '{print $2}' | tr -d ,
这个 ffmpeg 命令获取您的 input.mp4,将其截断为 -t(在上面的示例中 01:05,并将文件写入/dev/null。-y
覆盖/dev/null 上的任何内容。grep 命令获取帧数。
输入:
ffmpeg -t 01:05 -i baywatch.mp4 -nostats -vcodec copy -y -f rawvideo /dev/null 2>&1 | grep frame | awk '{print $2}' | tr -d
输出:1559
关于video - 如何使用ffmpeg获取给定时间戳的帧号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69653703/