话不多说 上代码 各位看官 参考吧
require 'vedio.ext.php'; $file = '文件地址 绝对路径'; $video = new videoExt(); $file_info = pathinfo($file); $video_id = $file_info['filename']; // 视频名作为视频的id $tmp_dir = ''; // 切片的临时目录绝对路径 if (!file_exists($tmp_dir)) { mkdir($tmp_dir, 0777, true); } //如果临时目录不为空,清空目录 $tmp_dir_files = scandir($tmp_dir); $tmp_dir_files = array_diff($tmp_dir_files, ['..', '.']); if (!empty($tmp_dir_files)) { foreach ($tmp_dir_files as $key => $tmp_file) { unlink($tmp_dir . $tmp_file); } } $compressed_video = $tmp_dir.$video_id.'.mp4'; // 压缩后的视频 $video->compress($file, $compressed_video); // 压缩视频
// ts文件的远程存放地址 $remote_url = $tmp_dir.$video_id; $remote_preview_url = $tmp_dir.$video_id.DIRECTORY_SEPARATOR.'auto'; $duration = $video->get_duration($compressed_video); // 获取视频时长 $video_cover = $video->get_cover($compressed_video, 5, $tmp_dir); // 获取视频图片 // 切片 $m3u8_file = $video->m3u8($compressed_video, 5, $remote_url, $tmp_dir); // 视频切片
unlink($video_cover);
unlink($m3u8_file);
// 生成5分钟预览 $preview_m3u8_file = $video->m3u8($compressed_video, 5, $remote_preview_url, $tmp_dir, 30);
vedio.ext.php 文件
<?php /* * 视频扩展类, 该类主要用于下载视频, 处理视频(获取视频信息, 压缩, 合并, 切片, 截屏等)操作 */ class videoExt { /** * 断点下载远程文件 * @param string $remote_file 远程文件url, 如 http://video.sanhao.com/video/opencourse/204/204.mp4 * @param string