получение видео из базы данных с использованием php

Я пытаюсь выяснить, как получить video_link из моей базы данных после того, как пользователи выбирают видео, используя форму html. В мою базу данных, исходное видео и сжатое видео загружаются 2 видео в зависимости от подключения пользователя. Соответствующее видео будет вставляться в тег html 5 video в viewvideo.php, однако, поскольку ajax ожидает ответа в $ ("#speed") .val (html); i dun думаю, я могу вставить видео в viewvideo.php

Итак, мой вопрос: что мне теперь делать? где я должен получить видео-ссылку и встроить видео?

Это мое кодирование.

У меня есть html-форма, которая извлекает скорость подключения пользователя и видео_ид, которую пользователь хочет посмотреть и использовать ajax для отправки данных формы

Html-форма

<form action="viewvideo.php" method="post" > <br/> Please select the video <br/> <select name="video_id"> <?php while($row = mysqli_fetch_array($result)) { ?> <option value="<?php echo $row['video_id']?>"> <?php echo $row['videoname']?> </option> <?php } ?> </select> <br /> <input type="text" id="speed" name="speed" value=""> <input type="Submit" id="Submit" value="Submit" /> </form> 

Ajax

  $.ajax({ method: "POST", url: "viewvideo.php", data: {speedMbps: speedMbps, video_id: $('[name="video_id"').val()}, cache: false }).done(function( html ) { $( "#speed" ).val( html ); }); 

viewvideo.php

  if(isset($_POST['video_id']) && isset($_POST['speedMbps'] )){ $id = trim($_POST['video_id']); $speed = $_POST['speedMbps']; echo $id; $result = mysqli_query($dbc , "SELECT `video_id`, `video_link` FROM `video480p` WHERE `video_id`='".$id."'"); $count = mysqli_num_rows($result); if (($speed < 100) && ($count>0)) { //if user speed is less than 100 retrieve 480p quailtiy video //does it exist? //if($count>0){ //exists, so fetch it in an associative array $video_480p = mysqli_fetch_assoc($result); //this way you can use the column names to call out its values. //If you want the link to the video to embed it; echo $video_480p['video_link']; } else{ //does not exist } ?> <video id="video" width="640" height="480" controls autoplay> <source src="<?php echo $video_480p['video_link']; ?>" type="video/mp4"> Your browser does not support the video tag. </video> <br /> <?php $result2 = mysqli_query($dbc , "SELECT `video_id`, `video_link` FROM `viewvideo` WHERE `video_id`='".$video_id."'"); $count2 = mysqli_num_rows($result2); // retrieve original video if (($speed >= 100) && ($count2 >0)) { //does it exist? //if($count2>0){ //exists, so fetch it in an associative array $video_arr = mysqli_fetch_assoc($result2); //this way you can use the column names to call out its values. //If you want the link to the video to embed it; echo $video_arr['video_link']; } else{ //does not exist } ?> <video id="video" width="640" height="480" controls autoplay> <source src="<?php echo $video_arr['video_link']; ?>" type="video/mp4"> Your browser does not support the video tag. </video> <br /> <?php mysqli_close($dbc); ?> 

Related of "получение видео из базы данных с использованием php"

Если вы хотите, чтобы видео было доступно пользователю, вы должны поместить файлы фактического видео (MP4) в общий каталог, где браузер может их загрузить. Таким образом, video_link должен содержать фактический URL-адрес, доступный для пользователя. Если видео не находится в общедоступном каталоге, пользователь не может получить к ним доступ напрямую или вы можете вставлять бинарные данные видео в URL с данными: протокол

  data:[<MIME-type>][;charset=<encoding>][;base64],<video data> 

Например

 <?php function getVideoURLString($file, $type) { return 'data:video/' . $type . ';base64,' . base64_encode(file_get_contents($file)); } ?> 

Затем в HTML

 <video ...> <source type="video/mp4" src="<?php echo getVideoURLString($filename, "mp4");"> </video> 

Вложение видеоданных в URL-адресе имеет недостаток, что загрузка HTML может занять очень много времени.