定制 tinymeng/ffmpeg-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tinymeng/ffmpeg-php

Composer 安装命令:

composer require tinymeng/ffmpeg-php

包简介

php使用ffmpeg视频分析

README 文档

README

php使用ffmpeg视频分析

php使用ffmpeg的扩展不再支持php高版本升级,这里使用 passthru 函数来执行视频分析

安装

composer require tinymeng/ffmpeg-php 1.0.0  -vvv

类库使用的命名空间为 \tinymeng\ffmpeg

获取视频信息

use \tinymeng\ffmpeg\FFMpeg;

$url = 'http://video-oss.959.cn/video/2018-12-27/8hYHmx4BZ7zE5kSa.mp4';
//或
$url = '/data/wwwroot/123.mp4';

$ffmpeg = FFMpeg::create();
$ffmpeg = $ffmpeg->open($url);
$info = $ffmpeg->getVideoInfo();

var_dump($info);

获取的视频信息如下

array(1) {
  ["streams"]=>
  array(1) {
    [0]=>
    array(34) {
      ["index"]=>
      int(0)
      ["codec_name"]=>
      string(4) "h264"
      ["codec_long_name"]=>
      string(41) "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"
      ["profile"]=>
      string(8) "Baseline"
      ["codec_type"]=>
      string(5) "video"
      ["codec_time_base"]=>
      string(4) "1/50"
      ["codec_tag_string"]=>
      string(4) "avc1"
      ["codec_tag"]=>
      string(10) "0x31637661"
      ["width"]=>
      int(1280)
      ["height"]=>
      int(720)
      ["coded_width"]=>
      int(1280)
      ["coded_height"]=>
      int(720)
      ["has_b_frames"]=>
      int(0)
      ["sample_aspect_ratio"]=>
      string(3) "1:1"
      ["display_aspect_ratio"]=>
      string(4) "16:9"
      ["pix_fmt"]=>
      string(7) "yuv420p"
      ["level"]=>
      int(31)
      ["color_range"]=>
      string(2) "tv"
      ["chroma_location"]=>
      string(4) "left"
      ["refs"]=>
      int(1)
      ["is_avc"]=>
      string(4) "true"
      ["nal_length_size"]=>
      string(1) "4"
      ["r_frame_rate"]=>
      string(4) "25/1"
      ["avg_frame_rate"]=>
      string(4) "25/1"
      ["time_base"]=>
      string(7) "1/25000"
      ["start_pts"]=>
      int(0)
      ["start_time"]=>
      string(8) "0.000000"
      ["duration_ts"]=>
      int(3015000)
      ["duration"]=>
      string(10) "120.600000"
      ["bit_rate"]=>
      string(6) "535844"
      ["bits_per_raw_sample"]=>
      string(1) "8"
      ["nb_frames"]=>
      string(4) "3015"
      ["disposition"]=>
      array(12) {
        ["default"]=>
        int(1)
        ["dub"]=>
        int(0)
        ["original"]=>
        int(0)
        ["comment"]=>
        int(0)
        ["lyrics"]=>
        int(0)
        ["karaoke"]=>
        int(0)
        ["forced"]=>
        int(0)
        ["hearing_impaired"]=>
        int(0)
        ["visual_impaired"]=>
        int(0)
        ["clean_effects"]=>
        int(0)
        ["attached_pic"]=>
        int(0)
        ["timed_thumbnails"]=>
        int(0)
      }
      ["tags"]=>
      array(4) {
        ["creation_time"]=>
        string(27) "2018-11-06T02:42:48.000000Z"
        ["language"]=>
        string(3) "eng"
        ["handler_name"]=>
        string(35) "Mainconcept MP4 Video Media Handler"
        ["encoder"]=>
        string(10) "AVC Coding"
      }
    }
  }
}

截取部分视频


$url = '/data/wwwroot/123.mp4';

$ffmpeg = FFMpeg::create();
$start = '00:00:00';//开始时间
$end = '00:01:00';//结束时间
$save_name = trim(strrchr($url, '/'),'/');//获取文件名
$save_dir  = './tmp_video/'.rand(111,999).$save_name;//保存的文件路径
$command = 'ffmpeg  -i '.$url.' -vcodec copy -acodec copy -ss '.$start.' -to  '.$end.' '.$save_dir;
$result = $ffmpeg->exec($command);
var_dump($result);

tinymeng/ffmpeg-php 适用场景与选型建议

tinymeng/ffmpeg-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 14 次下载、GitHub Stars 达 2, 最近一次更新时间为 2019 年 02 月 22 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「ffmpeg」 「tinymeng」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 tinymeng/ffmpeg-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 tinymeng/ffmpeg-php 我们能提供哪些服务?
定制开发 / 二次开发

基于 tinymeng/ffmpeg-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 14
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-02-22