PHP 利用FFmpeg 视频切片

本文介绍如何使用PHP结合FFmpeg库对视频进行切片操作,通过示例代码展示具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说 上代码 各位看官 参考吧

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值