使用此文件 [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 编解码器中提取关键帧或类似内容?
答案1
FFmpeg 为 AV1、dav1d
和提供了两个解码器libaom
。该问题是由于解码器中的错误造成的libaom
[1]。
目前该问题已得到修复 [2],并且有新版本可用 [3]。