PHP实现播放视频代码
PHP实现视频播放的方法
PHP本身不能直接播放视频,但可以通过生成HTML5视频标签或集成第三方播放器来实现。以下是几种常见方法:
使用HTML5 video标签
通过PHP输出HTML5的<video>标签是最简单的方式:
<?php
$videoPath = 'videos/sample.mp4';
?>
<!DOCTYPE html>
<html>
<head>
<title>视频播放</title>
</head>
<body>
<video width="640" height="360" controls>
<source src="<?php echo $videoPath; ?>" type="video/mp4">
您的浏览器不支持HTML5视频
</video>
</body>
</html>
集成第三方播放器
对于更复杂的需求,可以集成如Video.js、JW Player等专业播放器:
<?php
$videoUrl = 'https://example.com/videos/sample.mp4';
?>
<!DOCTYPE html>
<html>
<head>
<title>视频播放</title>
<link href="https://vjs.zencdn.net/7.20.3/video-js.css" rel="stylesheet">
</head>
<body>
<video id="my-video" class="video-js" controls preload="auto" width="640" height="360"
data-setup="{}">
<source src="<?php echo $videoUrl; ?>" type="video/mp4">
</video>
<script src="https://vjs.zencdn.net/7.20.3/video.js"></script>
</body>
</html>
视频流处理
对于需要权限控制的视频,可以使用PHP读取并输出视频流:
<?php
$file = 'protected/videos/private.mp4';
if (userHasPermission()) {
header('Content-Type: video/mp4');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
} else {
header('HTTP/1.0 403 Forbidden');
echo '无权访问此视频';
}
视频转码处理
使用FFmpeg等工具进行视频转码:
$inputFile = 'upload/video.avi';
$outputFile = 'converted/video.mp4';
exec("ffmpeg -i $inputFile -c:v libx264 -c:a aac $outputFile");
注意事项
确保服务器支持视频文件的MIME类型,常见的视频类型包括:

- MP4: video/mp4
- WebM: video/webm
- Ogg: video/ogg
对于大文件视频,建议启用服务器端的范围请求支持(Range Requests),以便实现视频跳转和缓冲。






