javaCV开发详解之18:音视频转码(音频编解码和视频编解码)

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开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗,更好的性能,更低延迟)

javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏、录屏功能)

javaCV开发详解之10:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigrab

javaCV开发详解之11:视频文件转gif动态图片实现,也支持摄像机、桌面屏幕、流媒体等视频源转gif

javaCV开发详解之12:视频转apng动态图片实现,支持透明通道,支持摄像机、桌面屏幕、流媒体等视频源转apng动态图

javaCV开发详解之13:使用FFmpeg Filter过滤器处理音视频

javaCV开发详解之14:音频重采样

javaCV开发详解之15:视频帧像素格式转换

javaCV开发详解之16:使用一张图片推流和一张图片录制成视频文件

javaCV开发详解之17:GIF和APNG动态图片推流和录制成视频文件(以gif转mp4为例)

javaCV开发详解之18:音视频转码(音频编解码和视频编解码)

JavaCV开发详解之19:如何开启GPU硬件加速,使用JavaCV进行音视频的硬解码和硬编码

JavaCV及音视频相关补充篇:

javaCV开发详解补充篇:基于avfoundation的苹果Mac和ios获取屏幕画面及录屏/截屏以及摄像头画面和音频采样获取实现

javaCV开发详解之GIF动态图片录制补充篇:windows桌面屏幕画面录制成gif动态图片,支持桌面任意取域生成gif,可扩展支持MacOS/安卓/linux等平台,可扩展支持apng动态图片

音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)

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

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

java原生实现屏幕设备遍历和屏幕采集(捕获)等功能

流媒体直播实时视频延迟时间排查和剖析

 

前言

在本章之前,我们已经分析了如何进行转流、转封装、像素格式转换以及音频的重采样,本章主要讲解和分析javaCV如何进行转码,其实很多小伙伴在转流章节中已经发现它已经在进行转码了,那么javaCV中的转码究竟是什么样的呢,本章就视频和音频转码进行剖析和讲解。

补充:与装封装和像素格式转换不同的是,编解码比转封装更深入一层,但是并不改变像素格式,想要改变像素格式,需要经过编解码的,也即是说编解码是介于装封装和像素格式转换之间的操作。

 

完整查看本章内容:https://eguid.blog.csdn.net/article/details/107004088

 

你可能感兴趣的:(javaCV开发详解之18:音视频转码(音频编解码和视频编解码))