ubuntu php ffmpeg,Laravel 下使用 FFmpeg 处理多媒体文件 (Ubuntu 16.04 LTS)

安装 FFmpeg 命令

下面是 Ubuntu 16 LTS 的安装方法

sudo add-apt-repository ppa:djcj/hybrid

sudo apt-get update

sudo apt-get install ffmpeg

安装成功后测试:

$ ffmpeg -version

bab2f738160be981ab44ab466ae7259c.png

PHP-FFMpeg

PHP-FFMpeg 是 FFMpeg 和 FFProbe 命令的 PHP 面对对象 Wrapper.

安装

项目根目录下:

$ composer require php-ffmpeg/php-ffmpeg

使用

创建 FFMpeg\FFMpeg 对象:

$ffmpeg = \FFMpeg\FFMpeg::create(array(

'ffmpeg.binaries' => '/usr/bin/ffmpeg',

'ffprobe.binaries' => '/usr/bin/ffprobe',

'timeout' => 3600, // The timeout for the underlying process

'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use

));

原文档

$ffmpeg = FFMpeg\FFMpeg::create(array(

'ffmpeg.binaries' => '/opt/local/ffmpeg/bin/ffmpeg',

'ffprobe.binaries' => '/opt/local/ffmpeg/bin/ffprobe',

'timeout' => 3600, // The timeout for the underlying process

'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use

), $logger);

根据自己的 ffmpeg 与 ffprobe 位置创建 $ffmpeg

我的项目中, 是将视频截图

// $ffmpeg 获取 $url 的视频

$video = $ffmpeg->open($url);

// 在视频 1 秒的地方截图

$frame = $video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds(1));

// 生成$filename

$filename = $id . '_' . time() . '_' . str_random(10) . '.' . 'jpg';

// 图片保存,并且移动到 /storage/images/

$frame->save($filename);

\File::move(public_path().'/'.$filename, public_path()."/storage/images/".$filename);

总结

参考 Ubuntu 14LTS Laravel 下使用 FFMpeg 处理多媒体文件:

文档:

Laravel 5.5 的使用中, 自己使用 FFMpeg 与文档有些出入,所以和大家一起分享学习的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值