public class VideoEditing extends Object
视频编辑
此类使用原生 F F M P E G 命令对视频进行各类编辑操作
该类需要配合对应系统版本的Fast Forward Moving Picture Experts Group
下载编译好的对应的系统版本:https://ffmpeg.zeranoe.com/builds/
注:如果你是在windows下操作,需要使用相对路径,在Windows下操作不能携带盘符
如文件: D:\\video\\Alitalia\\alitalia.mp4 需要转成 /video/Alitalia/alitalia.mp4
同时需要注意FFMPEG执行文件的根目录要与视频文件在同一个盘符下,否则会找不到文件.
任何路径中不能存在空格!!!
此类实现对视频的字幕添加、水印添加、视频指定时间截取、 分离视频音频流、每一秒截取一张图片、指定时间帧截图、指定时间将视频帧制作成GIF
2020-02-25 19:34
| 构造器和说明 |
|---|
VideoEditing() |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
addSubtitles(String subtitles,
String input,
String output,
ProgressCallback callback)
添加视频字幕
windows系统文件路径格式如下:
原来是: D:\\video\\Alitalia\\alitalia.mp4
支持的格式为: /video/Alitalia/alitalia.mp4
|
static void |
addSubtitlesToMp4(String subtitles,
String input,
String output,
ProgressCallback callback)
添加视频字幕的同时,将视频转码为可用于浏览器播放的mp4格式
|
static void |
addWatermark(String watermark,
WatermarkLocation location,
String input,
String output,
ProgressCallback callback)
添加视频水印
|
static void |
clipVideo(String startTime,
String duration,
String input,
String output,
ProgressCallback callback)
剪切视频、视频剪辑、视频剪切
从某时间间隔,剪切一段视频。
|
static void |
converterToMp4(String input,
String output,
ProgressCallback callback)
任意格式的视频转换为h264编码的mp4格式
|
static void |
deleteSoundTrack(String input,
String output,
int needKeep,
ProgressCallback callback)
删除音轨
指定需要保留的音轨
|
static void |
deleteSoundTrackToMp4(String input,
String output,
int needKeep,
ProgressCallback callback)
删除音轨
指定需要保留的音轨
删除音轨的同时 将视频文件转换为 H264 编码的 MP4 格式.
|
static void |
getProgress(String taskId,
String input,
ProgressCallback callback)
获取任务进度回调
|
static void |
grabbingFrameToGif(String input,
String output,
String resolutionRatio,
String startTime,
String duration,
ProgressCallback callback)
抓取视频的一些帧,存为GIF动态图片
指定抓取时间、持续时间
|
static void |
grabbingFrameToJpg(String input,
String output,
double frequency,
int quality,
ProgressCallback callback)
抓取视频的一些帧,存为jpeg图片
每一秒截取一张图片
一分钟的视频将会截取60张图片
60张图片会保存在output参数中
这里的output参数值必须是已存在的文件夹
|
static void |
grabbingFrameToJpg(String input,
String output,
String startTime,
String duration,
double frequency,
int quality,
ProgressCallback callback)
抓取视频的一些帧,存为jpeg图片
指定抓取时间、持续时间
|
static void |
init(ProgramConfig programConfig)
初始化配置类信息
|
static void |
separation(String input,
String videoStream,
String audioStream,
ProgressCallback videoCallback,
ProgressCallback audioCallback)
视频分离视频流和音频流
|
static void |
separationAudioStream(String input,
String audioStream,
ProgressCallback callback)
分离源视频中的音频流
|
static void |
separationVideoStream(String input,
String videoStream,
ProgressCallback callback)
分离源视频中的视频流
|
public static void init(ProgramConfig programConfig)
programConfig - 初始化配置public static void addSubtitles(String subtitles, String input, String output, ProgressCallback callback)
subtitles - 视频字幕文件路径input - 需要转换的源视频文件路径output - 转换后输出的视频文件路径callback - 任务进度的回调接口public static void converterToMp4(String input, String output, ProgressCallback callback)
input - 需要转换的源视频文件路径output - 转换后输出的视频文件路径callback - 任务进度的回调接口public static void addSubtitlesToMp4(String subtitles, String input, String output, ProgressCallback callback)
subtitles - 视频字幕文件路径input - 需要转换的源视频文件路径output - 转换后输出的视频文件路径callback - 任务进度的回调接口public static void addWatermark(String watermark, WatermarkLocation location, String input, String output, ProgressCallback callback)
watermark - 需要添加水印图片location - 需要添加到的水印位置input - 需要转换的源视频文件路径output - 转换后输出的视频文件路径callback - 任务进度的回调接口public static void clipVideo(String startTime, String duration, String input, String output, ProgressCallback callback)
startTime - 开始剪切的时间[单位:秒]duration - 持续剪切的时间[单位:秒]input - 需要转换的源视频文件路径output - 转换后输出的视频文件路径callback - 任务进度的回调接口public static void separation(String input, String videoStream, String audioStream, ProgressCallback videoCallback, ProgressCallback audioCallback)
input - 需要分离的的源视频文件路径videoStream - 需要输出的视频流的路径[如果值为null,则不分离视频流]audioStream - 需要输出的音频流的路径[如果值为null,则不分离音频流]videoCallback - 视频流分离的任务进度回调接口audioCallback - 音频流分离的任务进度回调接口public static void separationVideoStream(String input, String videoStream, ProgressCallback callback)
input - 需要分离的的源视频文件路径videoStream - 需要输出的视频流的路径[如果值为null,则不分离视频流]callback - 任务进度的回调接口public static void separationAudioStream(String input, String audioStream, ProgressCallback callback)
input - 需要分离的的源视频文件路径audioStream - 需要输出的音频流的路径[如果值为null,则不分离音频流]callback - 音频流分离的任务进度回调接口public static void grabbingFrameToJpg(String input, String output, double frequency, int quality, ProgressCallback callback)
input - 需要转换的源视频文件路径output - 转成图片后的输出文件路径[这里是文件夹的路径,而且文件夹必须存在]frequency - 频率,表示每一秒几帧quality - 表示存储jpeg的图像质量,一般2是高质量。callback - 任务进度的回调接口public static void grabbingFrameToJpg(String input, String output, String startTime, String duration, double frequency, int quality, ProgressCallback callback)
input - 需要转换的源视频文件路径output - 转成图片后的输出文件路径[这里是文件夹的路径,而且文件夹必须存在]startTime - 开始时间[如:00:00:20或者20,表示从第20s时间开始]duration - 持续时间[如:10,表示从startTime开始往下10s,每隔1s就抓frequency]frequency - 频率,表示每一秒几帧quality - 表示存储jpeg的图像质量,一般2是高质量。callback - 任务进度的回调接口public static void grabbingFrameToGif(String input, String output, String resolutionRatio, String startTime, String duration, ProgressCallback callback)
input - 需要转换的源视频文件路径output - 转成GIF动态图片后的输出文件路径resolutionRatio - GIF动态图片的分辨率,通过此参数控制git质量和大小[如:640x360]startTime - 开始时间[如:00:00:20或者20,表示从第20s时间开始]duration - 持续时间[如:10,表示从startTime开始截取时长为10秒的片段转化为GIF动态图片]callback - 任务进度的回调接口public static void deleteSoundTrack(String input, String output, int needKeep, ProgressCallback callback)
input - 需要转换的源视频文件路径output - 转换后的输出文件路径needKeep - 需要保留第几个音轨[值为1时,指定保留第一个音轨,其他全部删除]callback - 任务进度回调public static void deleteSoundTrackToMp4(String input, String output, int needKeep, ProgressCallback callback)
input - 需要转换的源视频文件路径output - 转换后的输出文件路径needKeep - 需要保留第几个音轨[值为1时,指定保留第一个音轨,其他全部删除]callback - 任务进度回调public static void getProgress(String taskId, String input, ProgressCallback callback)
taskId - 任务idinput - 需要转换的源视频文件路径callback - 任务进度的回调接口Copyright © 2021. All rights reserved.