ffmpeg - 加快Android中的FFmpeg处理时间

标签 ffmpeg android-ffmpeg

我想循环播放视频,直到声音停止,一切正常,但需要太多时间。
如果我的音频文件长度为 4 分钟,则大约需要 4 分钟,而且大小也太大,这是我的命令

 String[] cmd = new String[]{"-i",audioFile.getAbsolutePath(),"-filter_complex","movie="+videoFile.getAbsolutePath()+":loop=0,setpts=N/(FRAME_RATE*TB)","-c","copy","-y",createdFile.getAbsolutePath()};

最佳答案

我们在这里看到许多“在 Android 上使用 ffmpeg 编码太慢”的问题。假设您使用 libx264 编码添加 -preset ultrafast-crf 26或您认为可以接受的任何值(参见 FFmpeg Wiki: H.264 )。

如果您想通过 ffmpeg 和 x264 使用基于软件的编码,您无能为力。据我所知,FFmpeg 还不支持 MediaCodec 硬件编码。它确实支持 H.264、HEVC、MPEG-2、MPEG-4、VP8 和 VP9 的 MediaCodec 视频解码,但解码不是这里的瓶颈。

您可以尝试让 x264 使用您的 CPU 功能,例如避免使用 --disable-asm 编译 x264 ,但我不知道你的硬件是否可行。

请注意,使用 -c copy 进行流复制(重新复用)过滤同一流时不可能,因此将其更改为更具体的 -c:a copy因为您没有过滤音频。

关于ffmpeg - 加快Android中的FFmpeg处理时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57970304/

相关文章:

video - 如何在视频的子部分上设置叠加图像?

android - 强制关键帧是什么意思?

ffmpeg - DSS 不会流式传输使用 FFMPEG 编码的 3GP

使用 ffmpeg 的 Android 视频裁剪

java - FFmpeg 裁剪过大无效

android - FFMPEG 视频裁剪太慢

android - - 在 FFMPEG 中使用电影循环播放音频时最短不起作用

android - FFMPEG 命令-严格的实验性,-ar,-s,-b :a vs -ab, -b vs -b:v

ffmpeg - 使用 FFMPEG 将 Socket 上的 RTP 音频数据重新采样为 PCM 数据

audio - 使用 FFMPEG 从实时流中提取音频帧