话不多说 上代码 各位看官 参考吧
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

本文介绍如何使用PHP结合FFmpeg库对视频进行切片操作,通过示例代码展示具体实现过程。
最低0.47元/天 解锁文章
6304

被折叠的 条评论
为什么被折叠?



