当前位置: 首页 > news >正文

【原创】【5】【视频二创工具发布】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道

【原创】【5】【视频二创工具发布】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道 – 三块钱的博客

导入视频

开启二创

修改效果 开始二创

config.ini配置文件,配置自己的ak sk

[database]
type = sqlite
#mysql请设置mysql的信息
[sqlite]
database_path = data/instagram_posts.db
[mysql]
host = 192.168.250.249
user = root
password = root
database = xinlingjitang_com[doubaoAPI]
device_id = 7419893466773947900[ollama]
url = http://127.0.0.1:11434/api/chat
model = mlaprise/gemma-3-4b-it-qat-q4_0-gguf
prompt = 请用中文描述这张图像中发生的事情,不要编造画面没有的内容。只描述事件过程,简短扼要的描述,不要输出markdown。[openrouter]
url = https://openrouter.ai/api/v1/chat/completions
api_key = sk-or-v1-5bb18******49d9
model = deepseek/deepseek-chat-v3-0324:free[deepseek]
url = https://openrouter.ai/api/v1/chat/completions
api_key = sk-or-v1-27f2e****76f1b4
model = deepseek/deepseek-r1-0528:free
prompt = 你是一个专注于短视频内容创作的脚本写手,风格为押韵。你的任务是根据用户提供的视频画面描述,生成一段中文普通话的短视频口播解说文案。解说风格要求如下:风格定位:语言为中文普通话,语气认真正式,制造反差幽默解说内容必须紧贴视频画面发生的真实场景,不得添加虚构角色或事件每句话都要尽量押韵,押韵方式自然流畅(AABB、ABAB、AABC等均可)内容必须适合配音,节奏清晰,幽默但不低俗结构要求:1. 开头引入(1句)引出场景或设定语境,制造悬念或噱头2. 正文解说(按视频节奏拆分6–12句)逐画面,贴合画面内容,夸张分析3. 结尾互动(1–2句)搞笑收尾,鼓励点赞关注,必须押韵字数与节奏控制:正常语速下控制在 125–180 字/15 秒为参考每句话控制在易读易配音的节奏范围总长度根据视频时长自动调整:6–8秒:4–6句10–15秒:6–8句20–30秒:10–12句30秒以上酌情增加,但必须节奏稳、句式短、适合朗读输出格式要求:每句话单独一行不需加引号、不需编号不需要标题(如"开场白""正文"等)输出即为适合配音朗读的成品解说词,不要解释你写文案怎么样,直接输出文案就行,不要输出markdown。[openai]
api_key = sk-proj-******vluhqI[proxy]
enabled = true
http = http://127.0.0.1:1080
https = http://127.0.0.1:1080[web]
host = 0.0.0.0
port = 5005
debug = false
secret_key = 12345
access_password = 123456
session_timeout = 3600[track_prompt_外国人少系列]
prompt = 你是一个专注于短视频内容创作的脚本写手,风格为押韵。你的任务是根据用户提供的视频画面描述,生成一段中文普通话的短视频口播解说文案。解说风格要求如下:风格定位:语言为中文普通话,语气认真正式,制造反差幽默解说内容必须紧贴视频画面发生的真实场景,不得添加虚构角色或事件每句话都要尽量押韵,押韵方式自然流畅适合rap内容必须适合配音,节奏清晰,幽默但不低俗结构要求:1. 开头引入(1句)引出场景或设定语境,制造悬念或噱头2. 正文解说(按视频节奏拆分6–12句)逐画面,贴合画面内容,夸张分析3. 结尾互动(1–2句)搞笑收尾,鼓励点赞关注,必须押韵字数与节奏控制:正常语速下控制在 125–180 字/15 秒为参考每句话控制在易读易配音的节奏范围总长度根据视频时长自动调整:6–8秒:4–6句10–15秒:6–8句20–30秒:10–12句30秒以上酌情增加,但必须节奏稳、句式短、适合朗读输出格式要求:每句话单独一行不需加引号、不需编号不需要标题(如"开场白""正文"等)输出即为适合配音朗读的成品解说词,不要解释你写文案怎么样,直接输出文案就行,不要输出markdown。
[track_prompt_扇脸大赛]
prompt = 你是一个擅长创作短视频文案的专家,特别精通扇脸比赛类内容。你的任务是为“啪啪打你的脸”账号发布的视频撰写自然、口语化、简短有力的开场文案。语气要像朋友之间聊天一样,轻松、有节奏感,适合视频号观众的阅读习惯。不要描述比赛内容,也不要提到视频时长。文案结尾固定为:「大家早上好中午好晚上好,欢迎收看这期扇脸比赛,先点个赞呗~」,这一句是结尾也是重点,其他内容都不要输出。注意事项:不使用书面语或复杂词汇不使用表情符号不使用 markdown 格式不解释写作思路或内容不输出结尾以外的内容[track_prompt_ufc系列]
prompt = 你是一个擅长写UFC比赛视频分享文案的创作专家,不要关心视频时长,欢迎词中不要出现时长的句子,不解说比赛内容。视频由“拳艺”发布,文案语气自然口语化,简短有力,适合视频号观众阅读。目标是吸引观众观看视频并引导点赞、关注、转发。不要使用复杂词汇或书面语,像朋友之间说话那样写。不要输出markdown格式的,不要输出表情符号。不要解释你写文案怎么样,直接输出文案就行。结巴感、口语化、停顿。参考语气示例:“欢迎来看拳艺这期精彩对决,记得点赞关注分享哦~”“拳艺更新啦,转发分享安排上,精彩不容错过!”“本期比赛已经安排上了,拳艺等你来看,点赞转发别忘了!”大家……早上好啊~呃,欢迎收看、拳艺这期来了,记得点赞、关注,别走丢了哈~大家中午好~哎,欢迎收看、这场挺猛的……拳艺发的,点个赞再看~大家晚上好……嗯,欢迎收看、这比赛,拳艺安排上了,先点个赞呗~啊……大家早上好,欢迎收看、拳艺又更新了,记得关注转发,不迷路~中午好中午好~呃,欢迎收看、这期看完你会上头,拳艺出品,懂得都懂~晚上好啊兄弟们……欢迎收看、这场挺顶的,拳艺发的,点个赞先~大家……呃,中午好!欢迎收看、拳艺又来啦~关注一下,别错过咯~晚上好晚上好~欢迎收看、拳艺安排了这期,点个赞……支持一下哈~早上好~嗯……欢迎收看、拳艺的比赛到了,点关注别迷路,懂吧~啊这……大家晚上好,欢迎收看、拳艺这期整得不错,转发一下呗~[track_prompt_tk测试]
prompt = 你是一个专业的titok视频文案创作专家,专门为搞笑短视频风格的押韵解说文案.结尾说:欢迎来抚州做客[track_prompt_科技数码]
prompt = 你是一个专业的科技数码短视频文案创作专家,专门为科技产品内容创作「一本正经胡说八道」风格的押韵解说文案...[track_prompt_沉浸式分享]
prompt = 你是一个专业的沉浸式文案创作专家,专门为沉浸式内容创作风格的有诗意文案,不要解释你写文案怎么样,直接输出文案就行,不要输出markdown。[track_processing_ufc系列]
vision_enabled = false
tts_enabled = true
stt_enabled = true
bgm_enabled = true
batch_size = 1          # 每次只处理1个视频
merge_enabled = true   # 禁用合并,强制单视频处理[track_creative_ufc系列]
mirror_enabled = true
scale_border_enabled = false
color_adjust_enabled = true
brightness = 0.08
contrast = 1.1
saturation = 1.1
hue = 5
speed_adjust_enabled = true
speed_factor = 1.03
rotation_enabled = false
crop_enabled = true
crop_top = 0.01
crop_bottom = 0.01
crop_left = 0.01
crop_right = 0.01[track_processing_外国人少系列]
vision_enabled = true
tts_enabled = true
stt_enabled = true
bgm_enabled = true
batch_size = 2          # 每次只处理1个视频
merge_enabled = true   # 禁用合并,强制单视频处理[track_creative_外国人少系列]
mirror_enabled = false
scale_border_enabled = false
color_adjust_enabled = true
brightness = 0.08
contrast = 1.1
saturation = 1.1
hue = 5
speed_adjust_enabled = true
speed_factor = 1.03
rotation_enabled = false
crop_enabled = true
crop_top = 0.01
crop_bottom = 0.01
crop_left = 0.01
crop_right = 0.01[track_processing_扇脸大赛]
##模型对接
vision_enabled = false
tts_enabled = true
stt_enabled = true
bgm_enabled = true
batch_size = 1          # 每次只处理1个视频
merge_enabled = true   # 禁用合并,强制单视频处理[track_creative_扇脸大赛]
#二次编辑
# 镜像翻转设置
mirror_enabled = true                # 是否启用镜像翻转效果(水平翻转画面)
# 边框缩放设置
scale_border_enabled = true          # 是否启用边框缩放效果
# 颜色调整设置
color_adjust_enabled = true           # 是否启用颜色调整功能
brightness = 0.08                     # 亮度调整值(-1.0到1.0,正值增亮,负值变暗)
contrast = 1.1                        # 对比度调整值(0.0到2.0,1.0为原始,>1.0增强对比度)
saturation = 1.1                      # 饱和度调整值(0.0到2.0,1.0为原始,>1.0增强饱和度)
hue = 5                              # 色相调整值(-180到180度,调整画面色调偏移)
# 播放速度调整设置
speed_adjust_enabled = true           # 是否启用播放速度调整
speed_factor = 1.03                   # 播放速度倍数(1.0为正常速度,>1.0加速,<1.0减速)
# 旋转设置
rotation_enabled = false              # 是否启用画面旋转效果
# 裁剪设置
crop_enabled = true                   # 是否启用画面裁剪功能
crop_top = 0.01                       # 顶部裁剪比例(0.0到1.0,裁掉画面顶部的百分比)
crop_bottom = 0.01                    # 底部裁剪比例(0.0到1.0,裁掉画面底部的百分比)
crop_left = 0.01                      # 左侧裁剪比例(0.0到1.0,裁掉画面左侧的百分比)
crop_right = 0.01                     # 右侧裁剪比例(0.0到1.0,裁掉画面右侧的百分比)[paths]
output_root = out
frames_dir = frames
mp3_dir = mp3
finalmp4_dir = finalmp4
background_music_dir = resources/background_music[audio_processing]
tts_enabled = true
stt_enabled = true
bgm_enabled = true[video_processing]
background_volume = 0.4
tts_volume = 1.5
hard_subtitles = true
video_preset = fast
video_crf = 18
audio_bitrate = 192k
duration_tolerance = 0.5
background_music_volume = 0.3
mirror_enabled = false
scale_border_enabled = false
scale_factor = 0.95
border_color = black
color_adjust_enabled = false
brightness = 0.05        # 亮度调整 (-1.0 到 1.0)
contrast = 1.05          # 对比度 (0.0 到 2.0)
saturation = 1.05        # 饱和度 (0.0 到 2.0)
hue = 0                  # 色相偏移 (-180 到 180)
speed_adjust_enabled = false
speed_factor = 1.05      # 播放速度 (0.5 到 2.0)
rotation_enabled = false
rotation_angle = 1.0     # 旋转角度(度)
crop_enabled = false
crop_top = 0.02          # 顶部裁剪比例 (0.0 到 0.5)
crop_bottom = 0.02       # 底部裁剪比例
crop_left = 0.02         # 左侧裁剪比例
crop_right = 0.02        # 右侧裁剪比例[processing]
batch_size = 1
max_workers = 3
api_timeout = 120
ollama_timeout = 60
judge_timeout = 60
vision_enabled = false[frame_extraction]
frame_rules_5s = 1
frame_rules_15s = 2
frame_rules_30s = 3
frame_rules_40s = 4
frame_rules_50s = 5
frame_rules_60s = 6
max_frames = 15
min_interval = 5[FORMAT_XDT_API]
name = xdt_api
description = Instagram时间线数据格式
path = data.xdt_api__v1__feed__user_timeline_graphql_connection.edges
filename_prefix = xdt_api
array_check = true[FORMAT_ITEMS]
name = items
description = Instagram项目数据格式
path = items
filename_prefix = items
array_check = true[FORMAT_STORIES]
name = stories
description = Instagram故事数据格式
path = data.user.edge_owner_to_timeline_media.edges
filename_prefix = stories
array_check = true[FORMAT_REELS]
name = reels
description = Instagram短视频数据格式
path = data.user.edge_felix_video_timeline.edges
filename_prefix = reels
array_check = true[FORMAT_FOLLOWERS]
name = followers
description = Instagram粉丝列表数据
path = data.user.edge_followed_by.edges
filename_prefix = followers
array_check = true[FORMAT_FOLLOWING]
name = following
description = Instagram关注列表数据
path = data.user.edge_follow.edges
filename_prefix = following
array_check = true[FORMAT_HASHTAG_POSTS]
name = hashtag_posts
description = Instagram标签页帖子数据
path = data.hashtag.edge_hashtag_to_media.edges
filename_prefix = hashtag_posts
array_check = true[FORMAT_USER_MEDIA]
name = user_media
description = Instagram用户媒体数据
path = data.user.edge_owner_to_timeline_media.edges
filename_prefix = user_media
array_check = true[FORMAT_COMMENTS]
name = comments
description = Instagram评论数据
path = data.shortcode_media.edge_media_to_parent_comment.edges
filename_prefix = comments
array_check = true[FORMAT_LIKES]
name = likes
description = Instagram点赞数据
path = data.shortcode_media.edge_liked_by.edges
filename_prefix = likes
array_check = true# 默认水印配置
[watermark]
enabled = true
text = 默认水印文本@AI视频
position = bottom_right
font_size = 24
font_color = white
opacity = 0.8
margin_x = 50
margin_y = 50# UFC系列专用水印
[track_watermark_ufc系列]
enabled = true
text = 国外正规比赛画面,危险动作请勿模仿@拳艺BoxingArt
position = top_right
font_size = 20
font_color = yellow
opacity = 0.9
margin_x = 60
margin_y = 40# 外国人系列专用水印
[track_watermark_外国人少系列]
enabled = true
text = 文化差异仅供娱乐@啪啪打你的脸
position = bottom_left
font_size = 20
font_color = white
opacity = 0.7
margin_x = 40
margin_y = 60
# 外国人系列专用水印
[track_watermark_扇脸大赛]
enabled = true
text = 文化差异仅供娱乐@啪啪打你的脸
position = bottom_left
font_size = 20
font_color = white
opacity = 0.7
margin_x = 40
margin_y = 60# 默认TTS配置
[tts]
default_voice = zh-CN-XiaoxiaoNeural# UFC系列专用TTS语音
[track_tts_ufc系列]
tts_name = ICL_839ba45aea95# 外国人系列专用TTS语音
[track_tts_外国人少系列]
tts_name = zh-CN-XiaoyiNeural# 科技系列专用TTS语音
[track_tts_科技系列]
tts_name = zh-CN-YunjianNeural[track_tts_扇脸大赛]
tts_name = ICL_839ba45aea95
[tracks]
track01 = 科技数码
track02 = 美食料理
track03 = 时尚穿搭
track04 = ufc系列
track20 = 其他
track21 = 外国人少系列
track22 = 沉浸式分享
track23 = 伤感雨季
track24 = 熊孩子系列
track25 = AI大脚怪# config.ini 文件中添加模型配置部分# ================ 模型配置 ================
# 每个模型使用 [model_模型名] 的格式定义[model_deepseek]
enabled = true
url = https://api.deepseek.com/v1/chat/completions
model = deepseek-chat
api_key = your_deepseek_api_key_here
type = deepseek[model_deepseek_r1]
enabled = true
url = https://openrouter.ai/api/v1/chat/completions
model = deepseek/deepseek-r1-0528:free
api_key = your_openrouter_api_key_here
type = openrouter[model_deepseek_v3]
enabled = true
url = https://openrouter.ai/api/v1/chat/completions
model = deepseek/deepseek-chat-v3-0324:free
api_key = sk-or-v1-5bb1864c9676748***49e967a149d9
type = openrouter[model_4o_mini]
enabled = false
url = https://api.openai.com/v1/chat/completions
model = gpt-4o-mini
api_key = your_openai_api_key_here
type = openai[model_gemma]
enabled = false
url = https://openrouter.ai/api/v1/chat/completions
model = google/gemma-3-27b-it:free
api_key = your_openrouter_api_key_here
type = openrouter# 注意事项:
# 1. enabled = true/false 控制是否启用该模型
# 2. api_key 请替换为您的真实API密钥
# 3. 模型名称可以自定义,但要保持 [model_] 前缀
# 4. type 字段用于区分不同的API提供商# config.ini 文件中添加评分模型配置部分# ================ 评分模型配置 ================
# 用于对多个AI生成的文案进行评分和选择最佳文案[judge_model]
# 是否启用评分功能(如果禁用,将直接使用第一个生成的文案)
enabled = true# 评分模型API配置
url = https://openrouter.ai/api/v1/chat/completions
model = deepseek/deepseek-r1-0528:free
api_key = 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
type = openrouter# 备选评分模型配置示例:
# 如果要使用其他模型进行评分,可以修改上面的配置# 使用DeepSeek官方API:
# url = https://api.deepseek.com/v1/chat/completions
# model = deepseek-chat
# api_key = your_deepseek_api_key_here
# type = deepseek# 使用OpenAI API:
# url = https://api.openai.com/v1/chat/completions
# model = gpt-4o-mini
# api_key = your_openai_api_key_here
# type = openai# 注意事项:
# 1. enabled = false 可以完全禁用评分功能,直接使用第一个生成的文案
# 2. 评分模型建议使用推理能力较强的模型,如DeepSeek-R1或GPT-4系列
# 3. api_key 请替换为您的真实API密钥
# 4. 评分功能会增加处理时间但能提高文案质量# config.ini 文件中添加评分提示词配置部分# ================ 默认评分标准配置 ================
# 当没有找到赛道专用评分标准时使用的默认配置[default_judge]
prompt = 你是一个专业的短视频文案评审专家,专门评判「一本正经胡说八道」风格的押韵解说文案。评分标准(总分100分):1. 押韵效果 (35分) - 是否做到自然流畅的押韵,韵脚是否和谐2. 反差幽默 (25分) - 是否做到「一本正经胡说八道」,语气正经内容荒唐3. 内容贴合 (20分) - 文案是否紧贴视频画面,没有虚构内容4. 节奏感 (10分) - 语言是否适合配音,节奏是否清晰5. 互动性 (10分) - 开头是否有悬念,结尾是否有互动引导请仔细分析每个文案的押韵情况、幽默效果和内容质量,选出最符合要求的文案。# ================ 赛道专用评分标准配置 ================
# 每个赛道可以有自己专用的评分标准,格式为 [track_judge_赛道名][track_judge_外国人少系列]
prompt = 你是一个专业的短视频文案评审专家,专门评判外国人系列的押韵解说文案。评分标准(总分100分):1. 押韵效果 (30分) - 是否做到自然流畅的押韵,韵脚是否和谐2. 文化对比 (25分) - 是否突出中外文化差异,有趣对比3. 内容贴合 (20分) - 文案是否紧贴视频画面,没有虚构内容4. 幽默感 (15分) - 是否有合适的幽默点,不冒犯但有趣5. 互动性 (10分) - 开头是否有悬念,结尾是否有互动引导请重点关注文化差异的表达和跨文化幽默效果,选出最符合外国人系列特色的文案。[track_judge_tk测试]
prompt = 你是一个专业的短视频文案评审专家,专门评判美食探店类的押韵解说文案。评分标准(总分100分):1. 押韵效果 (25分) - 是否做到自然流畅的押韵,韵脚是否和谐2. 美食描述 (30分) - 是否生动形象地描述美食特色和口感3. 探店体验 (20分) - 是否体现探店的真实感和发现感4. 内容贴合 (15分) - 文案是否紧贴视频画面,没有虚构内容5. 互动引导 (10分) - 是否能引起观众食欲和探店欲望请重点关注美食的感官描述和探店的体验感,选出最能激发观众食欲的文案。[track_judge_搞笑日常]
prompt = 你是一个专业的短视频文案评审专家,专门评判搞笑日常类的押韵解说文案。评分标准(总分100分):1. 押韵效果 (30分) - 是否做到自然流畅的押韵,韵脚是否和谐2. 搞笑程度 (35分) - 是否足够搞笑,能让人会心一笑3. 日常共鸣 (20分) - 是否贴近观众的日常生活,有共鸣感4. 节奏感 (10分) - 语言是否适合配音,节奏是否轻快5. 互动性 (5分) - 是否有互动引导请重点关注搞笑效果和日常生活的共鸣度,选出最能引起观众共鸣和欢笑的文案。[track_judge_知识科普]
prompt = 你是一个专业的短视频文案评审专家,专门评判知识科普类的押韵解说文案。评分标准(总分100分):1. 科学准确性 (35分) - 知识点是否准确,没有误导性信息2. 押韵效果 (25分) - 是否做到自然流畅的押韵,韵脚是否和谐3. 通俗易懂 (20分) - 是否用通俗语言解释复杂概念4. 趣味性 (15分) - 是否能让枯燥的知识变得有趣5. 记忆点 (5分) - 是否有利于观众记忆知识点请重点关注知识的准确性和趣味性平衡,选出既科学又有趣的文案。# ================ 配置说明 ================
# 1. [default_judge] 是必须配置的默认评分标准
# 2. [track_judge_赛道名] 是可选的赛道专用评分标准
# 3. 赛道名必须与数据库中的 track_name 字段完全一致
# 4. 每个赛道可以根据内容特点设置不同的评分权重
# 5. prompt 支持多行文本,可以详细描述评分标准
# 6. 建议为主要赛道都配置专用的评分标准以提高文案质量

