前言

一个老生常谈的问题,JavaCV可以做什么?

  1. 首先是音视频处理,编解码,装封装,只要ffmpeg可以的javacv就可以
  2. 再者是图像处理和图像识别,可以借助opencv图像检测识别和tessert字符识别,他们也没有什么不同,只是javacv通过jni让它们跨平台了而已,简化了opencv和tessert环境配置,更加容易上手。
  3. 矩阵计算,深度学习(deeplearning)等方面的也不在话下

JavaCV完整教程

从入门到实战再到进阶底层ffmpeg、opencv和tesserac等库。为了便于不同基础的开发者掌握JavaCV,比如有些开发者有opencv或者ffmpeg的使用基础,很多基础内容可以跳过,博主将整个JavaCV分成五个JavaCV专栏用于阐述JavaCV基础知识、JavaCV实战教程以及ffmpeg、opencv和tesserac,方便开发者分别订阅自己所需要的专栏。当然了,大部分Java开发者对于音视频和图像处理、识别这块完全是零基础入门,所以,博主也推出了JavaCV五合一专栏,便于零基础的开发者们更快的入门。
所有内容和扩展补充知识:

  • 《JavaCV五合一教程合辑》

  • 《JavaCV入门教程》
  • 《JavaCV实战教程》
  • 《JavaCV进阶FFmpeg音视频》
  • 《JavaCV进阶opencv图像处理》
  • 《JavaCV进阶tesserac字符识别》

国产化适配(龙芯架构)补充文章:
如何在龙芯架构和国产化操作系统平台上运行javacv

各个专栏内容概述

JavaCV入门教程

《JavaCV入门教程》详细介绍了音视频流媒体、图像处理识别等技术的前置知识,JavaCV的基础结构明细以及JavaCV各个结构的说明和用法。通过配合JavaCV实战教程中的实例带领大家全面理解JavaCV。

JavaCV实战教程

《JavaCV实战教程》相比于《JavaCV入门教程》的理论知识讲解,更注重以翔实的实际案例,带领大家一步一步领略JavaCV强大的设备音视频采集(摄像头、麦克风、桌面屏幕)、音视频处理、拉流/推流、视频录制、hls切片、mp4切片、截图、icon图标制作、编解码、视频滤镜特效、GPU硬件加速等实战技术使用。

不仅如此,使用JavaCV可以快速通过sdk接入网络摄像头视频(海康、大华等宇视摄像机)并推流到我们指定的流媒体服务或者,或者也可以利用JavaCV实现自己的流媒体服务(例如:EasyMedia)实现websocket-flv,http-flv,hls等协议的实时视频/录像回放视频转发。

除此以外,利用JavaCV视频滤镜也可以快速实现各种字符叠加,图片叠加,画中画、多视频合流等特效。

JavaCV涉及非常丰富的实战案例内容,更多内容不详细介绍,敬请查看 《JavaCV实战教程》,领略全面的流媒体音视频开发技术。

JavaCV进阶FFmpeg音视频

《JavaCV进阶FFmpeg音视频》相比于使用JavaCV封装好的类库,相当于直接调用ffmpeg的api,相当于提供了ffmpeg的java版本api,比JavaCV封装库更加自由,适合想要深入了解ffmpeg音视频开发技术的开发者,以及觉得JavaCV不太能满足自己的需要,想要自己定制开发更加复杂和可控的音视频技术,它更加贴近底层,需要开发者具有全面的ffmpeg基础知识才能上手。

JavaCV进阶opencv图像处理

《JavaCV进阶opencv图像处理》专栏提供了JavaCV方式调用opencv底层库的方法。
主要讲解了基于opencv技术的javacv图像处理、人脸检测、人脸训练、人脸识别、二维码检测、识别等实际案例,带领大家快速上手javaCV图像处理/识别技术。

注意:因为opencv本身也提供java的api,所以要注意它跟javacv的api是不相通的。如果使用javacv中的其他类库,则必须配合使用JavaCV方式的opencv。

JavaCV进阶tesserac字符识别

《JavaCV进阶tesserac字符识别》详细讲解了JavaCV使用google的tesserac实现检测摄像头或者视频中字符并实现字符识别。

