使用这个文件 [1],我可以毫无问题地运行这个命令:
ffmpeg -i crushed-between-two-portals.mp4 %d.jpg
但如果我运行以下任一命令 [2]:
ffmpeg -i crushed-between-two-portals.mp4 -vf "select='eq(pict_type,I)'" %d.jpg
ffmpeg -i crushed-between-two-portals.mp4 -vf "select='eq(pict_type,PICT_TYPE_I)'" %d.jpg
我得到这个结果:
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters
if used)
我认为这是因为视频流:
Stream #0:0(und): Video: av1 (Main) (av01 / 0x31307661), yuv420p(tv, bt709),
1280x720 [SAR 1:1 DAR 16:9], 19 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 60k tbc
(default)
我之前在其他编解码器中使用过这个命令。如何从 AV1 编解码器中提取关键帧或类似内容?
FFmpeg 为 AV1
dav1d
和libaom
. 有问题的问题是由于libaom
解码器 [1] 中的错误造成的。现在已修复此问题 [2],并提供新版本 [3]。