2009-11-03 4 views
0

У меня есть приложение для iPhone, которое использует небольшие MPEG-фильмы, показывающие знаки руки на голландском языке жестов. Я получаю фильмы с Gebarencentrum, с их разрешения. Но они все в старом формате MPEG-1, и iPhone не будет играть в этом. Это позволило мне конвертировать пару видеороликов в пакетном режиме и разместить их на моем собственном веб-сайте, но они не позволят мне делать это со всеми 6000 фильмами. Поэтому мне нужно преобразовать фильм из MPEG-1 в MP4 после получения его с сервера на мой iPhone. Я искал библиотеки, такие как ffmpeg, но ни один, если он уже портирован в Mono. Возможно, мне не нужно переносить ffmpeg в .NET/Mono, так как я могу P/Invoke в библиотеке ffmpeg. Но могу ли я установить ffmpeg на свой iPhone, и если да, то как?Преобразование MPEG-файлов на MonoTouch

Я открыт для любых идей.

Спасибо,

Ричард

ответ

2

Compile FFmpeg в качестве библиотеки в XCode, а затем связать его с программой: http://wiki.monotouch.net/HowTo/Interop/Consuming_3rd_Party_ObjC_Libraries

Поскольку приложения только может статически на iPhone, вместо того, чтобы использовать P/Вызов по имени общей библиотеки, например:

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

Вы должны использовать __Internal цель:

[DllImport ("__Internal")] Экстерн статический Int ffmpeg_init();

+0

Спасибо Мигель, я все еще работаю над этим, время от времени, и мне это очень сложно. Я нашел еще одну статью на той же вики, которая объясняет это немного больше: http://wiki.monotouch.net/HowTo/Interop/Interopping_with_Open_Source_Text-to-Speech_%28TTS%29_C_libraries__for_iPhone. – Richard

0

не использует ffmpeg для преобразования mpeg-1 в воспроизводимый очень mp4 (v) медленный на iPhone? или это хороший путь вперед?

+0

Привет, Тони, это, наверное, была не самая яркая идея, но у меня не было выбора, учитывая ограничения от владельца видео. Проект выключен, так как они полностью снимают свое разрешение на использование видео. – Richard