Lire le fichier vidéo local (disque dur) avec la balise vidéo HTML5?

Je veux réaliser ce qui suit.

<video src="file:///Users/username/folder/video.webm">
</video>

L'intention est que l'utilisateur puisse sélectionner un fichier à partir de son disque dur.

Et la raison de ne pas télécharger est bien sûr les coûts de transmission et le quota de stockage. Il n'y aura aucune raison d'enregistrer le fichier.

Est-ce possible?

68
demandé sur chris 2012-01-17 00:11:57

3 réponses

, Il est possible de lire un fichier vidéo local.

<input type="file" accept="video/*"/>
<video controls autoplay></video>

Lorsqu'un fichier est sélectionné via l'élément input:

  1. "modifier" l'événement est déclenché
  2. récupère le premier objetfichier du input.files liste des fichiers
  3. créez une URL d'objet qui pointe vers l'objet Fichier
  4. définissez L'URL de l'objet sur la propriété video.src
  5. Se Pencher en arrière et regarder :)

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

192
répondu Dimitar Bonev 2016-04-02 13:39:47

A rencontré ce problème il y a quelque temps. Le site web n'a pas pu accéder au fichier vidéo sur un PC local en raison de paramètres de sécurité (compréhensibles vraiment) La seule façon de le contourner était d'exécuter un serveur web sur le PC local (server2Go) et toutes les références au fichier vidéo du web étaient à localhost/video.mp4

<div id="videoDiv">
     <video id="video" src="http://127.0.0.1:4001/videos/<?php $videoFileName?>" width="70%" controls>
    </div>
<!--End videoDiv-->

Pas une solution idéale mais a fonctionné pour moi.

7
répondu jcoshea 2012-03-08 15:37:28

Cela ne sera possible que si le fichier HTML est également chargé avec le protocole file à partir du disque dur de l'utilisateur local.

Si la page HTML est servie par HTTP à partir d'un serveur, vous ne pouvez accéder à aucun fichier local en les spécifiant dans un attribut src avec le protocole file:// car cela signifierait que vous pourriez accéder à n'importe quel fichier sur l'ordinateur des utilisateurs sans que l'utilisateur sache quel serait un risque de sécurité énorme.

Comme Dimitar Bonev dit, vous peut accéder à un fichier si l'utilisateur le sélectionne en utilisant un sélecteur de fichiers sur leur propre. Sans cette étape, il est interdit par tous les navigateurs pour de bonnes raisons. Ainsi, bien que sa réponse puisse s'avérer utile pour beaucoup de gens, elle desserre l'exigence du code dans la question initiale.

6
répondu Holger Just 2014-03-12 17:05:12