在 Android 上使用过滤器对 ffmpeg 进行编码很慢

在 Android 上使用过滤器对 ffmpeg 进行编码很慢

我在 android 上使用 ffmpeg 来裁剪、压缩、调整视频大小。速度方面,一切都运行良好。

但是当我尝试添加过滤器时,例如

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3对于灰度,编码速度较慢。大约每秒 1 帧。

有没有办法加快速度?也许指定使用 GPU。

答案1

使用

-threads 2 -y -i input.mp4 -t 3:00 -vf format=gray,format=yuv420p -vcodec mpeg4 -b:v 1000K -maxrate 1500K -bufsize 500K -movflags faststart -strict experimental output.mp4

应该会更快,因为颜色通道混合器会调用缩放器将输入转换为 RGB 格式,然后逐像素执行操作。然后,由于编码器限制,会进行另一个缩放器调用以转换为 YUV420P。我的第一个格式只是丢弃了色度平面。

相关内容