在现代网站中,在线播放视频已成为常见功能。本文将介绍如何使用 PHP 与 FFmpeg 实现一个可在线播放电影或视频的基础系统,涵盖从环境配置到视频播放器嵌入的全过程。
首先,需要安装用于视频处理与流媒体转换的 PHP-FFmpeg 库。该库基于 FFmpeg 工具,支持格式转换、视频剪辑、截图、流媒体输出等操作。可以通过 Composer 进行安装:
composer require php-ffmpeg/php-ffmpeg
接下来,定义需要播放的视频源。视频源可以是服务器本地文件路径,也可以是远程视频的 URL。
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('path/to/video.mp4');
视频流用于控制播放输出、分辨率调整等。通过以下代码可设置视频流并同步输出:
$stream = $video->filters()
->resize(new FFMpeg\Coordinate\Dimension(640, 480))
->synchronize();
创建完流后,需要将视频输出到指定路径或直接推送到浏览器。以下示例演示如何生成 webm 格式文件:
$stream->save('path/to/output.mp4', array(
'webm' => true,
'format' => 'webm',
'audioCodec' => 'libvorbis',
'videoCodec' => 'libvpx'
));
最后,在网页中使用 HTML5 的 标签实现在线播放。通过设置 src 属性指向刚生成的视频文件即可:
<video width="640" height="480" controls>
<source src="path/to/output.mp4" type="video/webm">
</video>
通过以上步骤,我们完成了 PHP 中在线视频播放的核心功能。从视频源的创建到播放器的嵌入,整个过程灵活且可扩展。你可以进一步加入转码、分辨率选择、视频封面等功能,以提升播放体验。