目录
在开篇综述提到了本项目需要运行环境FFmpeg和ImageMagick,在这里这将会介绍这两个的使用。其中FFmpeg作为一个视频工具拥有强大的功能,ImageMagickUtils则是一个图片工具。在这里将会介绍这两个工具的方法以及相关的参数。
1.图片裁切后修改分辨率并指定输出文件格式
cropAndResize(tempDirectory,inputFileName,cropAttributes,resizeAttributes,outputFileSuffix)
2.图片裁切后修改分辨率
cropAndResize(tempDirectory,inputFileName,cropAttributes,resizeAttributes)
3.图片裁切并指定输出文件格式
crop(tempDirectory,inputFileName,cropAttributes,outputFileSuffix)
4.图片裁切
crop(tempDirectory,inputFileName,cropAttributes)
5.图片修改分辨率并指定输出文件格式
resize(tempDirectory,inputFileName,resizeAttributes,outputFileSuffix)
6.图片修改分辨率
resize(tempDirectory,inputFileName,resizeAttributes)
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
tempDirectory | String | 是 | 临时文件目录 |
inputFileName | String | 是 | 输入文件名 |
cropAttributes | CropAttributes | 否 | 裁切参数 |
resizeAttributes | ResizeAttributes | 否 | 修改分辨率参数 |
outputFileSuffix | Suffix | 否 | 输出文件格式,未设置则同输入文件格式 |
其中:
CropAttributes
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
width | Integer | 是 | 裁切图片的宽 |
height | Integer | 是 | 裁切图片的高 |
leftOffset | Integer | 是 | 距左边偏移量 |
topOffset | Integer | 是 | 距顶部偏移量 |
ResizeAttributes
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
width | Integer | 否 | 输出图片的宽,只填写宽则高自适应 |
height | Integer | 否 | 输出图片的高,只填写高则宽自适应 |
quality | Integer | 否 | 输出图片的质量,范围0~100,默认100 |
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
outputFileName | String | 是 | 输出文件名 |
getInfo(tempDirectory,inputFileName)
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
tempDirectory | String | 是 | 临时文件目录 |
inputFileName | String | 是 | 输入文件名 |
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
format | FFFormat | 是 | 文件信息 |
videoInfo | VideoInfo | 是 | 视频信息 |
audioInfo | AudioInfo | 是 | 音频信息 |
其中:
FFFormat
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
filename | String | 是 | 文件名全路径名 |
duration | String | 是 | 文件时长 |
size | String | 是 | 文件大小 |
bitRate | String | 是 | 文件比特率 |
VideoInfo
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
codecName | String | 是 | 视频 编码名称 |
codecType | String | 是 | 类型 video |
width | Integer | 是 | 视频 宽度 |
height | Integer | 是 | 视频 高度 |
frameRate | Integer | 是 | 视频 帧率 |
duration | Integer | 是 | 视频 时长 |
bitRate | Integer | 是 | 视频 比特率 |
nbFrames | Integer | 是 | 视频 总帧数 |
AudioInfo
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
codecName | String | 是 | 音频 编码名称 |
codecType | String | 是 | 类型 audio |
duration | Integer | 是 | 音频 时长 |
bitRate | Integer | 是 | 音频 比特率 |
sampleRate | Integer | 是 | 音频 采样率 |
channels | Integer | 是 | 音频 声道数 1:单声道 2:双声道 |
createCover(tempDirectory, inputFileName, outputFileSuffix)
createCover(tempDirectory, inputFileName)
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
tempDirectory | String | 是 | 临时文件目录 |
inputFileName | String | 是 | 输入文件名 |
outputFileSuffix | Suffix | 否 | 输出文件格式,默认jpg |
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
outputFileName | String | 是 | 输出文件名 |
putCompressionTask(tempDirectory, inputFileName, compressionAttributes)
putCompressionTask(tempDirectory, inputFileName, compressionAttributes, outputFileName)
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
tempDirectory | String | 是 | 临时文件目录 |
inputFileName | String | 是 | 输入文件名 |
compressionAttributes | CompressionAttributes | 是 | 压缩参数 |
outputFileName | String | 否 | 输出文件名,默认UUID生成 |
其中:
CompressionAttributes
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
videoAttributes | VideoAttributes | 否 | 视频压缩参数 |
audioAttributes | AudioAttributes | 否 | 音频压缩参数 |
progressUrl | String | 是 | 压缩完成后的回调地址 |
VideoAttributes
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
codec | VideoCodec | 否 | 视频编码(默认libx264,libx265) |
maxFps | Integer | 否 | 最大帧率 |
videoSize | VideoSize | 否 | 视频分辨率(hd480,hd720,hd1080,800x800) |
maxDuration | Integer | 否 | 最大时长 |
maxBitRate | Integer | 否 | 视频最大比特率 |
AudioAttributes
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
maxBitRate | Integer | 否 | 音频最大比特率 |
maxSamplingRate | Integer | 否 | 音频最大采样率 |
quality | Integer | 否 | 输出图片的质量,范围0~100,默认100 |
参数 | 类型 | 必需 | 注释 |
---|---|---|---|
outputFileName | String | 是 | 输出文件名 |
以上就是本次分析的内容,主要是了解一下multimedia utils所使用的两个工具。