规划:

名称预计完成时间完成程度完成情况
掌握微信小程序开发1-2月0%×
掌握Vue框架2-3月0%×
掌握Uniapp框架2-3月0%×
学习Java语言6月5%×
学习C语言8月0%×
软考中级11月份0%×
换一份满意的工作2022年80%
去一次省外旅游2022年0%×

二进制文件自动获取失败,手动指定二进制路径

$config = array(
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe'
),
$ffmpeg = FFMpeg\FFMpeg::create($config);

获取上传视频的尺寸(宽、高)

$config = array(
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe'
),
$ffmpeg = FFMpeg\FFMpeg::create($config);

$video = $ffmpeg->open($file->getRealPath());
$video_streams = $video->getStreams();

$width = 0;
$height = 0;
foreach ($video_streams as $key => $value) {
    empty($value->get('width')) ?: $width = $value->get('width');
    empty($value->get('height')) ?: $height = $value->get('height');
}

官方介绍(可忽略)

think-queue是ThinkPHP官方提供的一个消息队列服务,是专门支持队列服务的扩展包。think-queue消息队列适用于大并发或返回结果时间比较长且需要批量操作的第三方接口,可用于短信发送、邮件发送、APP推送。think-queue消息队列可进行发布、获取、执行、删除、重发、失败处理、延迟执行、超时控制等操作。

think-queue支持消息队列的基本特性

  • 消息的发布、获取、执行、删除、重发、失败处理、延迟执行、超时控制等
  • 队列的多队列、内存限制、启动、停止、守护等
  • 消息队列可降级位同步执行

官方文档

- 阅读剩余部分 -

官方介绍(可忽略)

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

官网地址

- 阅读剩余部分 -

官方介绍(可忽略)

FFmpeg是处理多媒体内容(如音频、视频、字幕和相关元数据)的库和工具的集合。它功能非常强大,包括视频裁剪、视频格式转换、视频截图、视频添加水印等。

它包含可供应用程序使用的libavcodec、libavutil、libavformat、libavfilter、libavdevice、libswscale和libswresample。以及可供最终用户用于转码和播放的ffmpeg、ffplay和ffprobe 。

库:
libavutil是一个包含用于简化编程的函数的库,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等等。
libavcodec是一个包含用于音频/视频编解码器的解码器和编码器的库。
libavformat是一个包含多媒体容器格式的解复用器和复用器的库。
libavdevice是一个包含输入和输出设备的库,用于抓取和渲染许多常见的多媒体输入/输出软件框架,包括 Video4Linux、Video4Linux2、VfW和ALSA。
libavfilter是一个包含媒体过滤器的库。
libswscale是一个执行高度优化的图像缩放和色彩空间/像素格式转换操作的库。
libswresample是一个执行高度优化的音频重采样、重新矩阵和样本格式转换操作的库。

工具:
ffmpeg一个多媒体文件转换格式的命令行工具。
ffplay一个基于 SDL 和 FFmpeg 库的简单媒体播放器。
ffprobe一个简单的多媒体流分析器。

官网地址

- 阅读剩余部分 -