在xamarin中将图像列表\图像列表编码为视频MP4

问题描述 投票:0回答:1

我正在构建一个应用,该应用将图像流或图像阵列编码为Xamarin形式的MP4视频。我找不到适用于xamarin表单的任何内容,并且我已经尝试过这些方法:

1。 FFmpeg-(不适用于xamarin本机,需要.netCore(安装任何相关的NuGet软件包时出现错误)2。 libvlc-我认为它没有任何转换或编码功能。3。在google,此处和xamarin论坛中搜索了解决方案。4。 skiasharp-显然仅用于绘制2D,而不用于视频编码。5。 Nreco-需要许可证。6。 AviSharp / Aforge / Mediacodec / etc-仅用于iOS \ Android7。从头开始对MP4进行编码-注意工作量过多。

没有任何方法可以在每个特定于平台的视频上不对视频进行编码吗?

提前感谢!

xamarin xamarin.forms encode video-conversion
1个回答
0
投票

正如您已经从研究中注意到的那样,在尝试执行此类操作时,您根本无法绕过特定于平台的层。从技术上讲,您可以在C#核心层上几乎完成所有工作,而只是文件加载和保存是特定于平台的,但这当然需要您自己编写编码代码。

我可能会通过以下方式进行处理:

Android上的FFmpeg

  1. Xamarin.Android.MP4Transcoder NuGet安装到您的Android项目(根本不要安装到核心项目)。如果这不起作用,请评论确切的错误是什么。
  2. 查看GitHub存储库中的README.md,以获取有关如何使用该库对mp4文件进行编码的示例。
  3. 使用核心项目中的DependencyService来调用Android项目中的视频编码代码。

iOS上的AVAssetWriter

iOS具有由AVFoundation框架提供的用于创建,播放和编辑mp4(和其他)视频文件的现成支持。使用它是有道理的,因为它已经得到了充分的文档记录,测试和作为核心组件可用(没有麻烦的开源库许可等)。

同样,您应该在iOS项目上实现代码,并使用DependencyService从核心调用它。关于如何使用AVAssetWriter编码来自流或一堆图像的mp4文件,有很多示例。

[如果您想了解编码过程涉及哪些不同的类,也许看看Xamarin的PhotoFilter示例。

© www.soinside.com 2019 - 2024. All rights reserved.