public class VideoOperation extends Object
| Constructor and Description |
|---|
VideoOperation(String ffmpegEXE) |
| Modifier and Type | Method and Description |
|---|---|
Result |
autoMergeMultiVideosByDir(String dir,
String videoOutPath)
根据文件目录,自动合并该目录下所有视频
合成的顺序按照文件名称进行排序,建议将名称命名为序号001、002、003...
|
static VideoOperation |
builder(String ffmpegEXE) |
Result |
convertorWithBgmNoOriginCommon(String videoInputPath,
String videoOutPath,
String noSoundVideoPath,
String bgmInputPath,
double seconds)
视频合并音频,给视频加上背景音乐,并不保留视频原声,此方法比较通用,并且Mac可以使用
|
Result |
getVideoCoverImg(String inputVideo,
String coverOut)
对视频进行截取,获取视频封面图
|
Result |
getVideoCoverImgs(Integer startSeconds,
String inputVideo,
Integer everySecondImg,
Integer seconds,
String coverOutPath)
对视频的指定秒开始截图,可截多张图
|
Result |
gifConvertToVideo(String gif,
String outputVideo)
gif转换为video
|
Result |
mergeMultiOnlineVideos(File videoListFile,
String videoOutPath)
合并多个在线视频(ts格式), 根据文件中在线视频地址顺序合并
|
Result |
mergeMultiVideosByFile(File videoListFile,
String videoOutPath)
根据指定文件中定义视频绝对路径信息,按照顺序合并视频。
|
Result |
mergeMultiVideosOfTsOrMpegFormat(List<String> fileNameList,
String videoOutPath)
合并多个视频文件(此方法只适用ts格式文件,或者mpg/mpeg格式文件)
|
Result |
mergeVideoAndBgmNoOrigin(String videoInputPath,
String videoOutPath,
String bgmInputPath,
double seconds)
视频合并音频,给视频加上背景音乐,并不保留视频原声
(此方法在Mac平台无效,ffmpeg version 4.2.1-tessus),暂不清楚是否ffmpeg版本问题
Mac平台使用方法:convertorWithBgmNoOriginCommon()
|
Result |
mergeVideoAndBgmWithOrigin(String bgm,
String inputVideo,
String outputVideo,
double seconds)
保留视频原声合成音频
|
Result |
transformVideoCover(String videoInputPath,
String imagePath,
String videoOutPath)
修改视频封面图片
|
Result |
videoConvert(String inputVideo,
String outputVideo)
视频转换格式
|
Result |
videoConvertToGif(String inputVideo,
String outputGif,
boolean highQuality)
视频转gif
|
Result |
videoCrop(String inputVideo,
String outWidth,
String outHeight,
String x,
String y,
String outputVideo)
视频的页面长宽进行裁剪
|
Result |
videoCut(String inputVideo,
String startTime,
String seconds,
String outputVideo)
对视频的播放时间进行裁剪
|
Result |
videoFps(String inputVideo,
Integer fps,
String outputVideo)
调节视频帧数
|
Result |
videoRotate(String inputVideo,
Integer angleNum,
String outWidth,
String outHeight,
String outputVideo)
视频角度旋转
|
Result |
videoScale(String inputVideo,
String outWidth,
String outHeight,
String outputVideo)
视频缩放
|
Result |
wipeAudio(String inputVideo,
String outputVideo)
去除视频的音频
|
public VideoOperation(String ffmpegEXE)
public static VideoOperation builder(String ffmpegEXE)
public Result videoConvert(String inputVideo, String outputVideo)
inputVideo - 原始视频绝对路径(带视频名称)outputVideo - 输出视频绝对路径(带视频名称)IOExceptionpublic Result mergeVideoAndBgmWithOrigin(String bgm, String inputVideo, String outputVideo, double seconds)
bgm - 背景音乐路径inputVideo - 输入音频路径outputVideo - 输出视频路径seconds - 输出视频秒数public Result getVideoCoverImg(String inputVideo, String coverOut)
inputVideo - 原始视频绝对路径coverOut - 图片输出路径public Result getVideoCoverImgs(Integer startSeconds, String inputVideo, Integer everySecondImg, Integer seconds, String coverOutPath)
startSeconds - 多少秒开始截图inputVideo - 需要截图的视频绝对路径everySecondImg - 每秒截多少张图seconds - 一共持续截图多少秒coverOutPath - 截图生成的路径(图片名称会以001 002... 命名)public Result wipeAudio(String inputVideo, String outputVideo)
inputVideo - 输入视频绝对路径outputVideo - 输出视频绝对路径public Result videoScale(String inputVideo, String outWidth, String outHeight, String outputVideo)
inputVideo - 需要操作的原始视频绝对路径outWidth - 处理之后的视频的宽度outHeight - 处理之后的视频高度outputVideo - 处理之后生成的新的视频绝对路径public Result videoCrop(String inputVideo, String outWidth, String outHeight, String x, String y, String outputVideo)
inputVideo - 需要操作的原始视频绝对路径outWidth - 处理之后的视频的宽度outHeight - 处理之后的视频高度outputVideo - 处理之后生成的新的视频绝对路径public Result videoRotate(String inputVideo, Integer angleNum, String outWidth, String outHeight, String outputVideo)
inputVideo - 需要操作的原始视频绝对路径angleNum - 旋转的角度,1:180度 2:90度outWidth - 输出视频的宽度,如果不指定,默认是输入视频的宽度outHeight - 输出视频的高度,如果不指定,默认是输入视频的高度outputVideo - 处理之后生成的新的视频绝对路径public Result videoFps(String inputVideo, Integer fps, String outputVideo)
inputVideo - 需要操作的原始视频绝对路径fps - 需要调节到多少帧outputVideo - 处理之后生成的新的视频绝对路径public Result gifConvertToVideo(String gif, String outputVideo)
gif - gif绝对路径outputVideo - 输出视频绝对路径public Result videoConvertToGif(String inputVideo, String outputGif, boolean highQuality)
inputVideo - 需操作视频的绝对路径outputGif - 生成gif的输出绝对路径highQuality - 是否生成高质量gifpublic Result videoCut(String inputVideo, String startTime, String seconds, String outputVideo)
inputVideo - 原始需要操作视频的绝对路径startTime - 开始裁剪的时间 支持格式: 2 或 00:00:02 从2秒开始seconds - 剪裁持续的时间 支持格式: 3 或 00:00:03 持续3秒outputVideo - 输出视频的绝对路径public Result mergeVideoAndBgmNoOrigin(String videoInputPath, String videoOutPath, String bgmInputPath, double seconds)
videoInputPath - 原始视频绝对路径videoOutPath - 处理之后视频输出路径bgmInputPath - 添加的背景音乐绝对路径seconds - 输出视频的秒数public Result convertorWithBgmNoOriginCommon(String videoInputPath, String videoOutPath, String noSoundVideoPath, String bgmInputPath, double seconds)
videoInputPath - 原始视频绝对路径videoOutPath - 处理之后视频输出路径noSoundVideoPath - 原始视频去除音频的输出绝对路径bgmInputPath - 添加的背景音乐绝对路径seconds - 输出视频的秒数public Result transformVideoCover(String videoInputPath, String imagePath, String videoOutPath)
videoInputPath - 原始视频绝对路径imagePath - 替换的封面图片绝对路径videoOutPath - 新的视频输出绝对路径public Result mergeMultiOnlineVideos(File videoListFile, String videoOutPath)
videoListFile - 绝对路径下的视频list文件videoOutPath - 视频输出路径public Result mergeMultiVideosOfTsOrMpegFormat(List<String> fileNameList, String videoOutPath)
fileNameList - 需要合并的视频文件集合,文件名称为绝对路径videoOutPath - 视频输出绝对路径public Result mergeMultiVideosByFile(File videoListFile, String videoOutPath)
videoListFile - 定义合并视频的文件,按照指定格式访问
文件格式:video.txt or video.list
file 'http://xxxxx/filename1.ts'
file 'http://xxxxx/filename2.ts'
文件示例:docs/video-example/video-example.txtvideoOutPath - 视频输出绝对路径文件名Copyright © 2020. All rights reserved.