javaCV系列文章:
javacv开发详解之1:调用本机摄像头视频
javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)
javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)
javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
补充篇:
音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)
音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
部分平台会出现没找到library,class not found,jvm错误等等问题请注意:
如果出现上述错误或者其他异常,请到群里call群主,群号:371249677 (点击这里立即进群)
从javacv0.8开始,已经不需要再本地安装opencv,可以通过引用opencv对应的平台引用包即可进行多媒体开发
/** * 文件名:javavcCameraTest.java * 描述:调用windows平台的摄像头窗口视频 * 修改时间:2016年6月13日 * 修改内容: */ package cc.eguid.javacv; import javax.swing.JFrame; import org.bytedeco.javacv.CanvasFrame; import org.bytedeco.javacv.OpenCVFrameConverter; import org.bytedeco.javacv.FrameGrabber.Exception; import org.bytedeco.javacv.OpenCVFrameGrabber; /** * 调用本地摄像头窗口视频 * @author eguid * @version 2016年6月13日 * @see javavcCameraTest * @since javacv1.2 */ public class JavavcCameraTest { public static void main(String[] args) throws Exception, InterruptedException { OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0); grabber.start(); //开始获取摄像头数据 CanvasFrame canvas = new CanvasFrame("摄像头");//新建一个窗口 canvas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); canvas.setAlwaysOnTop(true); while(true) { if(!canvas.isDisplayable()) { grabber.stop(); System.exit(2); } canvas.showImage(grabber.grab());//获取摄像头图像并放到窗口上显示 Thread.sleep(50);//0.05秒刷新一次图像 } } }
下一章将会讲解如何把本地摄像头的视频录制成文件以及推送到流媒体服务器
javaCV开发详解之2:推流器实现和摄像头录制视频功能(支持windows/linux/mac/Android/ios全平台)
重要:
部分平台会出现没找到library,class not found,jvm错误等等问题请注意:
如果出现上述错误或者其他异常,请到群里call群主,群号:371249677 (点击这里立即进群)