
javacv
zctel
此人很懒,什么都没有留下~
展开
-
【无标题】javacv-ffmpeg(九)视频文件处理
说明视频文件处理包括:视频切割,视频合并,视频截图(抽帧)代码实现作者很懒,先欠账原创 2022-03-01 15:47:24 · 2345 阅读 · 0 评论 -
javacv-ffmpeg(八)视频文件信息获取
说明获取流信息应该没问题,暂时没尝试。有兴趣的同学可以试试(后续更新的内容其实是补充,好长时间没写了,现在有时间就填填坑)实体类代码获取编码方式不太好用import lombok.Data;@Datapublic class VideoInfo { /** * 总帧数 * **/ private int lengthInFrames; /** * 帧率 * **/ private double frameRate;原创 2022-03-01 15:43:41 · 4413 阅读 · 0 评论 -
javacv-ffmpeg(七)ProcessBuilder实现录制
说明有些可简单命令实现的功能可以调起一条系统命令搞定,无需写太多复杂代码。代码实现下面是一个很简单的demo,参数:流地址或者文件地址,录制多少秒FileUtil.judeDirExists:检查文件夹没有创建,网上一大堆自己找代码DateUtils.dateToStr:日期格式转换,可以换个别的地址,想跑demo自己写个日期工具。import java.io.File;import java.io.IOException;import java.util.Date;import org.原创 2022-03-01 15:31:24 · 813 阅读 · 1 评论 -
javacv-ffmpeg(六)性能提升
说明我的性能提升大多都是取巧,也就是在业务或者逻辑上提高性能。FFmpegFrameGrabber里是有同步代码块的,我没有试过去掉后会产生什么后果。主要是懒。如果有人尝试请把结果回馈下,谢谢。一、直播截图因为同步代码块的问题,线程池线程不宜过多。如果一直接受流信息并截图,消耗资源非常多8核的cpu支撑16-50路就不错了,看分辨率。解决方案:看需求是否是多少秒一张图(这个可以配置管...原创 2019-12-06 17:08:36 · 4111 阅读 · 5 评论 -
javacv-ffmpeg(五)OutputStream方式截取-音频截取
说明以截取音频演示OutputStream方式输出截取后的媒体到内存中,无需保存文件。后期可以直接二进制保存到第三方库(redis、mysql等)或者转化成base64存储传输。一、代码示例 OutputStream fileOS = null; byte[] fileByte = null; //CustomFrameGrabber15 是我系列四中重写后的类 也可以用FFmpe...原创 2019-12-06 16:40:57 · 3213 阅读 · 10 评论 -
javacv-ffmpeg(四)拉取时错误处理
说明该错误处理不区分点直播一、连接时报错超时、地址错误、参数缺失//该类错误在拉取流是try try { FFmpegFrameGrabber ff = new FFmpegFrameGrabber(videofile); // 微秒 大概为设置时间的两倍 ff.setOption(TimeoutOption.RW_TIMEOUT.getKey(), "10000000")...原创 2019-12-06 16:20:35 · 2599 阅读 · 1 评论 -
javacv-ffmpeg(三)视频截取
说明支持本地文件、rtmp、rtsp、http-flv、hls一、代码示例 boolean isStart = true;// 该变量建议设置为全局控制变量,用于控制录制结束 FFmpegFrameGrabber ff = new FFmpegFrameGrabber(url); // 微秒 大概为设置时间的两倍 TimeoutOption代码在示例文章二 grabbe...原创 2019-12-06 15:53:51 · 4598 阅读 · 1 评论 -
javacv-ffmpeg(二)图片截取
说明支持本地文件、rtmp、rtsp、http-flv、hls一、视频拉取演示方法只切图一张,如果想隔几秒切几张图 ,在if条件中加时间判断就行了。f.timestamp 可以获取到该帧时间,单位微秒。 //方法或者外部类代码在后边 FFmpegFrameGrabber ff = new FFmpegFrameGrabber(videofile); // 微秒 大概为设置时间的...原创 2019-12-05 19:07:01 · 2233 阅读 · 4 评论 -
javacv-ffmpeg(一) springboot集成javacv
说明javacpp版本为1.5(1.4与1.5版本差异较大,建议升级为1.5版本)maven引入配置版本:// properties 本地调试在windows 上线部署在linux 如需其他环境请自行添加 <javacpp.version>1.5</javacpp.version> <javacpp.platform.linux-x86>linu...原创 2019-12-05 18:37:13 · 6835 阅读 · 1 评论