【问题标题】:On-the-fly conversion of MPEG files on MonoTouch在 MonoTouch 上即时转换 MPEG 文件
【发布时间】:2009-11-03 21:53:17
【问题描述】:

我有一个 iPhone 应用程序,它使用以荷兰手语显示手势的小型 MPEG 电影。我从Gebarencentrum 得到了他们的许可。但它们都是旧的 MPEG-1 格式,iPhone 不会播放。允许我批量转换数百部电影并将它们放在我自己的网站上,但他们不会让我对所有 6000 部电影都这样做。因此,在将电影从他们的服务器获取到我的 iPhone 后,我需要将电影从 MPEG-1 转换为 MP4。 我已经搜索过 ffmpeg 之类的库,但如果它已经移植到 Mono,则没有。也许我不必将 ffmpeg 移植到 .NET/Mono,因为我可以 P/Invoke 到 ffmpeg 库。但是我可以在我的 iPhone 上安装 ffmpeg 吗?如果可以,如何安装?

我愿意接受任何想法。

谢谢,

理查德

【问题讨论】:

    标签: .net mono ffmpeg xamarin.ios mpeg


    【解决方案1】:

    在 XCode 中将 ffmpeg 编译为库,然后将其链接到您的程序: http://wiki.monotouch.net/HowTo/Interop/Consuming_3rd_Party_ObjC_Libraries

    由于应用程序只能在 iPhone 上进行静态链接,而不是使用 P/Invoke 覆盖共享库名称,如下所示:

    [DllImport ("ffmpeg.so")] extern static int ffmpeg_init();

    您需要使用 __Internal 目标:

    [DllImport ("__Internal")] extern static int ffmpeg_init();

    【讨论】:

    • 谢谢 Miguel,我仍然在努力,时不时地,我发现这真的很难。我在同一个 wiki 上找到了另一篇文章,对它进行了更多解释:wiki.monotouch.net/HowTo/Interop/…
    【解决方案2】:

    不是使用 ffmpeg 将 mpeg-1 转换为 iPhone 上可播放的非常 mp4(v) slowww 吗? 或者这是一个好的前进方向?

    【讨论】:

    • 嗨,托尼,这可能不是最聪明的主意,但鉴于视频所有者的限制,我别无选择。该项目现已停止,因为他们完全撤销了使用视频的许可。
    猜你喜欢
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2014-07-24
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多