繁体   English   中英

如何使用ffmpeg获取给定时间戳的帧号

[英]How to get frame number given a timestamp using ffmpeg

如何使用 ffmpeg 获得最接近给定时间(相对于视频的开始)的帧数? 视频具有可变帧速率 我不需要任何其他元数据或实际帧(图像)本身。 速度比精度更重要(除非可能的错误超过几秒钟)。

例子:

输入

  • video.mp4(为简单起见,假设理想的恒定 30 fps)
  • 00:00:05 (HH:MM:SS)

输出

  • 150
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框架| awk '{print $2}' | tr -d ,

输出:1559

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM