1.代码解析
#region 视频添加Logo
/// <summary>
/// 视频添加Logo
/// </summary>
/// <param name="context"></param>
/// <param name="pathBefore"></param>
/// <param name="pathLater"></param>
/// <returns></returns>
public static bool VideoAppendLogo(string ffmpegPath, string ConvertBeforePath, string AppendLogoPath, string ConvertLaterPath, ref string returnmsg,
int overlayX = 0, int overlayY = 0, bool openDebug = false, string LogName = "testlog")
{
Init(openDebug, LogName);
try
{
if (string.IsNullOrWhiteSpace(ffmpegPath) || string.IsNullOrWhiteSpace(ConvertBeforePath) || string.IsNullOrWhiteSpace(ConvertLaterPath))
{
returnmsg = "基础参数未传!";
return false;
}
if (string.IsNullOrWhiteSpace(AppendLogoPath))
{
returnmsg = "请上传LOGO图片";
return false;
}
#region 参数解析
/*右上角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w output.mp4
左下角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=0:H-h output.mp4
右下角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w:H-h output.mp4
*/
#endregion
string strExeCmd = " -i " + ConvertBeforePath + " -i " + AppendLogoPath + " -filter_complex"
+ " overlay=" + overlayX + ":" + overlayY + " -y "
+ ConvertLaterPath;
return RunCmd(ffmpegPath, strExeCmd, ConvertLaterPath, ref returnmsg, LogName);
}
catch (Exception ex)
{
T9.Util.LogUtil.WriteLog("catch VideoAppendLogo:" + ex.Message, LogName);
returnmsg = "转换报错";
return false;
}
}
#endregion
2.更多ffmpeg操作请查看
C#FFmpeg通用方法集合类-C#文档类资源-CSDN下载
3.有问题vx:GOD_T9