FFmpeg音视频整合

进行java小程序开发有用到FFmpeg整合音视频,下面是封装的几个方法,使用时可直接调用.

1:去除原有视频的音频

FFmpeg音视频整合_第1张图片

2: 将录音整合到去除音频的视频中

FFmpeg音视频整合_第2张图片

其实FFmpeg是可以直接将录音直接覆盖掉原有视频的声音的,但是在开发过程中发现录音和有的视频不能整合,也可能是对FFmpeg不够理解,所以稳妥的方法就是把它拆分为两个命令.(如上)

3: MP4格式的视频转换为Ts格式

FFmpeg音视频整合_第3张图片

4: 多个ts视频整合为一个并转码MP4格式

FFmpeg音视频整合_第4张图片

FFmpeg音视频整合_第5张图片

这个方法在linux下可以正常使用的,但是如果你是在本地使用的话,可以将下面两行代码进行修改

String shellCommand = "/usr/bin/ffmpeg -i " + allTs +" -c copy -bsf:a aac_adtstoasc -movflags +faststart " + videoOutputPath;
String[] cmd = {"/bin/sh", "-c", shellCommand};

5: 合并多段音频

FFmpeg音视频整合_第6张图片

FFmpeg音视频整合_第7张图片

修改方式:1:将第一行代码中的 "/usr/bin" 去除,直接使用ffmpeg进行拼接.

                 (在linux下使用ffmpeg命令,因为它相当于一个shell脚本,需要让linux可以向在本地cmd一样执行) 

               2:将第二行代码去除

因为开发时是多段视频进行整合,如果你是单个视频,则不需要 3 , 4 的两个方法.仅供参考,可根据自身需求自行调整.

第二种方案是 多段音频先进行合拼,也就是调用 5 这个方法 ,然后和整段视频合并 .

你可能感兴趣的:(FFmpeg)