Man*_*ngo 6 ffmpeg command-line extract
我正在尝试每 5 秒从可变帧率视频中提取帧,并获取提取的每个帧的确切时间戳。到目前为止,这是我所拥有的:
-i inputfile -vstats_file vstats.log -vsync 2 -vcodec png -r 0.2 -f image2pipe -
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
frame= 1 q= 0.0 f_size= 136261 s_size= 133kB **time= 5.000** br= 218.0kbits/s avg_br= 218.0kbits/s type= I
frame= 2 q= 0.0 f_size= 139382 s_size= 269kB **time= 10.000** br= 223.0kbits/s avg_br= 220.5kbits/s type= I
frame= 3 q= 0.0 f_size= 141631 s_size= 407kB **time= 15.000** br= 226.6kbits/s avg_br= 222.5kbits/s type= I
Run Code Online (Sandbox Code Playgroud)
我需要用于提取的帧的确切时间戳,以便我以后可以根据生成的缩略图准确地剪切视频。
另外,有没有办法将 vstats 打印到 stdout 而不是文件?
小智 3
我不确定你想做什么,但如果它对你有用那就没关系......
不管怎样,为了跳帧,我会使用SELECT视频过滤器(确保你启用了 libavfilter)。对于帧信息我会使用SHOWINFO视频过滤器。
您的命令应该类似于以下内容:
ffmpeg -i inputfile -vf '[in]select=not(mod(n\,150))[s1];[s1]showinfo[out]' -vcodec mpeg2video outputfile
Run Code Online (Sandbox Code Playgroud)
(其中 150 帧为 5 秒 * 30 fps)
| 归档时间: |
|
| 查看次数: |
8041 次 |
| 最近记录: |