PHP-FFMpeg 操作音视频

🎈 安装 PHP-FFMpeg
在使用 ffmpeg 之前,需要
安装软件和操作命令库软件根据系统,自行选择安装,而操作命令库需要根据下列的命令进行安装
🎈 视频中提取一张图片
这里的
video.mp4准备的是一段宫崎骏的视频片段FFMpeg\FFMpeg::create中需要指定系统软件中ffmpeg和ffprobe的安装位置通过
FFMpeg\Coordinate\TimeCode::fromSeconds可以指定提取第几秒的视频作为图片保存
🎈 视频中提取多张图片
🎈 调整视频大小
FFMpeg\Coordinate\Dimension可以设置调整后的分辨率ResizeFilter::RESIZEMODE_FIT是缩放模式中的一种,按照给定值进行调整ResizeFilter::RESIZEMODE_INSET是缩放模式中的一种,按照给定的尺寸,等比缩放,如果设置的宽高比跟原视频不一样,那会自动根据宽或高进行等比缩放ResizeFilter::RESIZEMODE_SCALE_WIDTH是缩放模式中的一种,高按照给定值,宽进行比例缩放ResizeFilter::RESIZEMODE_SCALE_HEIGHT是缩放模式中的一种,宽按照给定值,高进行比例缩放true / false是否强制使用最近的纵横比标准
🎈 视频添加水印
通过
watermark可以设置水印的相关信息,第一个参数是设置水印的地址,第二个参数里面可以设置水印位置参数position:可以选择relative相对定位,或者absolute绝对定位,如果选择absolute,则只需要填写x和y坐标即可top / bottom / left / right:四个方位上下左右距离边缘的位置
🎈 生成音频波形
可以看到,想要生成音频波形,必须使用的是音频文件,如果是视频文件,需要先将其中的音频提取出来
waveform:中可以设置波形图的长宽还有波形颜色
🎈 音频转换
Flac;为无损压缩格式setAudioChannels:声道设置,1 单声道,2 双声道,3 立体声setAudioKiloBitrate:比特率
🎈 给音频添加元数据
支持给音频添加标题、艺术家、专辑、艺术家、作曲家、曲目、年份、描述、艺术品等
🎈 拼接多个音视频
如果想把多个音视频拼成一个音视频的话,可以使用
concat命令concat:参数中设置想拼接的各个短视频saveFromSameCodecs:设置拼接后的视频名称,第二个参数设置为true则允许复制参数,可以加速文件的生成
🎈 截取音视频
TimeCode::fromSeconds:有两个参数,第一个是从第几秒开始截取,第二个是截取多少秒,如果不填,则截取到最后
🎈 提取 gif 动图
使用
gif命令可以提取视频中的动图fromSeconds可以设置从第几秒开始提取,Dimension可以设置大小和持续的时间
🎈 裁剪视频
通过
crop可以裁剪视频Dimension:设置裁剪后的视频尺寸Point:指定要裁剪的点,x、y坐标和是否动态裁剪这里
x的值是t*100是从画面左边移动到右边这样裁剪,值越大,移动速度越快
🎈 转换视频格式
setKiloBitrate:设置视频比特率setAudioChannels:声道设置,1 单声道,2 双声道,3 立体声setAudioKiloBitrate:设置音频比特率
🎈 调整视频帧率
framerate:可以设置视频的帧速率大家应该都知道,视频其实是由一张张图片组成的,而一秒中播放 30 张以上其实肉眼就会把图片看成视频了,这里的
30就是所谓的帧速了,一般设置60即可,为了测试这里设置成1000
🎈 获取音视频信息
可以通过
format获取音视频的所有信息可以通过
get获取指定信息的值
版权声明: 本文为 InfoQ 作者【极客飞兔】的原创文章。
原文链接:【http://xie.infoq.cn/article/374f66ddb8e270370a6d9c696】。未经作者许可,禁止转载。










评论