当前位置:首页 > PHP

PHP实现播放视频代码

2026-01-29 05:30:19PHP

播放视频的基本方法

在PHP中直接播放视频通常需要结合HTML5的<video>标签,PHP主要用于后端处理(如文件路径生成、权限验证等)。以下是一个基础实现示例:

<?php
// 假设视频文件存储在服务器的videos目录下
$videoPath = 'videos/sample.mp4';
$mimeType = mime_content_type($videoPath);
?>

<!DOCTYPE html>
<html>
<head>
    <title>视频播放</title>
</head>
<body>
    <video width="640" height="360" controls>
        <source src="<?php echo $videoPath; ?>" type="<?php echo $mimeType; ?>">
        您的浏览器不支持HTML5视频标签
    </video>
</body>
</html>

动态视频流处理

对于需要控制访问权限或动态生成的视频流,可以使用PHP输出视频内容:

$file = 'protected/videos/premium.mp4';
if (userHasAccess()) { // 自定义权限验证
    header('Content-Type: video/mp4');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
} else {
    header("HTTP/1.1 403 Forbidden");
    echo "无访问权限";
}

使用第三方播放器集成

集成开源播放器如Video.js可增强兼容性:

// PHP部分
$videoUrl = generateSecureVideoUrl(); // 生成加密的视频URL

// HTML部分
<link href="https://vjs.zencdn.net/7.20.3/video-js.css" rel="stylesheet">
<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script>

<video id="my-player" class="video-js" controls preload="auto">
    <source src="<?= $videoUrl ?>" type="video/mp4">
</video>

视频转码处理

使用FFmpeg进行格式转换(需服务器安装FFmpeg):

$inputFile = 'uploads/original.avi';
$outputFile = 'converted/output.mp4';
$command = "ffmpeg -i $inputFile -c:v libx264 -preset fast $outputFile 2>&1";
exec($command, $output, $returnCode);

if ($returnCode === 0) {
    echo "转码成功,文件已保存为: $outputFile";
} else {
    echo "转码失败: " . implode("\n", $output);
}

防盗链措施

通过PHP实现视频防盗链:

$referer = $_SERVER['HTTP_REFERER'] ?? '';
$allowedDomains = ['https://yourdomain.com', 'https://subdomain.yourdomain.com'];

if (!empty($referer) && !in_array(parse_url($referer, PHP_URL_HOST), $allowedDomains)) {
    header('HTTP/1.0 403 Forbidden');
    die('禁止外部访问');
}

// 正常输出视频内容
header('Content-Type: video/mp4');
readfile('videos/protected.mp4');

注意事项

  • 确保服务器已安装正确的视频编解码器
  • 大文件视频建议使用分块传输(header('Accept-Ranges: bytes')
  • 生产环境应考虑使用CDN加速视频分发
  • 敏感视频应结合数据库记录观看权限
  • 上传视频时需严格验证文件类型防止恶意上传

PHP实现播放视频代码

标签: 代码视频
分享给朋友:

相关文章

css帧动画制作视频

css帧动画制作视频

使用CSS关键帧(@keyframes)制作动画 定义关键帧动画,通过@keyframes规则指定动画在不同时间点的样式变化。例如创建一个元素从左到右移动的动画: @keyframes slide…

css飞机制作视频

css飞机制作视频

使用CSS制作飞机动画 通过CSS的动画和变形属性,可以创建一个简单的飞机动画效果。以下是实现步骤: HTML结构 <div class="airplane"></div…

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app np…

h5实现视频通话

h5实现视频通话

WebRTC 基础实现 H5 视频通话主要通过 WebRTC(Web Real-Time Communication)技术实现。现代浏览器原生支持该 API,无需插件即可完成点对点音视频传输。 安…

css帧动画制作视频

css帧动画制作视频

CSS帧动画制作方法 CSS帧动画通过@keyframes规则和animation属性实现,以下是具体步骤: 定义关键帧 使用@keyframes定义动画序列,从0%到100%描述每一帧的状态:…

js实现分页功能代码

js实现分页功能代码

分页功能实现方法 客户端分页(前端处理数据) 适用于数据量较小且已全部加载到前端的情况。 // 示例数据 const data = Array.from({length: 100}, (_, i)…