ffmpeg截图(关键帧截图)

1.rtsp流截图

复制代码
ffmpeg --stimeout 1000000 -rtsp_transport tcp -i rtsp://xxx -vf select='eq(pict_type,PICT_TYPE_I)' -vsync vfr -ss 00:00:00.000 -vframes 1 -s 640x480 -y output.jpg -hide_banner`
`

参数解释:

● -stimeout 1000000:设置socket超时时间为1000000微秒(us),即1秒(s)。

● -rtsp_transport tcp:指定RTSP传输协议为TCP。(降低截图花屏概率)

● -i rtsp://xxx:输入RTSP流的URL地址。

● -vf select='eq(pict_type,PICT_TYPE_I)':使用视频滤镜选择关键帧(I帧)。

● -vsync vfr:以可变帧率同步视频流。

● -ss 00:00:00.000:从视频开始处开始处理。

● -vframes 1:只输出一帧图像。

● -s 640x480:设置输出图像的分辨率为640x480。

● -y output.jpg:输出文件名为output.jpg,如果已存在同名文件则覆盖。

● -hide_banner:隐藏FFmpeg的版本信息和版权信息。

2.h264或h265文件截图

复制代码
#如果是h265文件,下面的test.h264可以替换成对应的h265文件,例如test.h265`
`ffmpeg -i test.h264 -vf select='eq(n,0)' -vframes 1 -s 640x480 -y output.jpg -hide_banner`
`

参数解释:

● -i test.h264: 指定输入文件为 test.h264。这个文件可能是一个H.264编码的视频文件。

● -vf select='eq(n,0)': 使用视频滤镜(video filter)来选择帧。select 滤镜的 eq(n,0) 表达式表示只选择序号(n)为0的帧,也就是视频的第一帧。

● -vframes 1: 限制输出的帧数为1,结合 select 滤镜,这通常用于提取视频的第一帧作为静态图像。

● -s 640x480: 设置输出图像的大小为 640x480 像素。

● -y output.jpg: 指定输出文件名为 output.jpg。如果该文件已存在,-y 选项会覆盖它,而不是询问用户是否要覆盖。

● -hide_banner: 隐藏FFmpeg的启动横幅和版权信息,这样在运行FFmpeg时不会显示这些信息。

总结来说,这个命令的作用是从一个H.264编码的视频文件 test.h264 中提取第一帧,将其大小调整为 640x480 像素,并保存为JPEG格式的图片 output.jpg。

相关推荐
可乐鸡翅yeah_18 小时前
AES‑128 加密 M3U8,IV 初始化向量新手容易踩坑
前端·网络·数据库·ffmpeg·音视频·m3u8在线
企业数字化笔记2 天前
视频视觉任务怎样选择媒体处理技术?FFmpeg、OpenCV、GStreamer 的职责与适用场景
ffmpeg·音视频·媒体
可乐鸡翅yeah_3 天前
网页端 M3U8 播放器性能监控,怎么看播放卡顿指标
javascript·ffmpeg·音视频·safari·m3u8
开开心心就好3 天前
超市定时播音软件,免费版支持循环播放
智能手机·ffmpeg·ocr·word·vim·音视频·visual studio
企业数字化笔记3 天前
视频成片怎么稳定导出?编码选择、GPU/CPU降级与媒体交付验收
java·python·ffmpeg
企业数字化笔记3 天前
视觉智能体怎么选技术?目标检测、跟踪、分割、OpenCV和FFmpeg的职责划分
opencv·目标检测·ffmpeg
企业数字化笔记4 天前
视频字幕如何烧录到成片?硬字幕、软字幕、样式控制与播放验收
java·ffmpeg
AIGC小尼5 天前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧
物极必反10245 天前
QT使用FFMpeg编译安卓程序.md
qt·ffmpeg·安卓
胡家伟++5 天前
从一段经文到 5 分半水墨动画短片:全 AI 流水线完整实录(即梦 + TTS 克隆 + ffmpeg + 思维链重构)
人工智能·ffmpeg·aigc