《JavaCV音视频实战宝典》专栏介绍和目录

《JavaCV音视频实战宝典》是2022年最新推出专注于音视频开发的高级实战宝典教程系列,更加偏重综合类流媒体音视频应用,技术不在局限于JavaCV,可能会包含结合Java中较为经典的springboot,netty等综合性的技术内容来实现流媒体音视频直播服务和电台服务等应用场景。

注意:《JavaCV音视频实战宝典》不适合入门读者,需要一定的背景知识才可以上手。
为了方便大家自行判断,故设置最低阅读要求:需要3年以上Java技术背景和1年以上流媒体/音视频技术基础。

通过2022年最新的《JavaCV音视频实战宝典》系列教程,小伙伴们可以轻松上手音视频项目开发,除了可以实现自己的直播平台、监控安防平台之外,还可以接入gb28181和海康大华等各种设备、各种嵌入式和流媒体服务都不再话下。
除此以外,针对在线教育和直播行业,还可以使用JavaCV制作自己的推流器,不需要根据OBS定制就可以实现自己的推流直播机了,由于JavaCV默认不再包含gpl v2许可协议的代码库,因此也不用担心违反许可协议的风险。
再者,对于各种开发板和树莓派等嵌入式的开发者,也可以轻松通过JavaCV实现“电子门禁”的人脸识别开门、上传实时视频和录像等重要功能。
对于服务端开发者来说,可以自行实现自己的流媒体转发服务或者统一码流转码接入分发服务。比如easymedia就通过JavaCV实现了自己可控的流媒体服务,不再需要依赖第三方的流媒体服务(比如取代fms、nginx-rtmp、srs、zlmeidakit等等流媒体服务)。
对于安卓或者pc客户端开发者来说,可以轻松开发出推流软件和视频剪辑软件,得益于完整的ffmpeg和opencv底层能力,可以轻松实现GPU硬件加速的图像处理识别、GPU硬件视频转码等能力和底层桌面画面录屏、摄像头采集和各种麦克风设备声音采集。


《JavaCV音视频开发宝典》专栏目录

JavaCV音视频开发宝典:视频转码和转封装有什么区别?使用rtsp拉流转推到rtmp案例来讲一下转码和转封装实现的区别

综合应用

简单实现音视频流媒体服务。比如webm、http-flv和websocket-flv直播服务。

http-flv和websocket-flv视频直播

1.1、 JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面
1.2、JavaCV音视频开发宝典:无需流媒体服务也无需转码,使用JavaCV和springBoot实现http-flv转封装直播服务,浏览器网页flv.js直接播放rtp、rtsp、rtmp实时视频
2、JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频

webm视频直播

3、 JavaCV音视频开发宝典:使用JavaCV实现webm直播服务,无需流媒体服务,无需mse转封装插件(flv.js,hls.js),浏览器原生video标签直接播放rtsp,rtmp和桌面投屏直播

简单实现音频流媒体服务。比如模仿喜.马.拉.雅FM电台直播的mp3和wav音频直播服务。

mp3和wav的音频直播

1、 JavaCV音视频开发宝典:JavaCV实现mp3音频直播FM在线电台服务,无需流媒体服务,浏览器原生audio标签直接播放mp3,支持rtsp/rtmp/flv/hls/本地音视频源直接转码到mp3
2、JavaCV音视频开发宝典:基于JavaCV实现wav音频直播服务,wav在线FM电台直播服务,无需流媒体服务,浏览器原生audio标签直接播放wav直播音频

音视频源采集、拉流和直播推流、录制

概览
包含音视频文件rtprtsprtmpflvhlsgb28181/海康/大华/宇视/科达等摄像机设备接入、以及PC桌面画面麦克风声音系统声音采集、Base64编码的图片字符串解析等等多种音视频源(包含图片)的接入解码

