renus/media

处理图片和视频的Symfony Bundle

维护者

详细信息

github.com/renus/media

源代码

问题

安装: 167

依赖: 0

建议者: 0

安全性: 0

星标: 2

关注者: 1

分支: 0

公开问题: 0

类型:symfony-bundle

0.5 2015-08-23 18:08 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:31:56 UTC


README

RenusMediaBundle 是一个包含在 Symfony 2 Bundle 中的代码集合,用于处理图片和视频,您可以从视频源创建图片或动画 GIF,或者在 Symfony 2 中调整图片大小、加密和裁剪。

要在项目中使用 RenusMediaBundle,请通过 composer 添加它

安装

先决条件

要使用 RenusMediaBundle,您必须安装并知道 'ffmpeg' 二进制文件的路径(在 Debian 上)

apt-get install ffmpeg php5-ffmpeg php5-imagick 

配置

如果您使用非标准 Debian 安装,您必须在参数文件中指定 ffmpeg 的路径

parameters:
  binary: '/usr/bin/ffmpeg'

安装

  1. 在 composer.json 中将此 Bundle 添加到您的项目中
{
    "require": {
        "renus/media": "0.*",
    }
}
  1. 使用 composer 安装
composer.phar require renus/media dev-master
  1. 注册 Bundle
<?php
// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        // ...
        new \Renus\MediaBundle\RenusMediaBundle(),
    );
    // ...
}

用法

在 Symfony 2 控制器中,您可以将其用作服务

从视频中提取图片

在 55 秒处提取图片

<?php

$this->container->get('renus.video')->getPicsFromVideo(
    '/path/to/video/vid1.m4v', 55, '/path/to/generate/image/vid1.jpg'
);

从视频中创建动画 GIF

每 10 秒获取一张图片以构建动画 GIF

<?php

$this->container->get('renus.video')->generateAnimatedGifFromVideo(
    '/path/to/video/vid1.m4v', 10, '/path/to/generate/image/vid1.gif'
);

调整图片大小

选择目标路径和最大尺寸(这里为 300px)

<?php

$this->container->get('renus.image')
                ->init('/path/to/image.jpg')
                ->createThumb('/path/to/resize-thumb.jpg', 300);

裁剪图片

选择目标路径,定义起始 X 点和起始 Y 点,选择区域的宽度和高度。

<?php

$this->container->get('renus.image')
                ->init('/path/to/image.jpg')
                ->crop('/path/to/crop-thumb.jpg', 100, 25, 300, 250);