Cómo servir vídeo MP4 para HTML5
Publicado: 2013-08-27 12:55 @580
Tengo una página con vídeo en HTML5:
como ven es muy simple pero funciona. El problema está cuando cambia la URL del vídeo, de src="http://192.168.1.68/video.mp4" por un cgi src="http://192.168.1.68/descargas/d.pl", que usaba para servir imágenes, vídeos Flash, MP3, y distintas descargas. PERO parece no funciona con vídeo MP4.
EL d.pl es básicamente:
Pero solo funciona los cinco primeros segundos del vídeo y todo pasa deprisa hasta los "4:20", el reproductor de HTML5 no detecta los 4:20, solo los 00:05...
Al parecer es la cabecera, ahí se muestra un intento de COPIA de la cabecera que manda el Apache cuando la URL del vídeo es directo.
Nuevamente, estoy perdido...
Using html4strict Syntax Highlighting
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Documento sin título</title>
- </head>
- <body>
- <video controls src="http://192.168.1.68/video.mp4">Tu navegador no soporta HTML5 </video>
- </body>
- </html>
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
como ven es muy simple pero funciona. El problema está cuando cambia la URL del vídeo, de src="http://192.168.1.68/video.mp4" por un cgi src="http://192.168.1.68/descargas/d.pl", que usaba para servir imágenes, vídeos Flash, MP3, y distintas descargas. PERO parece no funciona con vídeo MP4.
EL d.pl es básicamente:
Using perl Syntax Highlighting
- #!/usr/bin/perl
- use CGI qw(:standard);
- use CGI::Carp qw(fatalsToBrowser);
- use LWP::Simple;
- use URI::Escape;
- use LWP::UserAgent;
- $archivo = "video.mp4";
- $peso = -s $archivo;
- print "Accept-Ranges:bytes\r\n";
- print "content-Length: 3621948\r\n";
- print "Content-Range:bytes 2331-3624278/3624279\r\n";
- print "Content-type: video/mp4\r\n";
- print "Last-Modified:Fri, 23 Aug 2013 16:34:09 GMT\r\n";
- print "ETag:\"2381da4-374d57-4e49ff9d138a7\"\r\n";
- print "\r\n";
- print "\r\n";
- open IMAGE, "$archivo";
- my ($buff);
- while ( read IMAGE, $buff, 1024 ) {
- print $buff;
- }
- close IMAGE;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Pero solo funciona los cinco primeros segundos del vídeo y todo pasa deprisa hasta los "4:20", el reproductor de HTML5 no detecta los 4:20, solo los 00:05...
Al parecer es la cabecera, ahí se muestra un intento de COPIA de la cabecera que manda el Apache cuando la URL del vídeo es directo.
Nuevamente, estoy perdido...