Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android上使用FFMPEG将GIF转换为优化的mp4视频? 我成功地将FFMPEG集成到Android上,我用JNI来把我的java类与C++和C++类通信。_Android_C_Video_Ffmpeg_Gif - Fatal编程技术网

如何在android上使用FFMPEG将GIF转换为优化的mp4视频? 我成功地将FFMPEG集成到Android上,我用JNI来把我的java类与C++和C++类通信。

如何在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的聊天应用程序,问题是一个GIF的重量可能高达2MB,经过大量研究,我发现最好的解决方案是将这些GIF转换为mp4(Facebook messenger、whatsapp和telegram所做的事情)

我的问题是,如何将gif转换为mp4以减小其大小,使用电报中提到的ffmpeg(不在命令行中,在android中)呢

我所尝试的

  • 理解和执行电报(非常复杂,我无法完全理解)
  • 将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设备上非常慢。