
JavaCV开发详解(JavaCV 1.4.3版本)
文章平均质量分 94
请优先订阅合集,不建议单独购买本专栏。《JavaCV开发详解》是2016年发布的入门级教程,通过大量简单的实战案例,基于JavaCV1.4.3版本,包含FFmpeg设备采集、拉流、推流、编解码、转封装和滤镜等常用流媒体音视频处理场景下的经典开发案例,带领大家快速上手。建议订阅合集
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
eguid_1
专注于音视频流媒体、计算机视觉以及计算机图形技术的探索与实践(JavaCV教程、FFmpeg教程、openCV图像处理教程)
展开
-
JavaCV开发详解专栏文章目录(JavaCV速查手册)
JavaCV实战教程专栏目录为了便于查找,分为两个目录。第一个分类目录根据文章技术类型进行分类,第二个目录按照博主更新顺序排列。有些文章既是设备采集又实现了推流等功能,会在各个分类中重复出现。分类目录一、设备采集、拉流、推流和录制1、设备采集(包含摄像头、屏幕、麦克风)设备采集包含摄像头、屏幕、麦克风等硬件设备的采集。摄像头采集javacv开发详解之1:调用本机摄像头视频javaCV开发详解之10:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigr原创 2021-06-22 16:18:43 · 15869 阅读 · 34 评论 -
JavaCV开发详解之36:使用delogo滤镜实现去除和屏蔽视频水印
我们在前面几章已经实现了几种常见的字符叠加滤镜特效,本章带领大家来尝试一下视频叠加视频,也就是“画中画”的特效。原创 2022-08-01 00:00:48 · 2026 阅读 · 1 评论 -
JavaCV开发详解之26补充篇:视频连续截图并按日期格式生成图片文件名称,支持png,jpg,bmp等格式快速连续截图
javacv实战专栏目录:JavaCV实战专栏文章目录(JavaCV速查手册)前言如何使用javacv快速截图,并且连续不断的截图,之前博主因为需要连续截图,所以写过easycv,但是后来不在维护了,因为发现了有更简单的方式可以截图,那就是本章的基于image2的连续截图和覆盖截图。注意: 本章代码中的“连续截图”保存速度极快,连续截图速度可以达到与视频帧率相同。因此温馨提醒,测试时请不要过长时间运行代码,以避免大量图片占用硬盘。参考资料ffmpeg官方文档说明:https://ff.原创 2022-03-03 09:48:00 · 860 阅读 · 1 评论 -
JavaCV开发详解之27补充篇1:使用javacv把音视频切割成多个音频分片文件,以mp3为例,把视频切割成MP3分片文件
前言上一篇文章中:JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件,我们成功的把视频切割成一个个mp4视频切片文件,很多小伙伴们在群里又开始“磨刀霍霍”问博主,能不能录制音频切片呢?当然可以!是个爷们怎么能说不行?本章咱们就以MP3为例,将实时流媒体、视频文件、音频文件等录制切割保存为一个个顺序的mp3音频分片文件,本章代码可以适用于生成其他格式的音频.原创 2021-09-16 19:47:06 · 2189 阅读 · 3 评论 -
JavaCV开发详解之27补充篇2:摄像头画面录制成多个mp4视频分片文件,支持树莓派嵌入式、安卓、linux和windows等平台摄像头画面录制视频分片文件
javacv实战专栏目录:JavaCV实战专栏文章目录(JavaCV速查手册)前言在上一章中《JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件》,我们通过javacv拉取流媒体视频流的方式录制mp4切片文件。本章在上一章基础上增加摄像头录制mp4分片文件的能力。由于ffmpeg各个平台的摄像头调用方式不同,比如苹果需要调avfundation,windows平台是dshow等等,这章使用opencv作为摄像头采集库,兼容性会更.原创 2021-08-09 10:05:12 · 1216 阅读 · 0 评论 -
JavaCV开发详解之26补充篇3:指定视频在某个时间截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定时间截图
javacv实战专栏目录:JavaCV实战专栏文章目录(JavaCV速查手册)前言前面两章JavaCV开发详解之26补充篇1:简单视频截图,视频文件和rtsp/rtmp/flv/hls等直播流截取一张图片、JavaCV开发详解之26:使用javacv对视频进行连续截图和覆盖截图,支持png,jpg,bmp等格式快速连续截图,适用于视频快照、JavaCV开发详解之26补充篇2:指定视频内某个帧进行截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定帧截图中,我们已经实现了视频的.原创 2021-07-06 00:02:37 · 1240 阅读 · 4 评论 -
JavaCV开发详解之26补充篇2:指定视频内某个帧进行截图,支持视频文件和rtsp/rtmp/flv/hls等视频流指定帧截图
javacv实战专栏目录:JavaCV实战专栏文章目录(JavaCV速查手册)前言前面两章JavaCV开发详解之26补充篇1:简单视频截图,视频文件和rtsp/rtmp/flv/hls等直播流截取一张图片、JavaCV开发详解之26:使用javacv对视频进行连续截图和覆盖截图,支持png,jpg,bmp等格式快速连续截图,适用于视频快照中,我们已经实现了视频的单张截图、批量截图和重复不断的覆盖截图。本章将在此基础上实现指定对视频中某一帧视频进行截图。为了方便大家复用,博主依然提供Java.原创 2021-07-05 23:50:17 · 1113 阅读 · 1 评论 -
JavaCV开发详解之25:简单视频截图,视频文件和rtsp/rtmp/flv/hls等直播流截取一张图片
javacv实战专栏目录:JavaCV实战专栏文章目录(JavaCV速查手册)前言我们之前实现了连续截图和覆盖截图,由于单张截图比较简单,使用FrameRecorder录制器就可以很方便的实现,所以一直没写。截图除了可以利用FrameRecorder以外,还可以利用java2d的BufferdImage来实现。本章将会实现这两种方式的截图,需要用到的小伙伴们可以直接复用。参考资料ffmpeg官方文档说明:https://ffmpeg.org/ffmpeg-formats.html#ima.原创 2021-07-05 23:03:46 · 3306 阅读 · 7 评论 -
JavaCV开发详解之35:使用filter滤镜实现画中画,以屏幕画面叠加摄像头画面为例
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-05-13 01:46:35 · 1858 阅读 · 3 评论 -
JavaCV开发详解之34:使用filter滤镜实现字符滚动和无限循环滚动字符叠加,跑马灯特效制作
springmvc防xss脚本注入攻击,springmvc过滤html和js标签,html和js标签转义一、前言二、原理三、springmvc如何实现xss过滤3.1、xss转义包装器3.2 xss过滤器3.3 web.xml配置过滤器一、前言xss脚本注入攻击大家应该经常见了,不多说了,直接讲防xss脚本注入的原理吧。二、原理原理很简单,http后端通过过滤器过滤request接受的参数内容,把包含"<“和”>","&"、"/“和“””的字符进行转义即可。例如:普通注入脚原创 2021-05-13 01:33:29 · 1278 阅读 · 3 评论 -
JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-05-13 01:13:02 · 1090 阅读 · 1 评论 -
JavaCV开发详解之32:使用filter滤镜实现中文字符叠加
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-05-13 01:02:00 · 1550 阅读 · 2 评论 -
JavaCV开发详解之31:如何计算pts/dts时间戳,在视频转码和转复用中如何自行计算pts/dts时间戳
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-04-15 14:08:08 · 3081 阅读 · 5 评论 -
javacv开发详解之11补充篇:使用批量多张图片制作gif动态图,再也不用担心不会制作动态图了
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-03-02 23:04:00 · 1249 阅读 · 0 评论 -
javacv开发详解之19:如何使用批量的多张图片制作apng动态图,再也不用担心不会制作动态图了
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-03-02 22:48:53 · 1213 阅读 · 0 评论 -
JavaCV开发详解之29:使用javacv将多个视频拼接合成单个视频,多个音频拼接合成单个音频,以多个mp4视频合成一个mp4为例
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-02-05 15:23:08 · 6446 阅读 · 38 评论 -
JavaCV开发详解之30:使用javacv拉取rtsp视频流,rtsp解复用器详解。如何把rtsp调教的服服帖帖,让rtsp拉流不再丢包
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-02-02 13:35:43 · 7759 阅读 · 17 评论 -
JavaCV开发详解之28:如何使用javacv进行多图推流和多图合成视频文件,以批量jpg图片推流rtmp和jpg合成flv视频文件为例
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-01-06 22:58:03 · 3458 阅读 · 27 评论 -
JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件
之前写的文章,只涉及单个视频文件的录制,在23和24两章中我们涉及到了hls和dash的分片生成,那么是否可以生成其他格式的视频分片呢,答案当然是可以的。本章就以MP4为例,把流媒体、视频文件切割保存为一个个顺序的mp4分片文件,本章代码可以适用于生成其他格式的视频分片,例如avi、mkv等等视频格式。......原创 2021-01-05 23:08:27 · 7408 阅读 · 58 评论 -
JavaCV开发详解之26:使用javacv对视频进行连续截图和覆盖截图,支持png,jpg,bmp等格式快速连续截图,适用于rtsp/rtmp/flv/hls等流媒体和本地视频快照
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-01-05 22:26:02 · 3663 阅读 · 19 评论 -
JavaCV开发详解之24:使用javacv保存raw视频像素格式(yuv或者rgb),并使用ffplay播放raw
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-01-05 22:00:33 · 1744 阅读 · 2 评论 -
JavaCV开发详解之23:hls视频录制,m3u8切片录制和fmp4切片录制详解,以拉流rtmp录制hls切片为例
javacv系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务原创 2021-01-04 16:57:30 · 7687 阅读 · 32 评论 -
JavaCV开发详解之22:http-flv拉流和http-flv推流及rtmp拉流和rtmp推流实例和flv推流和flv录制,关于rtmp/flv支持h265补充说明
# 前言在前面的文章:[javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现](http://blog.csdn.net/eguid_1/article/details/52678775)中我们已经实现了推流,但是只是大体的讲,没有具体直播rtmp推流案例,因为我们最常见的直播平台推流方式都是rtmp推流,所以本章算是第二章的补充。本篇文章会简单阐述flv和live_flv格式说明,以及flv文件读取或http-flv拉流案例实现和http-flv推流和rtm原创 2021-01-02 14:00:41 · 6136 阅读 · 32 评论 -
javacv开发详解补充篇:如何将rgb/bgr像素数据优雅高效的转换为BufferedImage
# 前言javacv源码中的java2dFrameConverter像素转换效率太低,代码非常冗余,可阅读性极差,一点都不符合我们javaer程序员的优雅高贵的气质,那么我们如何高效、快速、优雅的进行转换?其实我在easycv中的截图模块就已经使用了这些“优雅”代码:[github.com/eguid/easycv](https://github.com/eguid/easycv)本篇文章适用于:1. opencv的mat像素数据转换为java的BufferedImage图像2. videoi原创 2020-10-23 14:25:00 · 2118 阅读 · 0 评论 -
JavaCV开发详解之21:如何使用JavaCV接入gb28181的ps流并推流到流媒体服务和接入海康大华sdk回调h264/hevc裸流
javaCV实战系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体原创 2020-10-20 13:46:28 · 8468 阅读 · 62 评论 -
javacv开发详解补充篇:解决转流后视频画面快进慢放,时间跳动过大,监控视频时间戳重新计算pts和dts
# 前言本篇文章主要用于javacv重新计算pts和dts时间戳。解决由于没有pts和dts时间戳或者pts和dts时间戳乱序等错误导致的画面跳动,慢放,快进等等问题。# 本问题适用案例1. 海康、大华等一些视频监控设备视频源 时间戳重置问题导致转流中断或转流后出现画面跳动,慢放,快进等问题。2. 海康、大华等一些视频监控sdk对接获得h264/h265裸流没有时间戳,需要自行计算pts和pts3. 其他转流情况导致的时间戳问题4. 用于视频特殊处理,使用pts和dts来对视频进行加速或慢放原创 2020-10-20 13:29:58 · 4801 阅读 · 20 评论 -
JavaCV开发详解之20:如何使用JavaCV制作ico图标,图片和视频生成ico图标,视频流录制ico图标
前言之前有讲如何把视频和视频流生成动态图片,本章则是根据图片和视频制作和生成ico图标。须知ico支持两种图片编码:PNG和BMP,这两种编码都是无损图像像素压缩编码。其中PNG编码支持RGBA像素格式,bmp编码支持格式:1bit pal84bit pal88bit pal816bit rgb555le24bit bgr2432bit bgra原创 2020-07-10 12:42:57 · 1717 阅读 · 1 评论 -
javaCV开发详解之9:windows下通过vfwcap抓取摄像头画面以及几种摄像头和屏幕画面采集实现截屏录屏比较
前言前面两篇已经介绍了windows平台下的dshow和gdigrab这两种方式获取摄像头以及屏幕画面采集,本章作为windows平台摄像头第三篇:基于vfwcap获取摄像头图像画面。gdi方式:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏、录屏功能)dshow方式:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigrab参考资料本章有且只参考了ffmpeg官方文档参考资料1:http://trac.ffmpeg.org原创 2020-07-09 17:27:35 · 2152 阅读 · 13 评论 -
javaCV开发详解之18:音视频转码(音频编解码和视频编解码)
前言在本章之前,我们已经分析了如何进行转流、转封装、像素格式转换以及音频的重采样,本章主要讲解和分析javaCV如何进行转码,其实很多小伙伴在转流章节中已经发现它已经在进行转码了,那么javaCV中的转码究竟是什么样的呢,本章就视频和音频转码进行剖析和讲解。补充:与装封装和像素格式转换不同的是,编解码比转封装更深入一层,但是并不改变像素格式,想要改变像素格式,需要经过编解码的,也即是说编解码是介于装封装和像素格式转换之间的操作。源码剖析本章主要分析FFmpegFrameGrabber和FFmp原创 2020-06-30 18:45:43 · 5827 阅读 · 22 评论 -
javaCV开发详解之17:GIF和APNG动态图片推流和录制成视频文件(以gif转mp4和apng转mp4为例)
前言上一章中,我们使用一张静态图片来实现一直推流和录制成视频文件,本篇使用gif或者apng动态图进行推流和录制视频文件。本章代码与上一章类似,只更改go()方法。功能实现1、使用FFmpegFrameGrabber读取一张动态图片(gif或者apng)2、使用FFmpegFrameRecorder录制视频文件实现代码新建一个类,设置三个变量:原创 2020-06-22 20:05:00 · 2464 阅读 · 3 评论 -
javaCV开发详解之16:使用一张图片推流和一张图片录制成视频文件
在此章之前,我们一直使用视频文件和摄像机、其他流地址进行推流或转流,但是没有讲如何把图片推成流或者录制成文件,本章就探讨如何将一张图片推流和录制成视频文件这个问题。原创 2020-06-22 20:04:30 · 4133 阅读 · 15 评论 -
javaCV开发详解之15:视频帧像素格式转换
javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流原创 2020-06-18 09:57:47 · 4889 阅读 · 8 评论 -
javaCV开发详解之14:音频重采样
javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流原创 2020-06-17 17:45:56 · 3814 阅读 · 14 评论 -
javaCV开发详解之13:简单使用FFmpeg-Filter过滤器处理音视频,添加特殊效果
一、前言前面主要涉及了如何采集各种视频源,如何转码,转封装,推流以及录制各种格式等操作,考虑到前面通过opencv实现图像水印也是可以的,本章将会使用javacv的过滤器实现视频图像的特殊处理,由于javacv的封装不支持复杂过滤器处理,比如典型的比如添加文字、图像和视频水印等涉及多音视频源输入和多音视频输出操作都是不支持的,因此本章只是简单使用。网上也有很多人把FFmpeg的Filter翻译为“滤镜”,但是本系列统一使用”过滤器“。二、实现功能本章主要简单演示javacv的过滤器如何使用1原创 2020-06-15 00:16:45 · 4872 阅读 · 25 评论 -
javaCV开发详解之12:视频文件转apng动态图片实现,视频生成apng,也支持摄像机、桌面屏幕、流媒体等视频源录制apng动态图
一、前言前面十章,我们已经可以获取摄像机、桌面/窗口屏幕、视频文件、流媒体等视频画面,以及录制文件,推流到流媒体服务等等方式,根据之前的文章也可以实现截图。上一章我们主要生成“gif”动态图片,本章主要针对图片的另一个png的扩展动态图片类型”apng“做特殊处理。非常重要:收回下面这句话,FFmpegFrameRecorder可以支持apng动态图片录制,不需要定制的FrameRecorder的代码请参考后面的优化后代码。由于javaCV的FrameRecorder实现不支持apng动态原创 2020-06-10 10:39:27 · 3191 阅读 · 2 评论 -
javaCV开发详解之11:视频文件转gif动态图片实现,也支持摄像机、桌面屏幕、流媒体等视频源转gif
一、前言前面十章,我们已经可以获取摄像机、桌面/窗口屏幕、视频文件、流媒体等视频画面,以及录制文件,推流到流媒体服务等等方式,根据之前的文章也可以实现截图,本章主要针对图片的特殊类型”gif“做特殊处理。关于gif格式gif最高支持256色,也就是最高可以用3通道8位RGB像素来生成和显示。本章使用的是四位RGB像素格式:AV_PIX_FMT_RGB4_BYTE,也可以使用8位色彩的RGB像素格式:AV_PIX_FMT_RGB8。非常重要:收回下面这句话,JavaCV的FFmpegFra原创 2020-06-09 18:25:30 · 3219 阅读 · 13 评论 -
javaCV开发详解之补充篇:根据视频时间戳同步播放图像画面以及视频倍速播放实现
javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流原创 2020-05-10 01:19:26 · 3745 阅读 · 1 评论 -
流媒体直播实时视频延迟时间排查和剖析:gop关键帧间隔导致延迟,流媒体和播放器缓存,B帧等导致的延迟
流媒体直播实时视频延迟时间剖析前言我们在搭建直播平台等流媒体服务平台的时候总会遇到延迟的问题,很多人表示束手无策,不知从何下手去优化延迟。本章就从流媒体平台整体到协议细节来剖析和解决直播实时视频的延迟问题。1、播放器延迟(1)默认缓存延迟目前已知VLC、videojs等播放器包含不定的缓存解决办法:(1)VLC可以在配置中设置低延迟(2)videojs暂时无法自定义设...原创 2020-05-07 10:27:41 · 4745 阅读 · 3 评论 -
javaCV开发详解之10:基于dshow调用windows摄像头图像视频和麦克风音频
javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作...原创 2020-04-28 17:18:04 · 3286 阅读 · 3 评论 -
javaCV开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗)
javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作...原创 2018-10-12 14:19:43 · 23854 阅读 · 133 评论