JavaCV音视频宝典(JavaCV1.5.6)
文章平均质量分 86
《JavaCV音视频宝典》是2022年发布的最新JavaCV实战教程,相比《JavaCV开发详解》,本专栏基于1.5.6版本,且上手有些难度,需要有Java背景知识和音视频基础。JavaCV音视频宝典通过大量综合实践案例和实战场景,带领大家快速上手JavaCV综合音视频开发技术。
余额抵扣
助学金抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
eguid_1
eguid音视频方向博客,分享经过实践检验的硬核音视频技术。FFmpeg、openCV和JavaCV音视频和图像处理系列教程销量超过5000份,众多开发者的严格验证。关注博主公众号:eguid,一起交流探索学习最新音视频和图像处理技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《JavaCV音视频宝典》专栏介绍和目录(JavaCV实战教程,JavaCV中文文档,JavaCV中文手册,JavaCV教程)
《JavaCV音视频开发宝典》是专注于音视频开发的宝典手册。通过本宝典,小伙伴们可以轻松上手音视频项目开发,除了可以实现自己的直播平台、监控安防平台之外,还可以接入gb28181和海康大华等各种设备、各种嵌入式和流媒体服务都不再话下。除此以外,针对在线教育和直播行业,还可以使用JavaCV制作自己的推流器,不需要根据OBS定制就可以实现自己的推流直播机了,由于JavaCV默认不再包含gpl v2许可协议的代码库,因此也不用担心违反许可协议的风险。再者,对于各种开发板和树莓派等嵌入式的开发者,也可以轻松原创 2021-12-21 17:27:33 · 13372 阅读 · 4 评论
-
JavaCV音视频,你了解h264、h265、vp8、vp9和av1这些编解码库么,一起来聊聊视频中的编解码器
你知道FFmpeg吗?了解过h264/h265/vp8/vp9编解码库吗?我们日常生活中使用最广泛的五种视频编码:H264(AVC)、H265(HEVC)、vp8、vp9、av1都分别是什么?原创 2021-12-08 16:44:53 · 8136 阅读 · 0 评论
-
JavaCV音视频开发宝典:UDP局域网组播推流,多播推流,局域网多网段推流,使用UDP方式推送TS组播流,实现UDP一对多组播
在之前文章中我们已经实现rtp点到点传输JavaCV音视频开发宝典:rtp点到点音视频传输(一对一音视频直播)和rtp广播JavaCV音视频开发宝典:rtp广播方式发送TS流音视频传输(一对多音视频会议)。本章,我们讲一下UDP组播(多播)推流,通过把音视频数据发送给组播地址来达到跨网段,多个网段内的一对多的音视频数据传输或者一对多音视频直播。原创 2023-12-21 16:56:05 · 1766 阅读 · 0 评论 -
JavaCV音视频开发宝典:视频转码和转封装有什么区别?使用rtsp拉流转推到rtmp案例来讲一下转码和转封装实现的区别
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言博主本来想用mp4文件来讲得,但是手头没有合适的mp4小视频,所以就直接用rtsp转推rtmp的例子来讲,一来rtsp转rtmp比较常见,而且还方便理解概念。已知rtsp可以支持h264、h265视频编码,而rtmp只支持h264编码视频转码方式假设1:现在我们已有一个h265编码的rtsp视频源(称作:rtsp://A),如果要转推到rtmp流媒体服务(称作:rtmp://B),则必须要转码成h.原创 2021-12-22 21:46:30 · 2535 阅读 · 0 评论 -
JavaCV音视频开发宝典:使用JavaCV录制mjpg视频(mjpeg视频),将mp4转成mjpg视频
最近用mjpg的越来越多,一般无人机和单反相机比较常用mjpg这种视频格式,mjpg不含音频,是由一张张静态的jpg图片组成的。jpg图片则是yuv有损压缩而成,mjpg格式有着简单且非常节省硬件资源的优点,因此在嵌入式领域用得较多,缺点就是占用硬盘空间较大,但是可以低成本实现4k甚至更高画质视频,在cpu和GPU算力不足的情况下比hevc这玩意要节省计算资源。本章就使用MP4转mjpg为例,详细讲讲mjpg视频录制。原创 2023-07-22 10:40:52 · 1004 阅读 · 0 评论 -
JavaCV音视频开发宝典:如何使用JavaCV读取mp3文件ID3V2专辑封面图片显示并保存成jpg图片和png图片并保留png透明度
在此之前,我们已经使用开源库"MP3AGIC“去操作mp3,读取封面图像,那么使用JavaCV能不能做到呢?当然可以。当然封面图片有两种情况,一种是使用jpg图片作为封面的,这种比较简单,因为jpg本身就是yuv压缩的。需要重点说明的是png图片作为封面的情况,因为png是rgba像素格式,比一般的图片多一个透明通道,如果不做兼容,则会丢失透明通道导致png颜色错误,所以为了兼容png图像,需要额外配置来兼容这种情况。原创 2023-07-17 15:41:08 · 639 阅读 · 0 评论 -
JavaCV音视频开发宝典:基于JavaCV实现wav音频直播服务,wav在线FM电台直播服务,无需流媒体服务,浏览器原生audio标签直接播放wav直播音频
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言之前写过了mp3实现FM电台直播服务:《JavaCV音视频开发宝典:JavaCV实现mp3直播FM电台服务,无需流媒体服务,浏览器原生audio标签直接播放mp3直播,支持rtsp/rtmp/flv/hls/本地音视频源直接转码到mp3直播》,博主写了mp3之后,又寻思了一下。寻思着wav似乎比mp3转码消耗更少。因为wav是pcm编码音频,直接用pcm加个文件头就行了,相对mp3而言缺点是带宽占用多了.原创 2022-03-03 18:02:40 · 1766 阅读 · 0 评论 -
JavaCV音视频开发宝典:JavaCV实现mp3音频直播FM在线电台服务,无需流媒体服务,浏览器原生audio标签直接播放mp3,支持rtsp/rtmp/flv/hls/本地音视频源直接转码到mp3
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言之前写过使用JavaCV实现webm直播的文章:《JavaCV音视频开发宝典:使用JavaCV实现webm直播服务,无需流媒体服务,无需mse转封装插件(flv.js,hls.js),浏览器原生video标签直接播放rtsp,rtmp和桌面投屏直播》,群里有大佬突然问能不能实现mp3直播,我寻思了一下,应该可以,其实只要稍微修改一下上面链接里的webm直播这篇文章的代码就可以实现了,注意的点就是mp3.原创 2022-03-03 14:36:27 · 2437 阅读 · 2 评论 -
JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言自从2021年初开始,各个浏览器开始禁用flash插件,以前直播中经常使用的rtmp无法在网页中使用,各种浏览器web网页直播技术层出不穷,有webm、hls、dash、http-flv、websocket-flv,webrtc等等等等不一一赘述,之前,博主写过了webm直播,今天只单独讲讲http-flv,websocket-flv后面再补上。http-flv缘起起源于Flash的黄金时代对于年纪.原创 2022-03-08 08:00:00 · 8010 阅读 · 9 评论 -
JavaCV音视频开发宝典:无需流媒体服务也无需转码,使用JavaCV和springBoot实现http-flv转封装直播服务,浏览器网页flv.js直接播放rtp、rtsp、rtmp实时视频
本章代码除了在《JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面》基础上增加转封装功能,同样也适用于websocket-flv实现《JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频》中。这是个老话重谈的问题了。原创 2022-06-01 11:06:21 · 3130 阅读 · 9 评论 -
JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言前面我们已经讲了webm直播,http-flv直播,本章就直接开始动手实现websocket-flv直播。多余的都不讲了,上一章:《JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面》中基本上都讲过了,关于flv格式的起源与发展,不再赘述,有兴趣的可以去看看。webs.原创 2022-03-15 09:57:56 · 12495 阅读 · 10 评论 -
JavaCV音视频开发宝典:使用JavaCV实现webm直播服务,无需流媒体服务,无需mse转封装插件(flv.js,hls.js),浏览器原生video标签直接播放rtsp,rtmp和桌面投屏直播
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言自从2021年初开始,各个浏览器开始禁用flash插件,以前直播中经常使用的rtmp无法在网页中使用,各种浏览器web网页直播技术层出不穷,有hls、dash、http-flv、websocket-flv,webrtc等等等等不一一赘述,但是今天,博主不准备写上面这几个,本章想讲一下更加另类的,更符合博主气质的:webm直播实现。webm简单介绍webm是由google开源的视频格式,BSD授权协议,.原创 2022-02-28 00:51:30 · 3474 阅读 · 4 评论 -
JavaCV音视频开发宝典:rtsp拉流并使用转码方式转推到rtp
《JavaCV音视频开发宝典》专栏目录JavaCV音视频开发宝典:rtsp转推到rtspJavaCV音视频开发宝典:rtsp转推到rtp前言在前面的文章中,我们主要进行rtmp推流和录制mp4、flv和hls,博主原本觉得已经照顾到大部分场景了,直到最近群里有小伙伴们问怎么推rtp,这。。。。之前一直都是拉rtp流,怎么推rtp流还真没想过,不过也算问对人了,说到吹拉弹唱,错了,说到这个javaCV推流,这块博主可老擅长了。No code no bb!废话少谈,让我们直接上代码吧。参考资料.原创 2021-11-22 20:12:01 · 2667 阅读 · 7 评论 -
JavaCV音视频开发宝典:rtsp转推到rtp(非TS流方式),及使用TS流发送解决sdp缺失问题
在之前的文章中,由于忘记介绍使用的rtp推流方式都是TS流方式,RTP方式推流没讲,本章作为之前文章(JavaCV音视频开发宝典:rtsp拉流并使用转码方式转推到rtp)的补充。原创 2022-11-30 22:40:54 · 1309 阅读 · 0 评论 -
JavaCV音视频开发宝典:rtsp拉流并使用转码方式转推到rtsp
本章主要介绍给大家如何使用JavaCV拉流rtsp,并将视频流再次推送到rtsp服务原创 2021-11-22 20:25:43 · 3454 阅读 · 1 评论 -
JavaCV音视频开发宝典:rtsp拉流转码方式转推到rtmp
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言在上一篇JavaCV音视频开发宝典:rtsp转推到rtp我们主要进行rtp推流,本章将进行rtsp推流。还是那句话,No code no bb!废话少谈,直接上代码。参考资料ffmpeg官方rtsp封装格式说明:https://ffmpeg.org/ffmpeg-protocols.html#rtsp开始前的准备工作1、依赖项使用maven添加依赖 <dependency> .原创 2021-12-21 22:59:34 · 2868 阅读 · 1 评论 -
JavaCV音视频开发宝典:rtp点到点音视频传输TS流(一对一音视频直播)
在开始之前,我们需要了解一点rtp协议相关的知识。当然了,相信很多小伙伴应该已经或多或少了解过rtp了,专门用于传输音视频数据的协议,rtp一般会和它的好基友RTCP协议一起工作,rtp负责传输数据,rtcp负责控制。比如日常中常见的rtsp和webrtc都是基于rtp协议进行视频数据传输的。rtsp控制指令非常类似http协议就不提了。原创 2022-08-22 00:20:57 · 1401 阅读 · 0 评论 -
JavaCV音视频开发宝典:rtp广播方式发送TS流音视频传输(一对多音视频会议)
在上一章中JavaCV音视频开发宝典:rtp点到点音视频传输(一对一音视频直播)我们已经实现一对一的rtp音视频传输,可以用于点到点的音视频数据传输也可以用于实时音视频通话等场景。本章,我们讲讲rtp广播,通过把音视频数据发送给广播地址来达到某个网段内一对多的音视频数据传输或者一对多音视频直播。原创 2022-08-22 23:41:08 · 1462 阅读 · 1 评论 -
JavaCV音视频开发宝典:UDP广播推流 使用UDP方式推送广播TS流 实现UDP一对多广播
在之前文章中我们已经实现rtp点到点传输JavaCV音视频开发宝典:rtp点到点音视频传输(一对一音视频直播)和rtp广播JavaCV音视频开发宝典:rtp广播方式发送TS流音视频传输(一对多音视频会议)。本章,我们讲一下UDP广播,通过把音视频数据发送给广播地址来达到某个网段内一对多的音视频数据传输或者一对多音视频直播。原创 2022-11-30 23:23:58 · 1320 阅读 · 1 评论 -
JavaCV音视频开发宝典:UDP推流 使用UDP方式推送TS流 实现UDP一对一直播点播
之前写rtp推流(JavaCV音视频开发宝典:rtsp拉流并使用转码方式转推到rtp,JavaCV音视频开发宝典:rtsp转推到rtp(非TS流方式),及使用TS流发送解决sdp缺失问题)的时候顺便写了udp推流方式,因为yq的原因,一直没时间发,最近抽空发一下。udp方式跟rtp方式是一样的,不对,应该说rtp本质上就是udp,只不过在udp包的基础上加了一些rtp描述,rtp推流可以用很小的改动支持udp方式推流。注意:本文不需要流媒体服务充当服务端。原创 2022-11-30 23:12:14 · 2447 阅读 · 0 评论 -
JavaCV音视频开发宝典:vb8和vp9编码的webm格式视频文件转成mp4文件
mp4不用多说,我们日常生活中,手机上或者浏览器网页中使用最多的视频文件就是mp4了。除了mp4之外,现代浏览器(主要是Chrome、Firefox、Safari、Edge)对webm格式的视频支持也非常好(如下图所示),因此有越来越多的视频网站开始使用webm格式来作为主要的视频格式。但是除了新的空气显卡(明指老黄rtx3000系列)外,老的显卡一般时不支持gpu硬解webm的视频的,所以为了便于观看和存储,我们一般需要将webm再转成mp4视频文件。...原创 2022-06-12 23:26:24 · 1642 阅读 · 3 评论 -
JavaCV音视频开发宝典:录制vp8和vp9编码的webm格式视频,以mp4转webm为例
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言由于现代浏览器对webm格式的视频支持较好,如下图:因此使用webm格式来作为主要的存储和回放视频格式。本章将使用mp4文件转webm为例,来讲一下JavaCV如何录制webm格式视频。webm简单介绍webm是由google开源的视频格式,BSD授权协议,支持vp8、vp9、av1编码。webm格式这种开源无专利版权风险的特性,非常便于我们日常开发和商业使用。参考资料webm项目实现功能.原创 2022-02-28 17:04:38 · 1446 阅读 · 0 评论 -
Javacv音视频开发宝典:使用JavaCV实现转封装方式rtsp拉流录制hls切片,转封装方式录制ts切片,无需转码录制ts切片
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言在这之前,已经写过几篇关于hls的文章了。之前都是基于转码的hls录制,本章会使用转封装/转复用方式(顾名思义,就是不转码,解复用后直接切ts分片)来生成切片。看过博主写的“转封装方式“的同学们应该会知晓这种方式相较于之前几章的代码,性能消耗极小,因为不需要转码了。闲话少讲,还是让我们立刻开始吧。关于hls_time失效问题:在非转码的这种模式下,由于视频源的gop不像转码那么确定,而ffmpeg默.原创 2021-03-30 11:00:16 · 2175 阅读 · 7 评论 -
JavaCV音视频开发宝典:JavaCV使用GPU硬件加速,进行音视频的硬解码和硬编码,支持intel、amd、nvidia显卡在windows、linux、苹果mac、安卓等多平台下的使用
《JavaCV音视频开发宝典》专栏目录JavaCV音视频开发宝典:rtsp转推到rtspJavaCV音视频开发宝典:rtsp转推到rtpJavaCV音视频开发宝典:使用javacv读取海康、大华平台和海康、大华摄像头sdk回调视频裸流并解析预览图像JavaCV音视频开发宝典:JavaCV使用GPU硬件加速,进行音视频的硬解码和硬编码,支持intel、amd、nvidia显卡在windows、linux、苹果mac、安卓等多平台下的使用前言一、本章没有前言那是不可能的,让我们开始使用Jav原创 2020-07-01 21:59:28 · 9914 阅读 · 51 评论 -
JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并转码推流rtmp流媒体服务
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言本篇文章用于解决javacv接入h264/hevc裸流或者接入ps/ts流等字节流的非流媒体协议视频源接入并推流到rtmp流媒体服务。本篇文章适用于gb28181/海康大华网络摄像机设备sdk对接以及海康大华等视频平台的sdk方式对接和推流。可以用于录像回放对接和实时流对接。再次友情提醒:注意管道流的输入输出不能在同一个线程内,否则1000000%会阻塞。实现功能1、读取海康/大华sdk回调.原创 2021-12-21 23:27:54 · 6221 阅读 · 30 评论 -
JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并解析预览图像
《JavaCV音视频开发宝典》专栏目录JavaCV音视频开发宝典:rtsp转推到rtspJavaCV音视频开发宝典:rtsp转推到rtpJavaCV音视频开发宝典:使用javacv读取海康、大华平台和海康、大华摄像头sdk回调视频裸流并解析预览图像前言本篇文章用于解决javacv接入h264/hevc裸流或者接入ps/ts流等字节流的非流媒体协议视频源接入。本篇文章适用于海康/大华设备sdk对接和推流。(到目前为止,海康、大华设备测试可用。如果出现问题,除了检查自己的代码是否有遗漏外,还需.原创 2021-05-21 19:59:52 · 5653 阅读 · 48 评论 -
JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像
两年前博主写了如何利用JavaCV解析各种h264裸流,[《JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并解析预览图像》](https://blog.youkuaiyun.com/eguid_1/article/details/117133879),但是随着时间变化,各个厂商sdk也有所迭代升级,比如现在海康sdk回调不再包含H264裸流,只有PS和TS流以及RTP(RTP中也可包含PS\TS\H264\H265裸流)原创 2023-06-07 16:16:01 · 3214 阅读 · 2 评论 -
JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调录像回放视频PS码流并解析预览图像
上一章中《JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS流并解析预览图像》已经详细介绍了针对海康SDK实时视频流回调的TS流解析实现,并且也提到了PS流和PS流一般用于录像回放,那么本章就顺着上一章讲一下录像回放PS码流(当然也可以用作实时流回调)的具体实现。废话少谈,让我们立刻开始吧。PS码流上一章已经介绍过了,这里再次提一下,巩固增强一下记忆。TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。原创 2023-07-03 22:20:02 · 1948 阅读 · 9 评论 -
JavaCV音视频开发宝典:JavaCV使用gdigrab方式实现windows录屏(windows屏幕画面抓取/采集,可实现高帧率屏幕截屏、录屏功能)
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言本系列文章前面内容基本覆盖了推流拉流等内容,屏幕截屏之前也写过,只不过是基于java的,帧率比较低,所以就有了本章,基于javacv的屏幕录制、截屏功能实现。本文简单参考了雷霄骅博士的ffmpeg录屏实现:最简单的基于FFmpeg的AVDevice例子(屏幕录制)本文只支持windows屏幕画面获取,苹果Mac和ios获取屏幕画面和摄像头请至(javaCV开发详解之9补充篇:基于avfou.原创 2020-04-26 19:38:08 · 7959 阅读 · 57 评论 -
JavaCV音视频开发宝典:JavaCV使用avfoundation方式实现苹果MacOS录屏和麦克风声音采集
前言在javaCV开发详解之9和10两篇中通过gdigrab获取windows屏幕画面,可以用来实现高帧率、任意范围的屏幕录制截屏等功能以及通过dshow获取windows下的摄像头和音频,虽然dshow因为兼容性问题目前并不支持获取屏幕画面,但是好在gdigrab效果很好,可以满足需要,本章主要补充苹果Mac和ios下基于avfoundation的屏幕获取,来实现录屏、截屏等功能。本章有且只参考.原创 2020-04-29 14:51:39 · 3103 阅读 · 0 评论 -
JavaCV音视频开发宝典:JavaCV基于x11grab方式实现linux录屏功能(linux屏幕画面抓取/采集)
javacv实战专栏目录:JavaCV实战专栏文章目录(JavaCV速查手册)前言再本章之前,我们已经分别介绍了windows(javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的高帧率屏幕截屏、录屏功能))和MacOS(苹果Mac和ios获取屏幕画面和摄像头请至:JavaCV开发详解补充篇:基于avfoundation的苹果Mac和ios获取屏幕画面及录屏/截屏以及摄像头画面和音频采样获取实现)的录屏功能。原本没打算写linux的,因为很少人用有.原创 2021-09-04 00:07:29 · 2230 阅读 · 6 评论 -
javaCV音视频开发宝典:JavaCV实现gif动态图制作,Windows桌面屏幕图像录制成gif动态图片,支持桌面屏幕任意区域生成gif
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言本章就详细讲解如何使用JavaCV将windows桌面屏幕画面录制成gif动态图片。非常重要:本章是为了演示如何使用JavaCV来作桌面屏幕画面录制gif或者apng等动态图片,再本章基础上修改即可做到MacOS\linux\安卓的桌面屏幕录制成gif,实现功能本章主要实现windows桌面屏幕录制成gif动态图片。1、支持桌面屏幕任意取域录制gif2、支持gif动态图.原创 2020-06-10 16:12:23 · 2477 阅读 · 3 评论 -
JavaCV音视频开发宝典:使用JavaCV采集windows桌面屏幕画面并录屏mp4视频文件(FFmpeg基于dshow方式采集windows系统桌面画面)
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言之前已经写过dshow方式采集摄像头,一直没写dshow方式是因为dshow方式录屏需要单独装个插件,而之前写过的这章:JavaCV音视频开发宝典:JavaCV使用gdigrab方式实现windows录屏(windows屏幕画面抓取/采集,可实现高帧率屏幕截屏、录屏功能)可以通过gdi方式直接采集桌面屏幕,但是gdi方式不能采集系统内部声音,所以能够让JavaCV或者ffmpeg又能采集摄像头画面、麦克风、.原创 2021-12-29 13:56:27 · 2131 阅读 · 0 评论 -
JavaCV音视频开发宝典:使用JavaCV采集windows系统声音并录制成mp3音频文件(FFmpeg采集windows系统声音)
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言之前已经写过很多采集windows、macos和linux本机麦克风声音的文章,但是没讲过采集系统声音的。很多小伙伴们弄推流器的时候跟博主反馈说不知道怎么采集系统的声音,本章咱们就单独讲讲windows平台下如何使用ffmpeg和JavaCV采集系统声音。采集系统声音原理首先要知道的是,原则上来说是没办法获取系统声音的,需要通过创建虚拟设备,将系统声音模拟成虚拟声卡设备,这样就可以通过ffmpeg和J.原创 2021-12-29 10:57:02 · 2810 阅读 · 0 评论 -
JavaCV音视频开发宝典:JavaCV实现rtsp拉流转码方式录制生成hls切片,m3u8清单/ts切片录制详解,解决hls_time无效问题
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言在(https://eguid.blog.youkuaiyun.com/article/details/115319460)中我们已经实现过hls不需要转码的转封装方式切片ts文件,本章使用转码方式实现rtsp转hls,并且解决hls_time无效问题。参考资料apple官方低延迟解决方案:https://developer.apple.com/documentation/http_live_streaming.原创 2021-03-11 10:44:13 · 2631 阅读 · 6 评论 -
JavaCV音视频开发宝典:使用javacv录制dash视频分片,mpeg-dash视频录制,mpd视频录制
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言目前国外比较出名的Youtube、Netflix、Hulu等视频网站都采用了DASH技术。国内的BiliBili(B站)从2018年就已经全面从flv转换到DASH。mpeg-dash(简称dash)介绍MPEG-DASH(Dynamic Adaptive Streaming over HTTP)是一种在互联网上传送动态自适应流标准。MPEG-DASH在2012年就已经成为国际标准:ISO/IEC 2.原创 2021-01-05 19:17:51 · 2001 阅读 · 1 评论 -
JavaCV音视频开发宝典:JavaCV混合屏幕录屏和系统声音录制mp4视频文件(windows桌面屏幕和系统声音混合录制)
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言之前已经写过dshow方式采集摄像头画面、麦克风、系统声音和桌面屏幕画面。之前写过摄像头和麦克风混合,本章讲讲如何使用dshow方式混合录制屏幕画面和系统声音。原理就不讲了,可以参考之前两章:JavaCV音视频开发宝典:使用JavaCV基于采集windows桌面屏幕画面并录屏mp4视频文件(FFmpeg基于dshow方式采集windows系统桌面画面)JavaCV音视频开发宝典:使用JavaC.原创 2021-12-29 14:23:54 · 2842 阅读 · 2 评论 -
JavaCV音视频开发宝典:JavaCV实现HLS切片录制,自动根据日期时间格式生成切片ts文件和目录
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言在(https://eguid.blog.youkuaiyun.com/article/details/112174881)中我们已经实现了hls的切片录制,但是某些场景需要用到根据日期时间持续不断录像的需要,所以本章就是补充一下如何根据日期时间格式切片ts和生成日期格式目录参考资料apple官方低延迟解决方案:https://developer.apple.com/documentation/http_liv.原创 2021-05-21 11:02:52 · 1718 阅读 · 5 评论 -
JavaCV音视频开发宝典:JavaCV读取Base64编码图片并解析预览图片
前言本章用于读取base64编码的图片,这样就不需要自己base64解码然后再读取图片了,比较便捷,方法也很简单,废话少谈,让我们直接开始show code吧。参考资料ffmpeg协议实现功能1、读取base64字符串2、解码得到javacv图像3、预览解码出的图像原创 2022-02-23 21:00:00 · 1135 阅读 · 0 评论 -
JavaCV音视频开发宝典:实现Base64编码图片转换成图片文件通用转换器,以base64转png图片文件为例,其他图片格式也全部支持
《JavaCV音视频开发宝典》专栏目录导航《JavaCV音视频开发宝典》专栏介绍和目录前言在上一章中https://eguid.blog.youkuaiyun.com/article/details/123093352,我们使用几行代码就实现了JavaCV读取解析BASE64编码的图片,本章将在上一章的基础上将base64编码的图片转换成png格式(也支持其他图片格式)保存,这样就不需要自己base64解码然后再重新压缩编码成其他格式再保存了,比较便捷,方法也很简单,废话少谈,让我们直接开始show co.原创 2022-02-23 23:01:54 · 1081 阅读 · 0 评论
分享