#php #video #mp4
#php #Видео #МР4
Вопрос:
У меня проблема с файлами mp4. Тег Html5 Video может воспроизводить его по прямой ссылке, но не с заголовком PHP (Mp3 отлично работает с заголовком PHP). Я почти перепробовал решение в Stack, но все еще не решил свою проблему: (
Слушайте, это мой код:
PHP mp4.php
error_reporting(0);
$local_file = 'z.mp4';//'b.mp3';
$download_file = 'out.mp4';
// send headers
header('Cache-control: private');
header('Content-Type: video/mp4');
header('Content-Length: '.filesize($local_file));
header('Content-Disposition: filename='.$download_file);
header('Accept-Ranges: bytes');
header("Content-Transfer-Encoding: binary");
readfile($local_file);
HTML
<video controls="" autoplay="" name="media">
<source src="http://localhost/videos/mp4.php" type="video/mp4">
</video>
Я не знаю почему: ( Пожалуйста, помогите мне.
Спасибо,
Ответ №1:
ХОРОШО! Я решил свою проблему 🙂 Надеюсь, это поможет кому-нибудь, у кого такая же проблема, как у меня
Просто используйте этот код:
$file = 'local_file';
$newfile = 'outFile';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($newfile));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
Ответ №2:
Я думаю, вы добавили ненужные заголовки в свой php-файл. Попробуйте этот:
$local_file = 'z.mp4';
$size = filesize($local_file);
header("Content-Type: video/mp4");
header("Content-Length: ".$size);
readfile($local_file);
И HTML-код что-то вроде этого
<video width="480" height="320" controls>
<source src="mp4.php" type="video/mp4">
</video>
РЕДАКТИРОВАТЬ: Это также будет работать для файлов mp3 при изменении заголовка Content-Type и типа html video.
<video width="480" height="320" controls>
<source src="mp3.php" type="audio/mpeg">
</video>
Комментарии:
1. Спасибо за ваш ответ 🙂 Я пробовал это и все еще не работает: ( mp3.php и прямая ссылка (как mp3, так и mp4) работает нормально, но mp4.php не является
2. Возможно, что-то не так с вашим файлом mp4. Вы пробовали другой?
3. Да, я пробовал другие файлы. Они также не сработали 🙂