1.javaCV入门指南:序章2.JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用3.JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用4.javaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作?5.JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作?6.JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇)7.JavaCV入门指南之快速上手篇:快速上手视频拉流、推流、录制文件、录屏、截图和编解码复用解复用等常用音视频处理操作8.javacv开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)9.javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)10.javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)11.javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)12.javaCV开发详解之5:录制音频(录制麦克风)到本地文件/流媒体服务器(基于javax.sound、javaCV-FFMPEG)13.javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)14.javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)15.javaCV开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗)16.javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏、录屏功能)17.javaCV开发详解之10:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigrab18.javaCV开发详解之11:视频文件转gif动态图片实现,也支持摄像机、桌面屏幕、流媒体等视频源转gif19.javaCV开发详解之12:视频转apng动态图片实现,支持透明通道,也支持摄像机、桌面屏幕、流媒体等视频源转apng动态图20.javaCV开发详解之13:简单使用FFmpeg-Filter过滤器处理音视频,添加特殊效果21.javaCV开发详解之14:音频重采样22.javaCV开发详解之15:视频帧像素格式转换23.javaCV开发详解之16:使用一张图片推流和一张图片录制成视频文件24.javaCV开发详解之17:GIF和APNG动态图片推流和录制成视频文件(以gif转mp4和apng转mp4为例)25.javaCV开发详解之18:音视频转码(音频编解码和视频编解码)26.JavaCV开发详解之19:如何开启GPU硬件加速,使用JavaCV进行音视频的硬解码和硬编码(支持intel、amd和nvidia)27.JavaCV开发详解之20:如何使用JavaCV制作ico图标,图片和视频生成ico图标,视频流录制ico图标28.JavaCV开发详解之21:如何使用JavaCV接入gb28181的ps流并推流到流媒体服务和接入海康大华sdk回调h264/hevc裸流29.JavaCV开发详解之22:http-flv拉流和http-flv推流及rtmp拉流和rtmp推流实例和flv推流和flv录制,关于rtmp/flv支持h265补充说明30.JavaCV开发详解之23:hls视频录制,m3u8切片录制和fmp4切片录制详解31.JavaCV开发详解之24:使用javacv录制dash视频分片,mpeg-dash视频录制,mpd视频录制32.JavaCV开发详解之25:使用javacv保存raw视频像素格式(yuv或者rgb),并使用ffplay播放raw33.JavaCV开发详解之26:使用javacv对视频进行连续截图和覆盖截图,支持png,jpg,bmp等格式快速连续截图,适用于rtsp/rtmp/flv/hls等流媒体和本地视频快照34.JavaCV开发详解之26补充篇:视频连续截图并按日期格式生成图片文件名称,支持png,jpg,bmp等格式快速连续截图35.JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件36.JavaCV开发详解之28:如何使用javacv进行多图推流和多图合成视频文件,以批量jpg图片推流rtmp和jpg合成flv视频文件为例37.JavaCV开发详解之29:使用javacv将多个视频拼接合成单个视频,多个音频拼接合成单个音频,以多个mp4视频合成一个mp4为例38.JavaCV开发详解之30:使用javacv拉取rtsp视频流,rtsp解复用器详解。如何把rtsp调教的服服帖帖,让rtsp拉流不再丢包39.JavaCV开发详解之31:如何计算pts/dts时间戳,在视频转码和转复用中如何自行计算pts/dts时间戳40.JavaCV开发详解之32:使用filter滤镜实现中文字符叠加41.JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加42.JavaCV开发详解之34:使用filter滤镜实现字符滚动和无限循环滚动字符叠加,跑马灯特效制作43.JavaCV开发详解之36:使用delogo滤镜实现去除和屏蔽视频水印44.JavaCV开发详解之35:使用filter滤镜实现画中画,以屏幕画面叠加摄像头画面为例45.javaCV开发详解之GIF动态图片录制补充篇:windows桌面屏幕画面录制成gif动态图片,支持桌面屏幕任意区域生成gif,可扩展支持MacOS/安卓/linux等平台,可扩展支持apng动态图片46.如何在龙芯架构和国产化操作系统平台上运行javacv47.聊聊视频中的编解码器,你所不知道的h264、h265、vp8、vp9和av1编解码库48.JavaCV音视频开发宝典:vb8和vp9编码的webm格式视频文件转成mp4文件49.JavaCV升级1.5.6之后遇到h265/hevc编码的视频无法打开编解码器avcodec_open2() error -1:Could not open video codec异常解决办法50.JavaCV更新到1.5.x版本后的依赖问题说明以及如何精简依赖包大小51.JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频52.JavaCV音视频开发宝典:无需流媒体服务也无需转码(低资源消耗),使用JavaCV和springBoot实现http-flv转封装直播服务,浏览器网页flv.js直接播放rtp、rtsp、rtmp实时视频53.JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面54.javacv开发详解补充篇:如何将rgb/bgr像素数据优雅高效的转换为BufferedImage55.javaCV开发详解之技术杂烩:javaCV能帮我们做什么?能实现什么功能?ffmpeg和openCV能实现功能,javaCV如何做到更快、更简单的实现相应的功能?等等一堆实用话题56.JavaCV音视频开发宝典:录制vp8和vp9编码的webm格式视频,以mp4转webm为例57.音视频处理、图像处理、图像识别和字符识别全能库JavaCV完整教程(包含完整JavaCV入门、JavaCV实战、ffmpeg、opencv和tesserac教程)58.JavaCV音视频开发宝典:使用JavaCV实现webm直播服务,无需流媒体服务,无需mse转封装插件(flv.js,hls.js),浏览器原生video标签直接播放rtsp,rtmp和桌面投屏直播59.JavaCV音视频开发宝典:实现Base64编码图片转换成图片文件通用转换器,以base64转png图片文件为例,其他图片格式也全部支持60.JavaCV音视频开发宝典:JavaCV读取Base64编码图片并解析预览图片61.JavaCV音视频开发宝典:使用JavaCV采集windows桌面屏幕画面并录屏mp4视频文件(FFmpeg基于dshow方式采集windows系统桌面画面)62.JavaCV音视频开发宝典:使用JavaCV采集windows系统声音并录制成mp3音频文件(FFmpeg采集windows系统声音)63.JavaCV音视频开发宝典:视频转码和转封装有什么区别?使用rtsp拉流转推到rtmp案例来讲一下转码和转封装实现的区别64.JavaCV的gpl v2许可协议排雷,写在TikTok违反GPLv2许可使用OBS源码的当下65.JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并转码推流rtmp流媒体服务66.JavaCV音视频开发宝典:rtsp拉流转码方式转推到rtmp67.javacv开发详解补充篇:解决转流后视频画面快进慢放,时间跳动过大,监控视频时间戳重新计算pts和dts68.JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像69.JavaCV进阶opencv图像检测识别:ffmpeg视频图像画面人脸检测70.JavaCV进阶opencv图像检测识别:摄像头图像人脸检测71.javaCV文字识别之2:视频文字识别和视频提取字幕文字字符72.javaCV文字识别之1:基于google的tesserac ocr识别图片中的文字,跨平台支持英文中文简体繁体等各种字符识别73.javaCV开发详解之补充篇:根据视频时间戳同步播放图像画面以及视频倍速播放实现74.javaCV开发详解补充篇:基于avfoundation的苹果Mac和ios获取屏幕画面及录屏/截屏以及摄像头画面和音频采样获取实现75.javacpp-FFmpeg系列补充:FFmpeg拉流截图实现在线演示demo(视频截图并返回base64图像,支持jpg/png/gif/bmp等多种格式)76.javacpp-FFmpeg系列之3: 像素图像数据转换(BGR与BufferdImage互转,RGB与BufferdImage互转,BufferdImage转Base64编码)77.javacpp-FFmpeg系列补充:FFmpeg解决avformat_find_stream_info检索时间过长问题78.javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转换为YUV、BGR24或RGB24等图像像素数据79.javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片80.javacpp-opencv图像处理系列:国内车辆牌照检测识别系统(万份测试车牌识别准确率99.7%以上,单次平均耗时39ms)81.javacpp-opencv图像处理3:使用opencv原生方法遍历摄像头设备及调用(增加实时帧率计算方法)82.javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印83.javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作84.javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)85.java音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例86.音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)87.JavaCV实战专栏文章目录(JavaCV速查手册)88.JavaCV复杂滤镜filter特效处理入门教程和常用案例汇总89.javacv教程文档手册开发指南汇总篇
90.javacv实现实时视频截图和录像服务easyCV91.JavaCV入门指南教程目录
本章作为javacv技术栈系列文章汇总
前言
写了不少关于javacv的文章,不敢说精通 ,只能说对javacv很熟悉。虽然偶尔也提交pull request做做贡献,但是javacv包含的库实在太多了。有些库也不太可能每个应用场景都会用到,所以平时主要还是以ffmpeg音视频处理为主,顺带着写一点opencv图像处理,图像检测识别和tessert文字识别等等。
javacv是什么?javacv技术栈能做什么?
一个老生常谈的问题,相信大家各种搜索引擎搜一下应该知道它能做了什么了。
首先是音视频处理,编解码,装封装,只要ffmpeg可以的javacv就可以,他们没有什么不同。
再者是图像处理和图像识别,可以借助opencv图像检测识别和tessert字符识别,他们也没有什么不同,只是javacv通过jni让它们跨平台了而已,不需要自己再去封装了。
剩下的包含矩阵计算,深度学习等方面的内容,了解不多,不多赘述。
javacv技术栈的应用场景
很多人好奇,现在javacv常被用在哪些应用场景下?
javacv跨平台,不仅可以在windows,linux,macos等服务器或者客户都安机器上工作,在各种嵌入式板子上也不在话下。
嵌入式领域:
很多人把javacv用在树莓派等等的一些基于arm芯片的板子上,外挂摄像头或者音频设备就可以实现音视频上传,图像处理,图像识别等等操作。
流媒体:
利用javacv的流媒体优势,可以轻松实现音视频采集,推流,编解码,装封装等等操作。
深度学习:
deeplearn4j为主的利用java大数据能力进行深度学习,这方面了解不多,但是它确实挺出名的。
人脸检测识别:
网上搜到javacv最多的文章就是关于人脸检测识别的了,javacv官网的首页demo就是人脸检测的例子,opencv能做到的它都可以。
文字识别:
利用Tesseract-OCR可以轻松实现字符库训练,字符识别。还可以借助javacv特有的流媒体属性和嵌入式开发特性实现摄像头的字符识别,视频图像的字符识别等场景。
JavaCV入门指南系列
javaCV实战系列
JavaCV及音视频相关补充篇
javacv进阶tesserac文字识别系列
javacv进阶ffmpeg系列
javacv进阶opencv系列
javacv人脸检测识别
持续更新
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2016-08-25 nodeJS实战:自定义模块与引入,不同模块的函数传递及回调处理,exports与module.exports(基于nodejs6.2.0)