Как выводить видеофайлы

1

Как записать в базу данных видеофайл?
и как вывести его на страницу? 
Практикуясь вчера я сталкнулся с такой проблемой.
В структуре БД у меня стоит варчар и путь к файлу (на пк), но вывести не получается на страницу через тег видео.

<?php foreach ($portfolio as $key => $value): ?>
<video src="/portfolio/view/<?php $value['slug']; ?>"><?php $value['video']; ?></video>
<?php endforeach ?>



Как записывать в БД и как выводить из БД видео?

mysql
php
codeigniter

9 ответов

2

Видеофайл должен лежать в публичной директории сайта, например в каталоге assets, где лежат css, js и т.д. там можно создать папку video и видеофайл нужно положить туда.

Если просто указать произвольный путь к видеофайлу на компьютере - не будет работать + видеофайл должен быть в определенном формате, т.е. нельзя к примеру "скормить" плееру файл myvideo.mkv, обычно видеофайл должен быть в mp4. 

Также должен стоять плеер, например этот:

https://videojs.com/getting-started/

который подключается так:

<head>
  <link href="http://vjs.zencdn.net/6.6.3/video-js.css" rel="stylesheet">

  <!-- If you'd like to support IE8 -->
  <script src="http://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
</head>

<body>
  <video id="my-video" class="video-js" controls preload="auto" width="640" height="264"
  poster="MY_VIDEO_POSTER.jpg" data-setup="{}">
    <source src="MY_VIDEO.mp4" type='video/mp4'>
    <source src="MY_VIDEO.webm" type='video/webm'>
    <p class="vjs-no-js">
      To view this video please enable JavaScript, and consider upgrading to a web browser that
      <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
    </p>
  </video>

  <script src="http://vjs.zencdn.net/6.6.3/video.js"></script>
</body>

где MYVIDEO.mp4 и MYVIDEO.webm - это названия и форматы вашего видеофайла.

2

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

2

varchar какой длины? Имеет смысл в базе хранить только название файла, а путь статически указывать в html коде. Типа:

src="/assets/video/<?= $my_video_name_from_db; ?>"
2

Не думаю что это хорошая идея, ведь планируется что видео пользователь/админ будет добавлять на страницу.

Через <input type="file">

Нормально будет, нужно программировать логику, в какую директорию будут помещаться файлы, после загрузки админом видео через input type file. Поэтому путь имеет смысл задавать статикой в большинстве случаев или в базе хранить отдельное поле для директории и/или частичное (например поддиректория/имяфайла или просто имя файла). Иногда хранят в конфигах фреймворка путь до папки хранения изображений/видео и т.д.

2

Спасибо,  я настроил видеопроигрыватель, но всё равно, видеоплеер не хочет воспроизводить видео, проблема в чём то другом может нужно делать модель в CI для видео?

2

Статически всё работает.
Может  должен быть не варчар, а другой тип данных?
Хотя с img варчар проканывает.

2

по стандарту 255

2

Не думаю что это хорошая идея, ведь планируется что видео пользователь/админ будет добавлять на страницу.

Через <input type="file">

2

Спасибо это разрешило мою проблемку.

Sign up or Log in to write an answer