首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >FFmpeg+edge-tts零成本批量生成宣传视频(附完整流程)

FFmpeg+edge-tts零成本批量生成宣传视频(附完整流程)

原创
作者头像
用户12475642
发布2026-05-11 08:26:55
发布2026-05-11 08:26:55
2470
举报

标签:#WorkBuddy #FFmpeg #视频生成 #AI语音合成 #民宿营销

为什么写这篇

市面上的短视频制作工具要么贵(剪映会员、PR),要么模板太固定看不出差异化。作为民宿经营者,我有十几个房型要各自出宣传视频,外包做一个至少200块。

后来发现用 WorkBuddy + FFmpeg + edge-tts 可以完全免费搞定,而且每个视频都能定制。把完整流程分享出来,希望帮到同样有视频需求的朋友。


最终效果

输出的视频包含:

  • ✅ 房型图片自动轮播(每张5秒)
  • ✅ 中文旁白配音(edge-tts免费TTS)
  • ✅ 同步字幕(SRT格式叠加)
  • ✅ 背景音乐(音量自动调整为旁白的0.85倍)
  • ✅ 输出可直接发布到抖音/小红书的MP4

单个视频制作成本:0元(只需电脑和时间)


技术栈说明

工具

作用

成本

WorkBuddy

编写脚本、协调流程、调试问题

免费(消耗积分)

FFmpeg

音视频合成引擎

开源免费

edge-tts

微软Edge在线TTS语音合成

免费

Pillow (Python)

图片预处理(统一分辨率)

开源免费


完整实现步骤

第一步:准备工作

代码语言:javascript
复制
1. 安装FFmpeg(官网下载,加入环境变量)
2. pip install edge-tts Pillow
3. 准备素材:
   - 房型照片3-5张(建议1080x1920竖版)
   - BGM音乐文件(无版权背景音乐)
   - 房型介绍文案

第二步:生成旁白音频

通过 edge-tts 将文字转语音:

python

复制

代码语言:javascript
复制
import edge_tts
import asyncio

async def generate_narration(text, output_file, voice="zh-CN-YunxiNeural"):
    communicate = edge_tts.Communicate(text, voice)
    await communicate.save(output_file)

# 使用示例
text = "鸿立公寓大床房,全新装修,独立卫浴,拎包入住。"
asyncio.run(generate_narration(text, "narration.mp3"))

推荐音色:

  • zh-CN-YunxiNeural — 年轻男声,适合民宿介绍
  • zh-CN-XiaoxiaoNeural — 温柔女声,适合温馨风格
  • zh-CN-YunjianNeural — 成熟男声,适合商务定位

第三步:生成字幕文件

python

复制

代码语言:javascript
复制
def generate_srt(text, output_file, duration_seconds=15):
    """根据文本时长生成简单SRT字幕"""
    lines = text.split(",")
    srt_content = ""
    seg_len = duration_seconds // len(lines)
    
    for i, line in enumerate(lines):
        start = i * seg_len
        end = (i + 1) * seg_len
        srt_content += f"{i+1}\n"
        srt_content += f"00:00:{start:02d},000 --> 00:00:{end:02d},000\n"
        srt_content += f"{line}\n\n"
    
    with open(output_file, "w", encoding="utf-8") as f:
        f.write(srt_content)

第四步:FFmpeg合成最终视频

这是最关键的一步。完整命令:

bash

复制

关键参数解释

参数

作用

volume=0.85

BGM音量为旁白的85%,推荐值

pad=1080:1920:

统一为抖音竖版尺寸,不足部分黑边填充

concat=n=3

把3张图片拼接成视频流

amix=inputs=2

混合旁白和BGM两路音频

crf 23

视频质量平衡点(18-28之间越小越好)

第五步:批量生成多个房型视频

把上面流程写成循环,一套代码跑完所有房型:

python

复制

代码语言:javascript
复制
room_types = [
    {"name": "大床房", "text": "...", "images": [...]},
    {"name": "双床房", "text": "...", "images": [...]},
    {"name": "四人间", "text": "...", "images": [...]},
    {"name": "六人间", "text": "...", "images": [...]},
]

for room in room_types:
    generate_video(room)  # 调用上面的合成流程
    print(f"✓ {room['name']} 视频已生成")

用WorkBudy加速开发的过程

说实话,这个流程不是我一蹴而就的。中间踩了不少坑,WorkBuddy 帮我省了大量调试时间

坑1:Windows中文路径编码问题

  • 现象:FFmpeg报错 "No such file or directory"
  • 原因:我的Windows用户名是中文(鸿翼智航),路径含中文导致编码异常
  • 解决:WorkBuddy 帮我用绝对路径+转码处理,并在脚本里加了路径校验

坑2:BGM音量调了几次

  • 第一次:BGM和旁白一样响,听不清说话
  • 第二次:BGM太小,背景太空
  • 最终:试听了3版后定在0.85倍旁白音量

💡 这个过程体现了 WorkBuddy 的优势:快速迭代。每次调整只需要说一句"BGM音量再调低一点",它就会改参数重新编译运行。

坑3:图片尺寸不统一导致视频闪烁

  • 原因:不同手机拍的图分辨率不同
  • 解决:用Pillow预处理统一缩放到1080x1920

效果对比

方式

单个视频成本

定制程度

批量能力

找剪辑师

200-500元

需反复沟通

越多越贵

剪映/Canva模板

0-99元/年

受限于模板

半手动

本方案

0元

完全自由

一键批量


总结

这套方案的核心价值不是"省钱",而是可控性

  • 文案可以随时改 → 改价格、改促销信息
  • 图片随时换 → 新装修了拍几张照重新生成
  • 批量生产 → 十几个房型半天全部搞定

如果你也在找低成本的视频制作方案,希望这篇对你有帮助。有问题欢迎评论区讨论!


工具版本:FFmpeg 7.x, edge-tts 6.x, Python 3.12, WorkBuddy 最新版 适用场景:民宿/公寓/酒店宣传视频、产品展示视频、朋友圈营销短视频

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么写这篇
  • 最终效果
  • 技术栈说明
  • 完整实现步骤
    • 第一步:准备工作
    • 第二步:生成旁白音频
    • 第三步:生成字幕文件
    • 第四步:FFmpeg合成最终视频
    • 关键参数解释
    • 第五步:批量生成多个房型视频
  • 用WorkBudy加速开发的过程
    • 坑1:Windows中文路径编码问题
    • 坑2:BGM音量调了几次
    • 坑3:图片尺寸不统一导致视频闪烁
  • 效果对比
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档