javaCV开发详解之12:视频文件转apng动态图片实现,视频生成apng,也支持摄像机桌面屏幕流媒体等视频源录制apng动态图

Posted eguid_1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaCV开发详解之12:视频文件转apng动态图片实现,视频生成apng,也支持摄像机桌面屏幕流媒体等视频源录制apng动态图相关的知识,希望对你有一定的参考价值。

javacv实战专栏目录:

JavaCV实战专栏文章目录(JavaCV速查手册)


 

前言

前面十章,我们已经可以获取摄像机、桌面/窗口屏幕、视频文件、流媒体等视频画面,以及录制文件,推流到流媒体服务等等方式,根据之前的文章也可以实现截图。

上一章我们主要生成“gif”动态图片,本章主要针对图片的另一个png的扩展动态图片类型”apng“做特殊处理。

非常重要:

收回下面这句话,FFmpegFrameRecorder可以支持apng动态图片录制,不需要定制的FrameRecorder的代码请参考后面的优化后代码

由于javaCV的FrameRecorder实现不支持apng动态图片录制,所以我们对FFmpegFrameRecorder进行扩展实现出支持apng的录制器。本章的ApngFrameRecorder是在上一章GifFrameRecorder实现代码的基础上进行扩展实行,参考上一章文章最后。

扩展两个部分:

1、设置apng格式

在上一章327行,if (imageWidth > 0 && imageHeight > 0) 后面添加一个apng格式设置

else if("apng".equals(format_name))
                 oformat.video_codec(AV_CODEC_ID_APNG);
 

2、设置像素格式

以上是关于javaCV开发详解之12:视频文件转apng动态图片实现,视频生成apng,也支持摄像机桌面屏幕流媒体等视频源录制apng动态图的主要内容,如果未能解决你的问题,请参考以下文章

javaCV开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗)

db2look详解

JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加

JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加

JavaCV开发详解之26补充篇3:指定视频在某个时间截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定时间截图

JavaCV开发详解之26补充篇3:指定视频在某个时间截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定时间截图