Ios 在设备上将GIF转换为MP4

Ios 在设备上将GIF转换为MP4,ios,mpmovieplayercontroller,gif,mp4,Ios,Mpmovieplayercontroller,Gif,Mp4,是否可以使用遥控器(但如果需要,我可以先下载)GIF序列并在设备上播放MPMoviePlayerServiceController mp4 我试过使用,但API不适合,而且免费版本对我们的需求限制太大 也似乎不包括GIF支持。这并不容易。解决方案中有一个要点片段 1st-将所有图像与GIF分开。 第二,从单独的图像创建视频 请检查一下这个。我想你能找到你想要的解决方案。 通过此链接,您可以轻松地将GIF文件转换为MP4。 点击 Swift 3.0版 用法 嘿,保罗,有两件事:我检查了你的实现,

是否可以使用遥控器(但如果需要,我可以先下载)GIF序列并在设备上播放MPMoviePlayerServiceController mp4

我试过使用,但API不适合,而且免费版本对我们的需求限制太大


也似乎不包括GIF支持。

这并不容易。解决方案中有一个要点片段

1st-将所有图像与GIF分开。 第二,从单独的图像创建视频

请检查一下这个。我想你能找到你想要的解决方案。 通过此链接,您可以轻松地将GIF文件转换为MP4。 点击 Swift 3.0版

用法


嘿,保罗,有两件事:我检查了你的实现,它非常酷!谢谢。我给你一个提示和一个问题:D你应该只做totalFrameDelay+=delayTime.floatValue;如果当前帧=0以避免黑色起始帧。我的问题:我发现许多GIF在使用代码转换后,颜色表被破坏。知道怎么解决吗?对不起,不知道,我几年前写的,现在不记得了。谢谢你的错误修复!我刚刚发现了问题。由于某些原因,在设备上(不在模拟器中)iOS将RGB顺序更改为GBR,这仅在某些帧尺寸上发生!Swift 3版本?“虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。”注意:转换器仅为iOS>=11
let data = try! Data(contentsOf: Bundle.main.url(forResource: "gif", withExtension: "gif")!)
let tempUrl = URL(fileURLWithPath:NSTemporaryDirectory()).appendingPathComponent("temp.mp4")
GIF2MP4(data: data)?.convertAndExport(to: tempUrl, completion: { })