2011-07-12 17 views
14

Estoy tratando de crear una función de video streaming como DVR en una aplicación que estoy desarrollando. Tengo un HTTP Live Stream que he conseguido reproducir con éxito en el iPad. Quiero que el usuario pueda presionar el botón "Grabar" y comenzar a grabar el video que se está reproduciendo desde ese punto. 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 la transmisión de video. No veo ningún método para acceder a los datos del objeto en la documentación de Apple. Aquí hay algunos pensamientos que tenía sobre cómo hacerlo.¿Grabar video en tiempo real HTTP para archivar mientras mira?

1) Acceda de alguna manera a los datos de video desde MPMoviePlayerController y escríbalos en un archivo. O use otro tipo de objeto de jugador 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) Ubique los segmentos de video HTTP Live Streaming donde están almacenados por MPMoviePlayerController. Es de suponer que necesitan 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 continuo a través de http mientras se transmite el archivo. Esto parece que no es ideal, ya que la transmisión debería descargarse dos veces.

5) Esto podría funcionar. Periódicamente descargue los segmentos de video al iPhone. Configure un servidor http local en el iPhone y el servidor los videos en el MPMoviePlayerController. De esta forma, los segmentos de video podrían marcarse para grabar y ensamblarse en un video.

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

¿Alguien ha hecho alguna de estas cosas? Idealmente, el iPhone solo podría 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 es necesario.

Gracias de antemano.

+0

¿Tiene algo que decir al respecto? –

+0

@David ¿Has completado esta funcionalidad? Si es así, ¿pueden publicar algún código relevante o señalarnos en la dirección correcta? –

Respuesta

2

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

Si usted quiere lograr de DVR reproducción en dispositivos con iOS (u otros dispositivos con 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. Al usar las etiquetas EXT-X-PLAYLIST-TYPE y EXT-X-MEDIA-SEQUENCE, puede sugerir al jugador que está abriendo una transmisión en vivo que tiene disponible un video de DVR (anterior).

Como alternativa, puede usar un servidor que lo haga de fábrica, por ejemplo Wowza. Here's an article on how to achieve this with Wowza

Cuestiones relacionadas