通过ffmpeg实现视频流截图,第1张

最近忙于新产品技术点突破,针对架构摸索暂时停住。目前需要解决的问题是如何从视频流中截取一张图。

在安防领域有各种视频监控产品,它们遵循的通讯协议也不尽相同,归纳起来主要遵循GB/T 28181、ONVIF、PSIA等协议。

其通信协议如下所示

在CentOS7上安装ffmpeg

脚本正确调用,接下来就通过Java调用远程服务器上脚本实现视频流截图,在此借助 Ganymed SSH-2 for Java ,实现SSH远程执行脚本。

通过SSH远程执行脚本有点简单粗暴,何不将这截图功能做成服务,向外发布,更加灵活方便。故后期工作如下:

准备一台服务器,其主要职责有

1文件存储

2响应终端的抓图请求,并将保存到指定文件夹目录下

3响应终端的合图请求,以上两者做成服务的形式,终端通过分布式调用服务,完成操作并返回结果状态

4接收终端上传的

硬件需求:

1因服务器上安装ffmpeg工具,其需要对视频流进行解码,并按照png格式组织编码,对计算性能要求高,所以CPU性能要好

2作为文件存储服务器,存储容量要大

3接受多终端设备连接,网口带宽要大

因为要接收反馈结果,cmd命令可以这样写

当ffmpeg执行正确时,会输出succeeded,当ffmpeg不能正确执行时,会输出failed

新建目录文件夹,将截图文件放入指定文件夹中

一般是搭建FMS流媒体服务器。

传输的格式一般是 rtmp://wwwabccom/live/streamname

rtmp://wwwabccom/live/ 这是发布地址

streamname这是流名,流名自定义。

采集端一般叫编码器,或者是通过电脑端采集,需要采集终端软件。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 通过ffmpeg实现视频流截图

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情