随笔分类 - 音视频
音视频:JavaCV 视频切片(MPEG-TS)(HLS)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 视频切片(MPEG-TS)(HLS)的方法。 注意:存放HLS切片的目录必须存在(不会自动创建) 1. 代码实现 通过recorder.setOption进行HLS切片配置: pu
阅读全文
音视频:JavaCV 使用FFmpeg命令行(不需要系统安装FFmpeg)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 使用FFmpeg命令行(不需要系统安装FFmpeg)的方法。 1. 实现代码 这种方式跟平时使用FFmpeg命令是一样的: public class Sample27 { publ
阅读全文
音视频:JavaCV 视频转码(硬件加速)(GPU)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 分离AAC视频数据(转封装的方式,不需要转码)的方法。 使用硬件加速编码,需要使用VideoCodecName的方式设置编码器 1. 实现代码 这里需要注意的是编码器设置成h264
阅读全文
音视频:JavaCV AAC数据内存读写(PipedInputStream管道流)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV AAC数据内存读写(PipedInputStream管道流)的方法。 使用管道流需要注意的是PipedInputStream和PipedOutputStream要在不同线程。 整体
阅读全文
音视频:JavaCV H264数据内存读写(PipedInputStream管道流)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV H264数据内存读写(PipedInputStream管道流)的方法。 使用管道流需要注意的是PipedInputStream和PipedOutputStream要在不同线程。 整
阅读全文
音视频:JavaCV 分离AAC视频数据(转封装的方式,不需要转码)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 分离AAC视频数据(转封装的方式,不需要转码)的方法。 使用转封装的方式分离AAC需要注意原始音频的编码方式必须是AAC 1. 实现代码 注意format需要设置成adts,并且跳
阅读全文
音视频:JavaCV 分离H264视频数据(转封装的方式,不需要转码)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用音视频:JavaCV 分离H264视频数据(转封装的方式,不需要转码)的方法。 使用转封装的方式分离H264需要注意原始视频的编码方式必须是H264 1. 实现代码 注意format需要设置成h
阅读全文
音视频:JavaCV 分离AAC视频数据(转码的方式)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 分离AAC视频数据(转码的方式)的方法。 使用转码的方式分离AAC实际上跟转码实现差不多,只不过format换成了ADTS。 1. 实现代码 注意format需要设置成adts,并
阅读全文
音视频:JavaCV 分离H264视频数据(转码的方式)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 分离H264视频数据(转码的方式)的方法。 使用转码的方式分离H264实际上跟转码实现差不多,只不过format换成了H264。 1. 实现代码 注意format需要设置成h264
阅读全文
音视频:JavaCV 视频转封装(flv转mp4)(不耗CPU)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV 转封装(flv转mp4)(不耗CPU)的方法。 转封装要比转码节省资源的多,速度也快很多,但有前提条件,转化封装之间的两种格式必须支持相同的编码方式。 1. 实现代码 转封装不需要
阅读全文
音视频:JavaCV 视频转码(mkv转成mp4)(CPU)
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下JavaCV视频转码(非硬件加速)的方法。 这里是将mkv转化成mp4,其他方式也是可以的 1. 实现代码 使用FFmpegFrameGrabber读取需要转码的音视频帧,将音视频帧交给FFmpeg
阅读全文
音视频:JavaCV 采集摄像头和麦克风数据推送RTMP流
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下JavaCV 采集摄像头和麦克风数据推送RTMP流的方法。 同时采集视频和音频需要最好采用不同的线程进行。 1. 视频采集 视频采集使用OpenCVFrameGrabber(当然也可以使用FFmpe
阅读全文
音视频:JavaCV 采集桌面画面并显示的方法
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集桌面数据的方法。 使用FFmpegFrameGrabber采集桌面数据,指定输入源为desktop,format设置为gdigrab。 参考雷神的博客:https://blog.
阅读全文
音视频:JavaCV 两种摄像头视频数据采集的方法
摘要:需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集摄像头的两种方法。 1. OpenCV 使用OpenCVFrameGrabber采集指定摄像头(索引)的视频数据: public class Sample01_Camera {
阅读全文