FFmpeg提示‘frame_pts’为未识别选项的解决方法咨询
解决FFmpeg无法识别
frame_pts选项的问题 嘿,这个问题我之前也碰到过!你遇到的Unrecognized option 'frame_pts'错误,本质原因是你的FFmpeg版本太旧——-frame_pts是FFmpeg 4.1及以后版本才引入的功能,如果你的版本低于这个,自然会识别失败。
下面给你两种靠谱的解决方案:
方案一:直接升级FFmpeg(最推荐)
这是一劳永逸的办法,不同操作系统的升级方式如下:
- Windows/macOS:去FFmpeg官方站点下载最新稳定版的二进制包,替换掉你当前在用的FFmpeg程序就行。
- Debian/Ubuntu类Linux:打开终端跑这两条命令:
sudo apt update && sudo apt upgrade ffmpeg - macOS用Homebrew的话:
brew update && brew upgrade ffmpeg
升级完之后,记得把你原来的命令补全引号(你之前的命令里"select='eq(pict_type\,I)"少了一个闭合的单引号,会导致语法错误),然后重新运行:
ffmpeg -i input.mp4 -vf "select='eq(pict_type\,I)'" -vsync 0 -frame_pts 1 thumbnails-%02d-I.png
方案二:旧版本FFmpeg的替代方案
如果暂时没法升级,也能通过另一种方式实现同样的效果——利用image2格式的%p占位符(它会自动替换成帧的PTS值),命令改成这样:
ffmpeg -i input.mp4 -vf "select='eq(pict_type\,I)'" -vsync 0 -f image2 thumbnails-%p-I.png
这个命令同样能让输出文件名带上帧的PTS,和-frame_pts 1的效果完全一致。同样要注意补全select滤镜的引号哦,不然会触发另一个语法错误。
对了,你可以先跑ffmpeg -version看看自己当前的FFmpeg版本,确认是不是版本问题导致的错误~
内容的提问来源于stack exchange,提问作者tavalendo
相关产品推荐
相关产品推荐

