microshow / RxFFmpeg

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

Observer died. Quickly, do something, ... anything... #124

Closed tomguan closed 4 years ago

tomguan commented 4 years ago

你好。 sdk版本 2.2.0

OPPO R15、华为8x 等手机。 只允许 amr-v7

String.format("ffmpeg -y -i %s %s-preset superfast -vcodec libx264 %s", videoPath, sbFilter.toString(), outputFilePath) String.format("ffmpeg -y -i %s %s-preset superfast %s", videoPath, sbFilter.toString(), outputFilePath)

经常这样闪退的。

microshow commented 4 years ago

4k视频吗

tomguan commented 4 years ago

4k视频吗

你好。视频是720p的。 使用了这个命令:ffmpeg -y -i /storage/emulated/0/DCIM/Camera/VID20200403152306.mp4 -preset superfast /storage/emulated/0/compress/cache/VID20200403152306.mp4

-preset superfast -vcodec libx264 这个命令也会经常这样报错闪退。

microshow commented 4 years ago

经常?必现吗?我这边试了一下没问题, 你是有连续执行多条命令吗?或者是比如执行完A命令,然后立马执行B命令?建议命令之间延迟一两秒时间在执行

tomguan commented 4 years ago

经常?必现吗?我这边试了一下没问题, 你是有连续执行多条命令吗?或者是比如执行完A命令,然后立马执行B命令?建议命令之间延迟一两秒时间在执行

我是先执行了 String.format("ffmpeg -y -i %s -f image2 -t 0.001 %s", videoPath, outputFilePath) 获取视频封面,再暂停0.1秒,再执行视频压缩的。

需求是先获取视频封面,再压缩视频。 这种处理方案,您建议是等待1~2秒再执行下一步操作吗?我这种情况隔1秒稳不稳?

microshow commented 4 years ago

v2.3.0 已发布,建议更新版本 1、提升SDK健壮性; 2、修复连续执行命令可能导致闪退的问题(比如执行完A命令立马执行B命令); 3、修复执行中断命令动作后立马执行下一个命令导致闪退的问题;

tomguan commented 4 years ago

谢谢,已解决: 分享如下: 1、命令执行要间隔一些时间。 2、分辨率不能出现奇数,否则就会闪退!!!,很重要!!! ,如果缩放到某个比例,奇数,就减1吧。

感谢作者!