AVFoundation Record Video для веб-воспроизведения - необходимо загрузить ВЕСЬ файл перед началом воспроизведения - PullRequest
3 голосов
/ 07 декабря 2011

У меня есть приложение для iPad, которое записывает видео и отправляет его в мое приложение SaaS с помощью AVFoundation. Мое веб-приложение затем читает файл и воспроизводит его, используя JWPlayer.

Проблема, с которой я столкнулся, заключается в том, что JWPlayer (или любой плеер, который я пробовал) должен загрузить ВЕСЬ видеофайл, прежде чем он будет воспроизводиться. После некоторого чтения я обнаружил, что видео, записанные с IOS, не имеют «быстрого запуска из Интернета». Или что-то в этом роде.

Я использую AVFoundation. Есть ли другой способ сохранить видео, чтобы оно сразу передавалось с моего веб-сервера? Чего мне не хватает?

1 Ответ

5 голосов
/ 07 декабря 2011

Свойство shouldOptimizeForNetworkUse в AVWriter позволяет вам сделать это.

Вы можете использовать его для перезаписи захваченного файла фильма перед загрузкой на сервер (или сразу после захвата, как мне кажется).

Edit:

Хорошо, я сейчас не на Mac, но что-то вроде этого:

AVAsset *originalFile = [AVAsset assetWithURL:originalFileURL];

NSURL *outputFileURL = wherever you want to put it;

NSError *readerError;  

NSError *writerError;

AVAssetReader *reader = [AVAssetReader assetReaderWithAsset:originalFile error:&readerError];

AVAssetWriter *writer = [AVAssetWriter assetWriterWithURL:outputFileURL fileType:AVFileTypeQuickTimeMovie error:&writerError];

writer.shouldOptimizeForNetworkUse = YES;

[writer startWriting];

...

и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...