c#winform+ffmpeg视频一键自动化剪辑批量生成视频软件(二)视频字幕字体设置

字幕字体模版设置

 字幕字体设置完成以后,左侧边会自动加载设置好的字体的一个预览情况
下面就是预览字幕字体在视频里的一个具体的情况

1,支持字体的颜色修改

2,支持字幕字体的大小设置

3,支持字幕字体的位置设置

4,支持字幕字体的边框颜色设置

5,支持字幕字体的背景颜色设置

6,支持字幕字体的阴影设置

7,支持字幕字体的阴影偏移设置

 具体的代码片段展示

            ComboboxItem selectedItem = (ComboboxItem)cb_fontFilePath.SelectedItem;
            ComboboxItem titleselectedItem = (ComboboxItem)cb_titlefontFilePath.SelectedItem;


            string outputFilePath = AppDomain.CurrentDomain.BaseDirectory + "test\\test.mp4";






            string fontFilePath = ConvertToNewFormat(selectedItem.ValueText);

            string positionX = tb_positionX.SkinTxt.Text;
            string positionY = tb_positionY.SkinTxt.Text;
            string fontColor = tb_fontColor.SkinTxt.Text;
            string fontSize = tb_fontSize.SkinTxt.Text;
            // 边框
            string borderBorderWidth = tb_borderBorderWidth.SkinTxt.Text; // 文本框边宽度
            string borderBorderColor = tb_borderBorderColor.SkinTxt.Text; // 文本框边框颜色
                                                                          // 背景
            string box = tb_box.SkinTxt.Text;
            string backgroundColor = tb_backgroundColor.SkinTxt.Text;
            string backgroundOpacity = tb_backgroundOpacity.SkinTxt.Text;
            string boxBorderWidth = tb_boxBorderWidth.SkinTxt.Text;
            // 阴影
            string shadowColor = tb_shadowColor.SkinTxt.Text; // 字幕阴影颜色
            string shadowOffsetX = tb_shadowOffsetX.SkinTxt.Text; // 字幕阴影水平偏移
            string shadowOffsetY = tb_shadowOffsetY.SkinTxt.Text; // 字幕阴影垂直偏移

            // 设置第二个文本的参数
            string titlefontFilePath = ConvertToNewFormat(titleselectedItem.ValueText);
            string titlePositionX = tb_titlePositionX.SkinTxt.Text;
            string titlePositionY = tb_titlePositionY.SkinTxt.Text;
            string titleFontColor = tb_titleFontColor.SkinTxt.Text;
            string titleFontSize = tb_titleFontSize.SkinTxt.Text;
            // 边框
            string titleborderBorderWidth = tb_titleborderBorderWidth.SkinTxt.Text; // 文本框边宽度
            string titleborderBorderColor = tb_titleborderBorderColor.SkinTxt.Text; // 标题文本框边框颜色
                                                                                    // 背景
            string titleBox = tb_titleBox.SkinTxt.Text;
            string titleBackgroundColor = tb_titleBackgroundColor.SkinTxt.Text;
            string titleBackgroundOpacity = tb_titleBackgroundOpacity.SkinTxt.Text;
            string titleBoxBorderWidth = tb_titleBoxBorderWidth.SkinTxt.Text;
            // 阴影
            string titleShadowColor = tb_titleShadowColor.SkinTxt.Text; // 标题阴影颜色
            string titleShadowOffsetX = tb_titleShadowOffsetX.SkinTxt.Text; // 标题阴影水平偏移
            string titleShadowOffsetY = tb_titleShadowOffsetY.SkinTxt.Text; // 标题阴影垂直偏移


            //line_spacing=20:


            string addSubtitleCommand = $"-i test//video.mp4 -vf \"drawtext=text=字幕标题\n字幕标题:text_align=center:fontfile={fontFilePath}:fontsize={fontSize}:fontcolor={fontColor}:x={positionX}:y={positionY}:box={box}:boxcolor={backgroundColor}@{backgroundOpacity}:boxborderw={boxBorderWidth}:borderw={borderBorderWidth}:bordercolor={borderBorderColor}:shadowcolor={shadowColor}:shadowx={shadowOffsetX}:shadowy={shadowOffsetY},"
        + $"drawtext=text=标内容这里是我的字幕标内容\n这1里是我的字幕标内容\n这里是我的字幕标内容\n这里是我的字幕标内容:text_align=center:line_spacing=15:fontfile={titlefontFilePath}:fontsize={titleFontSize}:fontcolor={titleFontColor}:x={titlePositionX}:y={titlePositionY}:box={titleBox}:boxcolor={titleBackgroundColor}@{titleBackgroundOpacity}:boxborderw={titleBoxBorderWidth}:borderw={titleborderBorderWidth}:bordercolor={titleborderBorderColor}:shadowcolor={titleShadowColor}:shadowx={titleShadowOffsetX}:shadowy={titleShadowOffsetY}\" "
        + $"-c:a copy {outputFilePath} -y";





            FFMPEGHelper.ExecuteFFmpegCommand(addSubtitleCommand);

使用ffmpeg 来进行视频字幕字体的生成。
程序有源码,还有哪些需要补充和了解的都可以在评论区告诉我。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值