javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)

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如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)

音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例

实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)


    欢迎大家积极开心的加入讨论群

群号:371249677 (点击这里进群)

前言:

前面几章已经基本把音频或者视频如何录制,如何抓取,如何推送的功能利用javaCV简单的给实现了;

本章将会整合前面几章的内容进行深入音视频混合抓取、录制、推送

在开始本章之前可以了解一下javaCV-FFMPEG是如何帮我们做解复用和编码:http://blog.csdn.net/eguid_1/article/details/52875793

1、实现功能

(1)抓取本地录音设备(即,话筒)的实时音频

(2)抓取本地摄像头实时视频

(3)音频与视频时两个线程分别进行的,互不干扰

(4)多8bit的音频转小字节序问题,请参考http://blog.csdn.net/eguid_1/article/details/52790848

(5)本章代码包含大量注释,用来阐述每个API的用法和作用

完整阅读本章:javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)






原文地址:https://www.cnblogs.com/eguid/p/6821583.html