最近在做华为摄像头相关的项目,里边需要实现语音广播和语音对讲,涉及到音频数据编码成g711a格式发送.参考了网上不少文章,最终通过javacv 调用ffmgeg实现转码.
先附上命令行转码的方式:
# 转换wav文件为G711A
ffmpeg -i "input.wav" -bitexact -c:a pcm_alaw output.wav
# 转换wav文件为G711U
ffmpeg -i "input.wav" -bitexact -c:a pcm_mulaw output.wav
通过java方式实现如下:
1 maven依赖
<!-- 媒体只用到以下两个,javacv、ffmpeg -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.5.6</version>
</dependency>
<!-- ffmpeg全平台引入 -->
<!-- <dependency>-->
<!-- <groupId>org.bytedeco</groupId>-->
<!-- <artifactId>ffmpeg-platform</artifactId>-->
<!-- <version>4.4-1.5.6</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>4.4-1.5.6</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>4.4-1.5.6</version>
<classifier>linux-x86_64</classifier>
</dependency>
2 转换工具类
package com.hisql.iot.javacv.util;
impor
使用javacv和ffmpeg实现音频转g711a格式,

最低0.47元/天 解锁文章
1869

被折叠的 条评论
为什么被折叠?



