/ / ¿Grabar HTTP Live Streaming Video a archivo mientras mira? - iPhone, Cocoa-Touch, iPad, streaming, mpmovieplayercontroller

Grabar video streaming HTTP en vivo a un archivo mientras mira? - iphone, cocoa-touch, ipad, transmisión por secuencias, mpmovieplayercontroller

Estoy tratando de crear un video DVR de transmisión comoFuncionalidad en una aplicación que estoy desarrollando. Tengo una transmisión en vivo HTTP que he logrado reproducir en el iPad. Quiero que el usuario pueda presionar el botón "Grabar" y comenzar a grabar el video que se está reproduciendo en ese momento. Se podrá acceder a este archivo de video desde la aplicación o desde el rollo de la cámara. Actualmente, estoy usando el objeto MPMoviePlayerController para reproducir el flujo de video. No veo ningún método para acceder a los datos desde el objeto en la documentación de Apple. Aquí hay algunas ideas que tuve sobre cómo abordar esto.

1) De alguna manera acceder a los datos de video desdeMPMoviePlayerController, y escribe esto en un archivo. O utilice otro tipo de objeto reproductor que me permita reproducir el video y acceder a los datos que se están reproduciendo actualmente.

2) Implemente algún tipo de grabación de captura de pantalla que obtenga una captura de video de la pantalla del iPad. Esto me permitiría grabar el video en una especie de "captura de pantalla".

3) Localice los segmentos de video HTTP Live Streamingdonde son almacenados por MPMoviePlayerController. Es de suponer que deben almacenarse en algún lugar del iPad para su reproducción. ¿Hay alguna forma de acceder a estos archivos?

4) Descargue manualmente los segmentos de video en streaming a través de http mientras transmite el archivo. Esto parece que no es ideal, ya que la transmisión debería descargarse dos veces.

5) Esto podría funcionar. Descarga periódicamente los segmentos de video al iPhone. Configure un servidor http local en el iPhone y envíe los videos al MPMoviePlayerController. De esta manera, los segmentos de video podrían marcarse para grabarse y ensamblarse en un video.

6) Tengo el control del servidor de streaming. Podría escribir algún código del lado del servidor para grabar el video en el extremo del servidor y luego enviar el video al iPad después del hecho. Preferiría no hacer esto.

¿Alguien ha hecho alguna de estas cosas? Lo ideal sería que el iPhone solo pudiera acceder a los datos de video de alguna manera y grabarlos fácilmente. Preferiría no entrar en las opciones 4, 5 o 6 (arriba) si no tengo que hacerlo.

Gracias por adelantado.

Respuestas

2 para la respuesta № 1

La DVR en el dispositivo no se recomienda, debido al espacio limitado disponible y otros factores como la duración de la batería, la potencia de procesamiento, los procedimientos de limpieza después de que el usuario detiene el dvr, etc.

Si quieres lograr la reproducción de DVR en iOSdispositivos (u otros dispositivos que utilizan HLS), le sugiero que mantenga el lado del servidor de video. La transmisión en vivo ya está capturada y el lado del servidor segmentado, todo lo que tendría que hacer es mantener los segmentos un poco más largos, en lugar de eliminarlos. Utilizando el EXT-X-PLAYLIST-TYPE y EXT-X-MEDIA-SECUENCIA En las etiquetas, puede sugerir al jugador que está abriendo una transmisión en vivo que tiene video DVR (anterior) disponible.

Alternativamente, puede usar un servidor que lo haga de forma inmediata, por ejemplo, Wowza. Aquí hay un artículo sobre cómo lograr esto con Wowza.