c# - 解码 GIF 帧并编码为视频 C#

标签 c# win-universal-app windows-10-universal

我正在开发一个使用 8tracks API 的应用程序。有些播放列表将 gif 用作播放列表艺术,我希望在应用程序中播放这些 gif。 UWP 不支持 native gif 播放,因此我正在尝试找出一种方法让它们播放。到目前为止,我已经尝试使用 XamlAnimatedGif 但它的性能很差,尤其是在手机上。

现在我正在使用 Giphy API 上传 gif,它还会创建 gif 的 mp4 版本并在 MediaElement 中顺利播放。我可以一次流畅地播放多达 10 个 MP4(并不是在给定时间需要播放那么多)。我想知道是否可以消除 Giphy,并让计算机/手机只获取 gif 中的每一帧,然后将它们编码为 mp4(或其他视频文件)。这是一个好的选择吗?与我已经使用 Giphy 所做的相比,这样做有什么缺点?如果我决定至少尝试一下,有没有什么地方可以阅读有关将 gif 解码为帧并将其编码为视频的信息?

最佳答案

您可以使用 GifBitmapDecoder 来获取帧

https://msdn.microsoft.com/en-us/library/system.windows.media.imaging.gifbitmapdecoder(v=vs.90).aspx

这里有很多选项可以将静态图像转换为视频:

How can I create a video from a directory of images in C#?

关于c# - 解码 GIF 帧并编码为视频 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36594306/

相关文章:

c# - MVC 外部登录 - 使用 Google People API

c# - 将字符串转换为控件名称 c# wp8.1

c# - 在共享 (.shproj) 项目中添加引用

javascript - 关闭 x-ms-webview 自动缩放

c# - UWP 焦点控制

c# - 如何从 WCF 服务返回图像?

c# - 如何在Sqlite中使用通配符匹配目录路径

c# - 简化winforms代码跨线程调用

unit-testing - Windows 10 通用应用程序单元测试项目

c# - 如何计算起始坐标和结束坐标之间的坐标 - uwp c#