我为 android 编译了 ffmpeg,启用了 mediacodec 和 jni。它可以工作,但是当我合并高清视频 60fps 时,它会使应用程序崩溃。我正在使用这个 ffmpeg cmd。
[-y, -benchmark, -ss, 0.0, -t, 11.541, -i, VID_HD.mp4, -filter_complex, [0:v]setpts=PTS-STARTPTS,scale=1080.0:1920.0:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:color=#000000, -c:v, libx264, -c:a, aac, -ac, 2, -ar, 44100, -preset, ultrafast, -strict, -2, VID_HD.ts]
有时我会为相同的 cmds 收到这些错误,但是当我重新运行时,它会起作用,有时如果我重新运行 3-4 次,它会重新启动应用程序。可能是因为内存没有清理。在这里帮帮我。
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
VideoKit:Error: Failed to inject frame into filter network: Out of memory
VideoKit:Error: Error while processing the decoded data for stream #0:0
我在执行完成时也需要清理 FFmpeg 的帮助,我调用我的 run(FFmpeg cmds) 方法进行下一个视频编码,它重新启动应用程序,我怀疑是因为内存使用。