2021SC@SDUSC-multimedia-utils-一款java后端的图片、视频处理工具jar包—背景介绍

年烈
2023-12-01

目录

系列文章目录

文章目录

前言

一、图片工具ImageMagickUtils

方法:

参数介绍:

输入参数

二、视频工具FFmpegUtils

方法:

1.获取视频信息

输入参数

输出参数

2.截取视频封面

输入参数

输出参数

3.视频压缩

输入参数

输出参数

总结





前言

在开篇综述提到了本项目需要运行环境FFmpeg和ImageMagick,在这里这将会介绍这两个的使用。其中FFmpeg作为一个视频工具拥有强大的功能,ImageMagickUtils则是一个图片工具。在这里将会介绍这两个工具的方法以及相关的参数。





一、图片工具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)

参数介绍:

输入参数

参数类型必需注释
tempDirectoryString临时文件目录
inputFileNameString输入文件名
cropAttributesCropAttributes裁切参数
resizeAttributesResizeAttributes修改分辨率参数
outputFileSuffixSuffix输出文件格式,未设置则同输入文件格式

其中:

CropAttributes

参数类型必需注释
widthInteger裁切图片的宽
heightInteger裁切图片的高
leftOffsetInteger距左边偏移量
topOffsetInteger距顶部偏移量

ResizeAttributes

参数类型必需注释
widthInteger输出图片的宽,只填写宽则高自适应
heightInteger

输出图片的高,只填写高则宽自适应

qualityInteger输出图片的质量,范围0~100,默认100


输出参数

参数类型必需注释
outputFileNameString输出文件名


二、视频工具FFmpegUtils

方法:

1.获取视频信息

getInfo(tempDirectory,inputFileName)

输入参数

参数类型必需注释
tempDirectoryString临时文件目录
inputFileNameString输入文件名

输出参数

参数类型必需注释
formatFFFormat文件信息
videoInfoVideoInfo视频信息
audioInfoAudioInfo音频信息

其中:

FFFormat

参数类型必需注释
filenameString文件名全路径名
durationString文件时长
sizeString文件大小
bitRateString文件比特率

VideoInfo

参数类型必需注释
codecNameString视频 编码名称
codecTypeString类型 video
widthInteger视频 宽度
heightInteger视频 高度
frameRateInteger视频 帧率
durationInteger视频 时长
bitRateInteger视频 比特率
nbFramesInteger视频 总帧数

AudioInfo

参数类型必需注释
codecNameString音频 编码名称
codecTypeString类型 audio
durationInteger音频 时长
bitRateInteger音频 比特率
sampleRateInteger音频 采样率
channelsInteger音频 声道数 1:单声道 2:双声道


2.截取视频封面

createCover(tempDirectory, inputFileName, outputFileSuffix)

createCover(tempDirectory, inputFileName)

输入参数

参数类型必需注释
tempDirectoryString临时文件目录
inputFileNameString输入文件名
outputFileSuffixSuffix输出文件格式,默认jpg

输出参数

参数类型必需注释
outputFileNameString输出文件名

3.视频压缩

putCompressionTask(tempDirectory, inputFileName, compressionAttributes)

putCompressionTask(tempDirectory, inputFileName, compressionAttributes, outputFileName)

输入参数

参数类型必需注释
tempDirectoryString临时文件目录
inputFileNameString输入文件名
compressionAttributesCompressionAttributes压缩参数
outputFileNameString输出文件名,默认UUID生成

其中:

CompressionAttributes

参数类型必需注释
videoAttributesVideoAttributes视频压缩参数
audioAttributesAudioAttributes音频压缩参数
progressUrlString压缩完成后的回调地址

VideoAttributes

参数类型必需注释
codecVideoCodec视频编码(默认libx264,libx265)
maxFpsInteger最大帧率
videoSizeVideoSize视频分辨率(hd480,hd720,hd1080,800x800)
maxDurationInteger最大时长
maxBitRateInteger视频最大比特率

AudioAttributes

参数类型必需注释
maxBitRateInteger音频最大比特率
maxSamplingRateInteger音频最大采样率
qualityInteger输出图片的质量,范围0~100,默认100

输出参数

参数类型必需注释
outputFileNameString输出文件名





总结

以上就是本次分析的内容,主要是了解一下multimedia utils所使用的两个工具。

 类似资料: