如何在android上使用FFMPEG将GIF转换为优化的mp4视频? 我成功地将FFMPEG集成到Android上,我用JNI来把我的java类与C++和C++类通信。
背景和我的问题 一个可以发送GIF的聊天应用程序,问题是一个GIF的重量可能高达2MB,经过大量研究,我发现最好的解决方案是将这些GIF转换为mp4(Facebook messenger、whatsapp和telegram所做的事情) 我的问题是,如何将gif转换为mp4以减小其大小,使用电报中提到的ffmpeg(不在命令行中,在android中)呢 我所尝试的如何在android上使用FFMPEG将GIF转换为优化的mp4视频? 我成功地将FFMPEG集成到Android上,我用JNI来把我的java类与C++和C++类通信。,android,c,video,ffmpeg,gif,Android,C,Video,Ffmpeg,Gif,背景和我的问题 一个可以发送GIF的聊天应用程序,问题是一个GIF的重量可能高达2MB,经过大量研究,我发现最好的解决方案是将这些GIF转换为mp4(Facebook messenger、whatsapp和telegram所做的事情) 我的问题是,如何将gif转换为mp4以减小其大小,使用电报中提到的ffmpeg(不在命令行中,在android中)呢 我所尝试的 理解和执行电报(非常复杂,我无法完全理解) 将gif转换为位图帧,压缩每个位图,然后将这些位图转换为mp4(我无法通过JNI将位图对
- 理解和执行电报(非常复杂,我无法完全理解)
- 将gif转换为位图帧,压缩每个位图,然后将这些位图转换为mp4(我无法通过JNI将位图对象传递给C,因为“致命信号11(SIGSEGV),代码1,tid 26952中的错误地址0x31f”是另一个问题)
上述问题的问题是,他们使用的是命令行FFMPEG,这不是我正在做的,我正在使用JNI并直接访问上述库的c类。“使用FFMPEG(不在命令行中)”查看FFMPEG命令行工具的实际功能(通过查看其源代码)当将.gif转换为.mp4并将其包装成一个函数时,您可以从java调用。@alk对延迟回复表示歉意,是的,我已经检查了ffmpeg.c的功能,它的主要方法接收两个参数,一个数组(命令的参数)和它的长度。这不是我想要做的,因为它在android设备上非常慢。”使用ffmpeg(不在命令行中)“查看ffmpeg命令行工具在将.gif转换为.mp4时实际执行的操作(通过查看其源代码),并将其包装成一个函数,然后从java调用。@alk对延迟回复表示歉意,是的,我已经检查了ffmpeg.c的操作,它的主要方法接收两个参数,一个数组(命令的参数)和它的长度。这不是我想要做的,因为它在android设备上非常慢。