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流中的应用(无须转码,更低的资源消耗)
JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加
JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加
JavaCV开发详解之26补充篇3:指定视频在某个时间截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定时间截图
JavaCV开发详解之26补充篇3:指定视频在某个时间截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定时间截图
JavaCV开发详解之26补充篇2:指定视频内某个帧进行截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定帧截图