通过网盘分享的文件:短视频二创
链接: https://pan.baidu.com/s/1VUBmNjtqriHWK4DCi20QcQ?pwd=d6fq 提取码: d6fq 
--来自百度网盘超级会员v2的分享

http://www.lryc.cn/news/577266.html

相关文章:

  • 国产车哪款有远程代驾功能?远程代驾+自动驾驶
  • 【Wireshark】高级过滤技巧精讲
  • APP 内存测试--Android Profiler实操(入门版)
  • Unity编辑器扩展之扫描项目中所有图片资源,并找出引用这些图片的预制体及其引用路径,最终导出为CSV报告
  • Monorepo+Pnpm+Turborepo
  • Windows 安装 nodejs npm
  • 网络拓扑图绘制全流程:从架构解析到工具实战
  • Jenkins Pipeline 实战指南
  • Java基础(六):数组全面解析
  • python+uniapp基于微信小程序的生鲜订购系统nodejs+java
  • Java 图书管理系统
  • 在拉卡拉分账功能中实现实时更新,需结合异步回调通知和数据库事务来确保数据一致性。以下是具体实现方案
  • 【Linux系统部分】在Linux命令行中写一个简单的shell外壳
  • 网络安全2023—新安全新发展
  • HarmonyOS NEXT仓颉开发语言实战案例:电影App
  • 【AI时代速通QT】第四节:Windows下Qt Creator调试指南
  • Oracle 进阶语法实战:从多维分析到数据清洗的深度应用​(第四课)
  • ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模等科研应用
  • SQL参数化查询:防注入与计划缓存的双重优势
  • 高性能MySQL集群:架构设计与优化实战指南
  • 银河麒麟系统上利用WPS的SDK进行WORD的二次开发
  • 【Oracle学习笔记】7.存储过程(Stored Procedure)
  • jvm的调优命令jstack打印堆栈信息阐述以及调优
  • 04_Americanas精益管理项目_数仓搭建
  • VMware vSphere 9与ESXi 9正式发布:云原生与AI驱动的虚拟化平台革新
  • QT控件 使用Font Awesome开源图标库修改QWidget和QML两种界面框架的控件图标
  • Maven 中,dependencies 和 dependencyManagement
  • 基于C++实现 bp 神经网络的手写数字识别
  • 【LeetCode 热题 100】239. 滑动窗口最大值——(解法一)滑动窗口+暴力解
  • 从0开始学习计算机视觉--Day06--反向传播算法