簡體   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