JavaCV五合一教程合辑

《JavaCV五合一教程合辑》包含上述五个专栏全部内容,相比全部单独订阅JavaCV五个单独的专栏价格更加优惠。

JavaCV所有专栏目录一览

JavaCV入门教程目录

JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到《快速上手篇》)
JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作
JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作
JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用
JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用
JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用
JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(完结篇)

《快速上手篇》(为了区别,单独划分):
JavaCV入门指南之快速上手篇:快速上手视频拉流、推流、录制文件、录屏、截图和编解码复用解复用等常用音视频处理操作

javaCV实战教程目录

javacv开发详解之1:调用本机摄像头视频
javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)
javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)
javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
javaCV开发详解之5:录制音频(录制麦克风)到本地文件/流媒体服务器(基于javax.sound、javaCV-FFMPEG)
javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
javaCV开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗,更好的性能,更低延迟)
javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏、录屏功能)

javaCV开发详解之9补充篇1:基于avfoundation的苹果Mac和ios获取屏幕画面及录屏/截屏以及摄像头画面和音频采样获取实现
javaCV开发详解之9补充篇2:基于x11grab的linux屏幕画面抓取/采集(linux录屏功能)
java原生实现屏幕设备遍历和屏幕采集(捕获)功能

javaCV开发详解之10:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigrab
javaCV开发详解之11:视频文件转gif动态图片实现,也支持摄像机、桌面屏幕、流媒体等视频源转gif

javaCV开发详解之11补充篇1:屏幕录制gif动态图,使用windows桌面屏幕画面录制成gif动态图片,支持桌面任意取域生成gif,可扩展支持MacOS/安卓/linux等平台,可扩展支持apng动态图片
javacv开发详解之11补充篇2:使用批量多张图片制作gif动态图

javaCV开发详解之12:视频转apng动态图片实现,支持透明通道,支持摄像机、桌面屏幕、流媒体等视频源转apng动态图

javacv开发详解之12补充篇:使用批量多张图片制作apng动态图

javaCV开发详解之13:使用FFmpeg Filter过滤器处理音视频
javaCV开发详解之14:音频重采样
javaCV开发详解之15:视频帧像素格式转换
javaCV开发详解之16:使用一张图片推流和一张图片录制成视频文件
javaCV开发详解之17:GIF和APNG动态图片推流和录制成视频文件(以gif转mp4为例)
javaCV开发详解之18:音视频转码(音频编解码和视频编解码)
JavaCV开发详解之19:如何开启GPU硬件加速,使用JavaCV进行音视频的硬解码和硬编码
JavaCV开发详解之20:如何使用JavaCV制作ico图标,图片和视频生成ico图标,视频流录制ico图标
JavaCV开发详解之21:如何使用JavaCV接入gb28181的ps流并推流到流媒体服务和接入海康大华sdk回调h264/hevc裸流

JavaCV开发详解之21补充篇1:使用javacv读取大华摄像头sdk回调视频裸流并解析

JavaCV开发详解之22:flv,live_flv格式说明,http-flv拉流和http-flv推流及rtmp拉流和rtmp推流全面分析和开发实战
JavaCV开发详解之23:hls视频录制,m3u8切片录制和fmp4切片录制详解,以拉流rtmp录制hls切片为例

javacv开发详解之23补充篇1:hls切片录制,rtsp拉流录制生成hls切片,m3u8清单/ts切片录制详解,解决hls_time无效问题
javacv开发详解之23补充篇2:hls切片转封装录制,无需转码进行ts切片,m3u8清单/ts切片录制
JavaCV开发详解之23补充篇3:hls切片录制,自动根据日期时间格式生成切片ts文件和目录

JavaCV开发详解之24:使用javacv录制dash视频分片,mpeg-dash视频录制和制作
JavaCV开发详解之25:使用javacv保存raw视频像素格式(yuv或者rgb),并使用ffplay播放raw
JavaCV开发详解之26:使用javacv对视频进行连续截图和覆盖截图,支持png,jpg,bmp等格式快速连续截图,适用于视频快照
JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件
JavaCV开发详解之28:如何使用javacv进行多图推流和多图合成视频文件,以批量jpg图片推流rtmp和jpg合成flv视频文件为例
JavaCV开发详解之29:使用javacv将多个视频拼接合成单个视频,多个音频拼接合成单个音频

