java 实现视频转换通用工具类:视频相互转换-Ffmpeg(三)
说明:
视频加水印支持右上角、左上角、左下角、右下角、底部居中几个方位
1.根据水印文字---添加视频水印
/**
* 根据水印文字---添加视频水印
* @param srcPath 原视频路径
* @param tarVideoPath 生成后的视频路径
* @param wmPosition 水印位子
* @param alpha 透明度
* @param txt String 文字
* @param fontSize 每个字的宽度和高度是一样的
* @param fontColor Color 字体颜色
* @param isBold 字体是否加粗
* @param fontType 字体样式
* @param fontPath 字体文件
* @return
*/
public static boolean processFfmpegWatermkByFont(String srcPath,String tarVideoPath,int wmPosition, float alpha,String txt, int fontSize,Color fontColor,boolean isBold,String fontType,String fontPath) {
//通过文字生成的图片临时路径
String waterMarkPath = WebAppUtils.getWebAppRoot() +BaseCommonUtil.TXTIMGPATH + BaseCommonUtil.getDateNum() + ".png";
//waterMarkPath = "D:/project/BSRCM_TRUNK/WebRoot/swf/txtImg/1.png";
//通过文字生成透明图片
ImageHelps.createJpgByFont(txt,fontSize,fontColor,isBold,fontType,fontPath,waterMarkPath);
//avs ---通过水印图片添加水印视频
//return processFfmpegWatermarkByImage(srcPath,tarVideoPath,waterMarkPath,wmPosition,alpha);
//vfilters ---通过水印图片添加水印视频
boolean boo = processFfmpegWatermarkByImg(srcPath,tarVideoPath,waterMarkPath,wmPosition,alpha);
if(boo){
logger.info("【" + srcPath +"】 视频添加文字水印图片成功! ");
return true;
}else{
logger.error("【" + srcPath +"】 processFfmpegWatermkByFont 视频添加文字水印图片失败! ");
return false;
}
}
2.根据水印图片---添加视频水印
/**
*根据水印图片---添加视频水印
* @param srcPath 原视频路径
* @param tarVideoPath 生成后的视频路径
* @param waterMarkPath 水印图片路径
* @param wmPosition 水印位子
* @param alpha 透明度
* @return</