PHP实现播放视频代码
PHP实现播放视频的基础方法
使用HTML5的<video>标签嵌入视频
PHP可以动态生成HTML代码,通过<video>标签实现视频播放。示例代码:
<?php
$videoPath = "videos/sample.mp4";
?>
<video width="400" controls>
<source src="<?php echo $videoPath; ?>" type="video/mp4">
您的浏览器不支持HTML5视频
</video>
使用第三方播放器库
集成Video.js播放器 Video.js是开源的HTML5视频播放器,支持多种格式和自定义样式:

<?php
$videoUrl = "http://example.com/videos/stream.mp4";
?>
<link href="https://vjs.zencdn.net/7.20.3/video-js.css" rel="stylesheet">
<script src="https://vjs.zencdn.net/7.20.3/video.js"></script>
<video id="my-video" class="video-js" controls preload="auto" width="640" height="264"
data-setup="{}">
<source src="<?php echo $videoUrl; ?>" type="video/mp4">
</video>
实现视频流媒体传输
使用PHP处理视频流 对于大文件或需要保护的视频,可以使用PHP输出流:

$file = 'protected/video.mp4';
if(file_exists($file)){
header('Content-Type: video/mp4');
header('Content-Length: '.filesize($file));
readfile($file);
exit;
} else {
header("HTTP/1.0 404 Not Found");
}
视频权限控制实现
验证用户权限后播放 结合用户系统实现权限控制:
session_start();
if(isset($_SESSION['user_id'])){
$videoFile = 'members/'.$_SESSION['user_level'].'/video.mp4';
if(file_exists($videoFile)){
header('Content-Type: video/mp4');
readfile($videoFile);
}
} else {
echo '请登录后观看视频';
}
视频缩略图生成
使用FFmpeg生成缩略图 通过PHP执行FFmpeg命令创建视频缩略图:
$videoPath = 'uploads/video.mp4';
$thumbnailPath = 'thumbnails/video.jpg';
$ffmpegCmd = "ffmpeg -i {$videoPath} -ss 00:00:01 -vframes 1 {$thumbnailPath}";
exec($ffmpegCmd, $output, $returnCode);
if($returnCode === 0){
echo '<img src="'.$thumbnailPath.'" alt="视频缩略图">';
}
注意:服务器需要安装FFmpeg并给予PHP执行权限。视频处理涉及性能考量,建议对大文件采用分片传输或转码处理。