拉流和推流

  1. JavaCV音视频开发宝典:rtsp转推到rtmp
  2. JavaCV音视频开发宝典:rtsp转推到rtsp
  3. JavaCV音视频开发宝典:rtsp转推到rtp
  4. JavaCV音视频开发宝典:rtp点到点音视频传输(一对一音视频直播)
  5. JavaCV音视频开发宝典:rtp广播方式音视频传输(一对多音视频直播)

gb28181、海康大华网络摄像机sdk接入和海康大华视频平台sdk接入(支持实时视频流和录像回放)

1、 JavaCV音视频开发宝典:JavaCV读取海康、大华平台和海康、大华摄像头sdk回调视频裸流并解析预览图像
2、 JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并转码推流rtmp流媒体服务

桌面屏幕录屏和麦克风采集

dshow方式屏幕录屏和系统声音采集

1、 JavaCV音视频开发宝典:使用JavaCV基于采集windows桌面屏幕画面并录屏mp4视频文件(FFmpeg基于dshow方式采集windows系统桌面画面)
2、JavaCV音视频开发宝典:使用JavaCV采集windows系统声音并录制成mp3音频文件(FFmpeg采集windows系统声音)
屏幕画面和系统声音混合

3、 JavaCV音视频开发宝典:JavaCV混合屏幕录屏和系统声音录制mp4视频文件(windows桌面屏幕和系统声音混合录制)

摄像头画面图像和麦克风声音采集

4、 javaCV音视频开发宝典:JavaCV使用gdigrab方式实现windows录屏(windows屏幕画面抓取/采集,可实现高帧率屏幕截屏、录屏功能)
5、 javaCV音视频开发宝典:JavaCV基于x11grab方式实现linux录屏功能(linux屏幕画面抓取/采集)
6、 JavaCV音视频开发宝典:JavaCV使用avfoundation方式实现苹果MacOS录屏和麦克风声音采集

base64图片编码字符串解析

1、 JavaCV音视频开发宝典:JavaCV读取Base64编码图片并解析预览图片
2、 JavaCV音视频开发宝典:实现Base64编码图片转换成图片文件通用转换器,以base64转png图片文件为例,其他图片格式也全部支持

硬件加速

GPU硬件加速 转码

1、 JavaCV音视频开发宝典:JavaCV使用GPU硬件加速,进行音视频的硬解码和硬编码,支持intel、amd、nvidia显卡在windows、linux、苹果mac、安卓等多平台下的使用

直播推流和录制

包含rtp、rtmp、rtsp推流及hls(ts切片)、dash(m4s切片)、mp4切片录制以及webm推流和webm视频文件录制。
以及gif动态图片录制。

视频分片录制(mp4分片、hls、dash)

1、 JavaCV音视频开发宝典:JavaCV实现rtsp拉流转码方式录制生成hls切片,m3u8清单/ts切片录制详解,解决hls_time无效问题
2、 Javacv音视频开发宝典:使用JavaCV实现转封装方式rtsp拉流录制hls切片,转封装方式录制ts切片,无需转码录制ts切片
3、 JavaCV音视频开发宝典:JavaCV实现HLS切片录制,自动根据日期时间格式生成切片ts文件和目录
4、 JavaCV音视频开发宝典:JavaCV录制dash视频分片,mpeg-dash视频录制,mpd视频录制

webm格式视频直播和录制

  1. JavaCV音视频开发宝典:录制vp8和vp9编码的webm格式视频,以mp4转webm为例
  2. JavaCV音视频开发宝典:vb8和vp9编码的webm格式视频文件转成mp4文件
  3. JavaCV音视频开发宝典:使用JavaCV实现webm直播服务,无需流媒体服务,无需mse转封装插件(flv.js,hls.js),浏览器原生video标签直接播放rtsp,rtmp和桌面投屏直播

屏幕录屏生成gif动态图
1、 javaCV音视频开发宝典:JavaCV实现gif动态图制作,Windows桌面屏幕图像录制成gif动态图片,支持桌面屏幕任意区域生成gif

–end–

你可能感兴趣的:(JavaCV教程目录汇总,音视频,android,java,JavaCV教程,JavaCV音视频开发教程)