JavaCV开发详解之27补充篇1:使用javacv把音视频切割成多个音频分片文件,以mp3为例,把视频切割成MP3分片文件

JavaCV开发详解之30:如何使用javacv拉取rtsp视频流,rtsp解复用器详解。如何把rtsp调教的服服帖帖,让rtsp拉流不再丢包
JavaCV开发详解之31:如何计算pts/dts时间戳,在视频转码和转复用中如何自行计算pts/dts时间戳

javacv开发详解补充篇:解决转流后视频画面快进慢放,时间跳动过大,监控视频时间戳重新计算pts和dts

JavaCV开发详解之32:使用filter滤镜实现中文字符叠加
JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加
JavaCV开发详解之34:使用filter滤镜实现无限循环滚动字符叠加,跑马灯特效
JavaCV开发详解之35:使用filter滤镜实现画中画,以屏幕画面叠加摄像头画面为例

JavaCV实战教程补充内容目录

音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)
音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
流媒体直播实时视频延迟时间排查和剖析
JavaCV精简依赖包:如何只依赖本地平台所需的最小依赖包

javacv进阶ffmpeg系列目录

javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片
javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转换为YUV、BGR24或RGB24等图像像素数据
javacpp-FFmpeg系列之3: 图像数据转换(BGR与BufferdImage互转,RGB与BufferdImage互转)
javacpp-FFmpeg系列补充:FFmpeg解决avformat_find_stream_info检索时间过长问题

javacv进阶opencv系列目录

javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作
javaCV图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制
javacv图像处理3:使用opencv原生方法遍历摄像头设备及调用(方便多摄像头遍历及调用,相比javacv更快的摄像头读取速度和效率,方便读取后的图像处理)
javacv图像处理系列:国内车辆牌照检测识别系统(万份测试准确率99.7%以上)

javacv人脸检测识别目录

opencv人脸检测识别:

JavaCV进阶opencv图像检测识别:摄像头画面人脸检测
JavaCV进阶opencv图像检测识别:ffmpeg视频图像画面人脸检测
JavaCV进阶opencv图像处理:批量人脸图像分类训练
JavaCV进阶opencv图像处理:摄像头图像人脸识别

二维码识别目录

二维码识别 JavaCV进阶opencv图像处理:扫描并识别摄像头中的二维码
JavaCV进阶opencv图像处理:10行代码快速实现扫描识别图片中的二维码
JavaCV进阶opencv图像处理:扫描并识别视频中的二维码

javacv进阶tesserac文字识别系列目录

javaCV文字识别之1:基于google的tesserac ocr识别图片中的文字,跨平台支持英文中文简体繁体等各种字符识别

javaCV文字识别之2:视频文字识别和视频提取字幕文字字符

