ffmpeg 拉取多路摄像头并按照时间参数截图

本文介绍了如何使用FFMpeg工具从两路不同的RTSP视频流中同时拉取并保存为图片,以及如何对单个视频进行截图。命令中涉及的关键参数包括-ss用于指定开始时间,-t定义截取时长,-i指定输入源,-map用于选择流,-frames:v设置抽取帧数,-y覆盖已存在文件。此外,还展示了不同格式如jpg和png的输出选项。
摘要由CSDN通过智能技术生成

1、拉取2路摄像头并存成图片:

ffmpeg -r 1 -ss 00:00:05 -t 00:00:06   -i rtsp://admin:hisense2021@192.168.1.64:554/live0.264  -i rtsp://192.168.31.23/live_stream -map 0:v    image20.jpg -map 1:v   image21.jpg

ffmpeg -r 1 -ss 00:00:05 -t 00:00:06   -i rtsp://admin:hisense2021@192.168.1.64:554/live0.264  -i rtsp://192.168.31.23/live_stream -map 0:v -frames:v 1  -y  image20.jpg -map 1:v -frames:v 1 -y image21.jpg 

增加frames:v参数,-y参数,如果文件存在,则覆盖。

截取视频的第几秒。通过 -ss 参数指定

-ss 指定截取视频的第几秒

-t指定截取时长

-i指定 输入源

第一路和第二路分别用了不同的颜色标注

2、ffmpeg 单个截图命令jpg

ffmpeg -r 1  -ss 00:00:05  -t 00:00:06   -i rtsp://admin:hisense2021@192.168.1.64:554/live0.264  -an -vcodec mjpeg sample.jpg

ffmpeg -r 1 -ss 00:00:05 -t 00:00:06   -i rtsp://admin:hisense2021@192.168.1.64:554/live0.264 -an -vcodec mjpeg sample.png

ffmpeg -i input.mkv -ss 00:10:00 -f image2 output.jpg

ffmpeg -i RevolutionOS.rmvb sample.png -ss 00:00:05 -r 1 -vframes 1 -an -vcodec mjpeg

FFMpeg抽帧截图(抽取封面图) – ICHARM

### 使用 FFmpeg 处理多路摄像头视频流 对于多路摄像头视频流的处理FFmpeg 提供了灵活的方法来捕获、合并以及复用这些流。具体来说: 当涉及到多路视频流的合并或多路复用时,可以通过 `concat` 或者 `filter_complex` 来完成这一任务。如果各路视频具有相同的编码参数,则推荐使用更高效的 `concat` 方法[^1]。 #### 捕获多路摄像头输入 每一路摄像头可以视为独立的输入源,在命令行中分别定义它们。例如,假设两台设备位于不同的 URL 地址下,那么可以在命令里依次指明这两个地址作为输入。 ```bash ffmpeg -i "http://url_to_camera_1" -i "http://url_to_camera_2" ``` #### 合并多路视频流 为了将来自不同摄像机的画面水平拼接在一起形成单个输出画面,可采用如下方式利用 filter_complex 参数实现画中画效果或简单排列组合: ```bash ffmpeg -i camera1.mp4 -i camera2.mp4 \ -filter_complex "[0:v][1:v]hstack=inputs=2[out]" \ -map "[out]" output.mp4 ``` 这里 `[0:v]` 和 `[1:v]` 表示第一个和第二个输入文件中的视频轨道,而 `hstack=inputs=2` 则指示水平堆叠两个图像序列。最终结果保存至 `output.mp4` 文件内。 如果是垂直方向上的叠加,则只需替换为 vstack 即可: ```bash ffmpeg -i camera1.mp4 -i camera2.mp4 \ -filter_complex "[0:v][1:v]vstack=inputs=2[out]" \ -map "[out]" output.mp4 ``` 另外一种情况是想要创建一个多窗口布局显示所有相机视角的情况,这时需要用到复杂的滤镜表达式来进行四分割或其他形式的空间分配。 #### 实现同步录制与实时预览 考虑到实际应用场景可能需要同时观看及记录每一帧数据,还可以进一步扩展上述基础指令加入 `-f mpegts udp://@:port?pkt_size=1316` 类似选项用于网络传输目的的同时保持本地存储副本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值