Как выводить видеофайлы
Как записать в базу данных видеофайл?
и как вывести его на страницу?
Практикуясь вчера я сталкнулся с такой проблемой.
В структуре БД у меня стоит варчар и путь к файлу (на пк), но вывести не получается на страницу через тег видео.
<?php foreach ($portfolio as $key => $value): ?>
<video src="/portfolio/view/<?php $value['slug']; ?>"><?php $value['video']; ?></video>
<?php endforeach ?>
Как записывать в БД и как выводить из БД видео?
9 ответов
Видеофайл должен лежать в публичной директории сайта, например в каталоге 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 - это названия и форматы вашего видеофайла.
Просто без базы данный ссылку на файл в плеер разместите и если работает, значит в базе данных проблема, если не работает, тогда смотрите, чтобы путь верным был.
varchar какой длины? Имеет смысл в базе хранить только название файла, а путь статически указывать в html коде. Типа:
src="/assets/video/<?= $my_video_name_from_db; ?>"
Не думаю что это хорошая идея, ведь планируется что видео пользователь/админ будет добавлять на страницу.
Через <input type="file">
Нормально будет, нужно программировать логику, в какую директорию будут помещаться файлы, после загрузки админом видео через input type file. Поэтому путь имеет смысл задавать статикой в большинстве случаев или в базе хранить отдельное поле для директории и/или частичное (например поддиректория/имяфайла или просто имя файла). Иногда хранят в конфигах фреймворка путь до папки хранения изображений/видео и т.д.
Спасибо, я настроил видеопроигрыватель, но всё равно, видеоплеер не хочет воспроизводить видео, проблема в чём то другом может нужно делать модель в CI для видео?
Статически всё работает.
Может должен быть не варчар, а другой тип данных?
Хотя с img варчар проканывает.
по стандарту 255
Не думаю что это хорошая идея, ведь планируется что видео пользователь/админ будет добавлять на страницу.
Через <input type="file">
Спасибо это разрешило мою проблемку.