Записывать потоковое видео HTTP в файл во время просмотра?

Я пытаюсь создать видеорегистратор с потоковым видео в приложении, которое я разрабатываю. У меня есть HTTP Live Stream, который я успешно воспроизвел на iPad. Я хочу, чтобы пользователь мог нажать кнопку «Запись» и начать запись видео, которое сейчас воспроизводится с этой точки. Этот видеофайл будет доступен из приложения или из фотопленки. В настоящее время я использую объект MPMoviePlayerController для воспроизведения видеопотока. Я не вижу в документации Apple методов доступа к данным из объекта. Вот некоторые мысли, которые у меня возникли по поводу того, как это сделать:

1) Каким-то образом получить доступ к видеоданным из MPMoviePlayerController и записать их в файл. Или используйте другой тип объекта проигрывателя, который позволит мне воспроизводить видео и получать доступ к текущим воспроизводимым данным.

2) Реализуйте своего рода запись захвата экрана, которая получает видео-захват экрана iPad. Это позволило бы мне записать видео в виде «снимков экрана».

3) Найдите сегменты видео HTTP Live Streaming, где они хранятся MPMoviePlayerController. Предположительно их нужно где-то хранить на iPad для воспроизведения. Есть ли способ получить доступ к этим файлам?

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

5) Это может сработать. Периодически загружайте фрагменты видео на iPhone. Настройте локальный http-сервер на iPhone и передайте видео на MPMoviePlayerController. Таким образом, сегменты видео могут быть помечены для записи и собраны в видео.

6) У меня есть контроль над сервером потоковой передачи. Я мог бы написать код на стороне сервера для записи видео на стороне сервера, а затем отправить видео на iPad после того, как это произошло. Я бы предпочел не делать этого.

Кто-нибудь делал что-нибудь из этого? В идеале iPhone просто мог бы каким-то образом получать доступ к видеоданным и легко их записывать. Я бы предпочел не использовать варианты 4, 5 или 6 (выше), если мне это не нужно.

Заранее спасибо.

14
задан David 12 July 2011 в 22:05
поделиться