Воспроизведение локального (жесткого диска) видеофайла с тегом HTML5 video?


Я хочу добиться следующего.

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

предполагается, что пользователь сможет выбрать файл со своего жесткого диска.

и причина для не загрузки, конечно, затраты на передачу и квоты хранения. Не будет никакой причины сохранять файл.

это возможно?

3 68

3 ответа:

можно воспроизвести локальный видеофайл.

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

когда файл выбирается через input элемент:

    "изменить" уволен
  1. сделать первый File объект input.filesFileList
  2. сделать URL объекта что указывает на объект File
  3. установите URL объекта в video.src свойства
  4. откиньтесь назад и смотрите :)

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

столкнулся с этой проблемой некоторое время назад. Сайт не смог получить доступ к видеофайлу на локальном ПК из-за настроек безопасности (понятно действительно) Единственный способ обойти это-запустить веб-сервер на локальном ПК (server2Go) , и все ссылки на видеофайл из интернета были на 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-->

не идеальное решение, но работает для меня.

Это будет возможно только в том случае, если HTML-файл также загружен с file протокол с жесткого диска локального пользователя.

Если HTML-страница обслуживается HTTP с сервера, вы не можете получить доступ к локальным файлам, указав их в с file:// протокол, поскольку это означало бы, что вы можете получить доступ к любому файлу на компьютере пользователя, не зная пользователя, который будет представлять собой огромный риск для безопасности.

как сказал Димитар Бонев, ты можете открыть файл, если пользователь выбирает его с помощью селектора файлов самостоятельно. Без этого шага, это запрещено всеми браузерами по уважительным причинам. Таким образом, хотя его ответ может оказаться полезным для многих людей, он ослабляет требование из кода в исходном вопросе.