1、应用场景
在实际开发过程中,推流和拉流不想生成本地文件,以节省服务器对磁盘的要求。网上大量文档都是生成本地文件的形式来做操作。因此,在查看源码的基础之上,参考网上文档,码了一个工具类。
2、具体应用类
本类只是流到流不产生具体的本地文件,如有需要可以网上搜索相关文档,很多。
代码:
import org.bytedeco.javacv.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
/**
* @author hilbert.xu
*/
public class Convert {
private static final Logger log = LoggerFactory.getLogger(Convert.class);
private static ByteArrayOutputStream convert2OutputStream(InputStream inputStream) {
Frame audioSamples = null;
ByteArrayOutputStream swapStream = null;
// 音频录制(输出地址,音频通道)
FFmpegFrameRecorder recorder = null;
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(inputStream);
// 开启抓取器
if (start(grabber)) {
swap