microshow / RxFFmpeg

🔥💥RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac + opencore-amr + openssl ) 编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架,包含以下功能:视频拼接,转码,压缩,裁剪,片头片尾,分离音视频,变速,添加静态贴纸和gif动态贴纸,添加字幕,添加滤镜,添加背景音乐,加速减速视频,倒放音视频,音频裁剪,变声,混音,图片合成视频,视频解码图片,抖音首页,视频播放器及支持 OpenSSL https 等主流特色功能
4.46k stars 748 forks source link

音频裁剪报转码失败,请大神帮忙看看! #129

Closed ziliang520 closed 4 years ago

ziliang520 commented 4 years ago

大神你好,我在做音频裁剪的时候,选的大部分音乐裁剪是没有问题的,但有少部分一直报转码失败,打印信息是从onError(message:String?)里面的message,我反复检查了音频文件,是没有问题的,请大神帮帮忙看看,谢谢。

我使用的指令:ffmpeg -y -i /storage/emulated/0/Android/data/包名/cache/music/1586826748621.mp3 -vn -acodec copy -ss 00:00:00 -t 00:00:13 /storage/emulated/0/Android/data/包名/cache/music/1586826743300.mp3

microshow commented 4 years ago

SDK什么版本;必现吗?

ziliang520 commented 4 years ago

sdk 29的,有一两个mp3是必现的,大部分mp3文件没问题,而且出问题的mp3文件在与视频合并是正常,只是裁剪出了这个问题。

microshow commented 4 years ago

升级RxFFmpeg 2.4.0版本看看

microshow commented 4 years ago

那有没看 出问题的mp3 和没问题的mp3 有什么差异

ziliang520 commented 4 years ago

有去做过对比,但是实在是看不出有什么区别,比较骚的是合成视频的时候是没有问题的,文件在本地也可以正常播放。就是裁剪不了。

microshow commented 4 years ago

-acodec libmp3lame

ziliang520 commented 4 years ago

我尝试了您发的这个命令,命令拼成:ffmpeg -y -i $inPath -vn -acodec libmp3lame -ss $startTime -t $endTime $outPath,这个解决了我现在的问题,但运行时间加长了,比之前执行时间长了好几倍,这个有办法提高速度吗?

microshow commented 4 years ago

重新进行编码了,时间会长一些,-preset superfast 最好你可以动态判断该音频是否要设置重新编码

ziliang520 commented 4 years ago

这个问题是什么原因导致的,还是说表面是mp3实际上不是?能否提供一个思路给我参考一下,我想选音乐的时候提前判断,并转码后返回,现在的问题是我不知道该如何判断,因为我不清楚为什么会导致这样的问题。

microshow commented 4 years ago

可能是有些音频是有封面信息的,把封面信息去除就可以