音视频处理、图像处理、图像识别和字符识别全能库JavaCV完整教程(包含完整JavaCV入门、JavaCV实战、ffmpeg、opencv和tesserac教程)相关推荐

  1. C++音视频开发从放弃到入门(基于FFmpeg+OpenCV)

    前言 音视频开发一定要学C++吗?答案是肯定的.虽然其它语言也能搞音视频开发,甚至使用起来更简单,但"语言越高级,离真相就越远",当你的功能需求日益增多,程序的性能需求越来越迫切, ...

  2. 安卓音视频入门难,老司机分享音视频开发学习技巧与痛点

    最近在写文章的时候,发现很多读者给我私信提问,想了解安卓音视频这块, 很多同学也对音视频开发有点浓厚的兴趣,但奈何没有系统的学习知识,仅靠自己苦苦钻研确实力不从心,今天就借这个机会分享一下我学习音视频 ...

  3. 从事音视频开发,需要学习哪些知识点?

    总体来讲,音视频开发是有一定的技术门槛的,我觉得至少需要在这个领域踏踏实实积累个3-5年,才能对音视频相关的开发知识有一个整体.深刻的理解. 从技术上来讲,需要从如下两个大类知识点上去积累: C/C+ ...

  4. (强烈推荐)移动端音视频从零到上手(转载)

    移动端音视频从零到上手 原文链接 概述 随着整个互联网的崛起,数据传递的形式也在不断升级变化,总的流行趋势如下: 纯文本的短信,QQ -> 空间,微博,朋友圈的图片文字结合 -> 微信语音 ...

  5. 移动端音视频从零到上手

    黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Linux编程点击右侧关注,免费入门到精通! 作者 | 小东邪,TVU Networks音视频开发  https: ...

  6. 移动端音视频从零到上手(推荐)

    概述 随着整个互联网的崛起,数据传递的形式也在不断升级变化,总的流行趋势如下: 纯文本的短信,QQ -> 空间,微博,朋友圈的图片文字结合 -> 微信语音 -> 各大直播软件 -&g ...

  7. 做音视频开发要掌握哪些知识?

    最近有读者留言,说"想转行音视频开发,怎么做",正巧,前几天我还在某乎上,看到有人在问音视频的学习资料,还是个大一的学生. 想说一句:真有眼光. 如今这个时代,想赚钱,一个共识是, ...

  8. (强烈推荐)移动端音视频从零到上手

    概述 随着整个互联网的崛起,数据传递的形式也在不断升级变化,总的流行趋势如下: 纯文本的短信,QQ -> 空间,微博,朋友圈的图片文字结合 -> 微信语音 -> 各大直播软件 -&g ...

  9. FFmpeg 音视频开发 20 年

    感谢小编邀请,让我写下 FFmpeg 20 年这么有历史厚重的话题. 写文章其实比录视频教程要求高很多,要字斟句酌,逻辑严密,理论知识严谨.由于个人文笔实在有限,长期以来,不敢随便写文章,更不敢出书, ...

  10. 如何快速学习音视频开发?

    总体来讲,音视频开发是有一定的技术门槛的,我觉得至少需要在这个领域踏踏实实积累个3-5年,才能对音视频相关的开发知识有一个整体.深刻的理解. 从技术上来讲,需要从如下两个大类知识点上去积累: C/C+ ...

最新文章

  1. MIT自动驾驶船下水!可乘坐5人,阿姆斯特丹运河航行3小时误差不到0.17米
  2. Eclipse开发struts完全指南
  3. HTML怎么把文字分栏_PPT文字巨多!领导还不让删,怎么排版才高大上?
  4. 自由自在休闲食品实现奶茶妹的创业梦
  5. 从“学徒”(Apprentice III)看领导力(9-17集)
  6. Go Timer使用方法
  7. python的read函数_Python Pandas pandas.read_sql函数方法的使用
  8. 深度行情模块添加【火币交易助手开发日记】
  9. 频发:故障排除之又见 ORA-4031丨云和恩墨技术通讯
  10. iPhone用户注意!苹果:手机丢失这么做 官方售后拒绝维修
  11. 单通道图像保存_3D图像展示篇结构更清晰
  12. 电子计算机及其部件,2021年电子计算机及其部件行业营销部门表格模板汇总.docx...
  13. Python 竟然也可以写网页前端了!
  14. 如何安装最新版质性分析软件NVIVO?
  15. (2017.03.12更新)CnCrypt文件保险箱1.19,兼容TrueCrypt加密卷
  16. 计算机教师培训感悟反思,省计算机培训感言
  17. ElasticSearch、ki、head、kibana安装与基本使用
  18. Html HBuilder封装APP
  19. 屏幕录制组件(vue) recordrtc
  20. 消息队列:SpringBoot集成RocketMQ的那些坑(真实有效、附源码)

热门文章

  1. 知识词典 »网站地图
  2. Scrapy爬取起点小说网数据导入MongoDB数据库
  3. Openfire服务器配置(Windows)
  4. Python 正则表达式大全,值得收藏
  5. 二维码 PDF417
  6. pdf417条码解码(下)——译码
  7. 易升更新完其他用户登录到这台计算机,windows10系统中总是弹出安全登录窗口的解决方法...
  8. vivo应用商店服务器,vivo应用商店
  9. 华罗庚杯成绩查询2021高考成绩,第22届华杯赛入围决赛分数线已定,明天起可查询成绩...
  10. vivo nex免Root使用空调狗