gpt4 book ai didi

ffmpeg - 在给定时间之前和之后识别 I 帧

转载 作者:行者123 更新时间:2023-12-04 23:26:04 26 4
gpt4 key购买 nike

我正在尝试找到一种在输入时间之前和之后查找 I Frame 的方法。到目前为止,我查找时间之前的 I 帧的方法是

ffprobe -select_streams v -show_frames -show_entries frame=pkt_pts_time,pict_type -v quiet input.mp4 | awk -F= '/pict_type=/ { if (index($2, "I")) { i=1; } else { i=0; } } /pkt_pts_time/ { if (i && ($2 <= 1)) print $2; }' | head -n 1

然而,这似乎识别了前一个 I 帧之后的帧,而不是 I 帧本身。如何让它输出实际 I 帧的 pkt_pts_time?

最佳答案

使用 ffmpeg 执行此操作会更快,因为它可以选择完全跳过非关键帧。

ffmpeg -skip_frame nokey -i video -an -vf showinfo -f null - 2>&1 | grep -oE "pts_time:[0-9\.]+"

输出例如
pts_time:0
pts_time:5
pts_time:10
pts_time:15
pts_time:20
pts_time:25
pts_time:30

grep 是 GNU grep。值以秒为单位。

关于ffmpeg - 在给定时间之前和之后识别 I 帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47064737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com