¿Reproduce un archivo de video local (disco duro) con una etiqueta de video HTML5?

Quiero lograr lo siguiente.

 

La intención es que el usuario pueda seleccionar un archivo de su disco duro.

Y la razón para no cargar es, por supuesto, los costos de transmisión y la cuota de almacenamiento. No habrá ninguna razón para guardar el archivo.

¿Es posible?

Es posible reproducir un archivo de video local.

   

Cuando se selecciona un archivo a través del elemento de input :

  1. el evento ‘cambio’ se dispara
  2. Obtenga el primer objeto File de la lista input.files input.files
  3. Crear un objeto URL que apunte al objeto File
  4. Establezca el URL del objeto en la propiedad video.src
  5. Apóyate y mira 🙂

http://jsfiddle.net/dsbonev/cCCZ2/embedded/result,js,html,css/

Se metió en este problema hace un tiempo. El sitio web no podía acceder al archivo de video en la PC local debido a la configuración de seguridad (comprensible en realidad). SOLO modo de evitarlo era ejecutar un servidor web en la PC local (server2Go) y todas las referencias al archivo de video de la web localhost / video.mp4

 

No es una solución ideal, pero funcionó para mí.

Eso solo será posible si el archivo HTML también está cargado con el protocolo de file del disco duro del usuario local.

Si la página HTML es servida por HTTP desde un servidor, no puede acceder a ningún archivo local al especificarlos en un atributo src con el protocolo file:// , ya que eso significaría que podría acceder a cualquier archivo en la computadora del usuario sin que el usuario sabiendo que sería un gran riesgo de seguridad.

Como dijo Dimitar Bonev, puede acceder a un archivo si el usuario lo selecciona utilizando un selector de archivos. Sin ese paso, está prohibido por todos los navegadores por buenas razones. Por lo tanto, si bien su respuesta puede resultar útil para muchas personas, afloja el requisito del código en la pregunta original.