我为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]
有时我得到这些错误为同一命令,但当我重新运行,它的工作,有时这些,如果我重新运行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也当执行完成,我调用我的运行(FFmpeg cmds)方法为下一个视频编码它重新启动应用程序,我怀疑因为内存使用。
发布于 2019-01-29 12:29:26
在检查我的代码后,我发现我在运行方法ffmpeg_main_entry()
的末尾并没有调用exit_program()
,而这个方法是通过引用program_exit
来注册ffmpeg_clenup()
的。在编写了这一行代码exit_program()
之后,它就可以工作了,但仍然在测试。
https://stackoverflow.com/questions/54413174
复制相似问题