使用Zapier+Transloadit合并滚动截图视频、音频与字幕失败求助
问题:Zapier+Transloadit添加字幕后音频和字幕均无法合并到滚动视频中
我同时在社区论坛也发布了此问题,因为不确定哪个平台使用更广泛。我正尝试使用Zapier搭配Transloadit生成滚动截图视频,再将其与ElevenLabs音频和内嵌字幕合并。此前仅合并滚动视频与ElevenLabs音频的功能可正常运行,但添加字幕之后,音频和字幕均无法被加入,最终只得到滚动视频。请问我哪里操作出错了?
Zap相关部分截图

Assembly输出截图

有问题的Assembly代码(添加字幕版本)
{ "steps": { "screenshot": { "robot": "/html/convert", "result": false, "format": "png", "fullpage": false, "width": 720, "height": 1280, "url": "${fields.screenshot_url}" }, "scroll": { "use": { "steps": [ { "name": "screenshot", "as": "image" } ] }, "robot": "/video/merge", "result": true, "duration": 30, "ffmpeg": { "vf": "scroll=vertical=0.001", "f": "mp4", "pix_fmt": "yuv420p" }, "ffmpeg_stack": "v6.0.0", "framerate": 30, "preset": "empty" }, ":original": { "robot": "/upload/handle", "result": false }, "video_filtered": { "use": ":original", "robot": "/file/filter", "result": true, "accepts": [ [ "${file.mime}", "regex", "video" ] ], "error_on_decline": false }, "subtitle_filtered": { "use": ":original", "robot": "/file/filter", "result": true, "accepts": [ [ "${file.mime}", "regex", "application/x-subrip" ] ], "error_on_decline": false }, "add_subtitles": { "robot": "/video/subtitle", "use": { "steps": [ { "name": "scroll", "as": "video" }, { "name": "subtitle_filtered", "as": "subtitles" } ] }, "preset": "ipad-high", "ffmpeg_stack": "v6.0.0", "subtitles_type": "burned", "font": "Arial", "border_color": "00000000", "font_color": "FFFFFF", "border_style": "box" }, "add_audio": { "robot": "/video/encode", "use": { "steps": [ { "name": "add_subtitles", "as": "video" }, { "name": ":original", "as": "audio" } ] }, "preset": "ipad-high", "ffmpeg_stack": "v6.0.0", "ffmpeg": { "c:v": "copy", "c:a": "aac", "strict": "experimental" } }, "store_video": { "use": [ "add_audio" ], "robot": "/s3/store", "credentials": "raf", "path": "final_output/${file.url_name}" }, "store_original": { "use": [ ":original" ], "robot": "/s3/store", "credentials": "raf", "path": "originals/${file.url_name}" } }}
正常运行的Assembly代码(仅滚动视频+音频版本)
{ "steps": { "screenshot": { "robot": "/html/convert", "result": false, "format": "png", "fullpage": false, "width": 720, "height": 1280, "url": "${fields.screenshot_url}" }, "scroll": { "use": { "steps": [ { "name": "screenshot", "as": "image" } ] }, "robot": "/video/merge", "result": true, "duration": 30, "ffmpeg": { "vf": "scroll=vertical:0.001", "f": "mp4", "pix_fmt": "yuv420p" }, "ffmpeg_stack": "v6.0.0", "framerate": 30, "preset": "empty" }, ":original": { "robot": "/upload/handle", "result": false }, "merge_audio_video": { "use": { "steps": [ { "name": "scroll", "as": "video" }, { "name": ":original", "as": "audio" } ] }, "robot": "/video/merge", "result": true, "ffmpeg_stack": "v6.0.0", "preset": "ipad-high" }, "store_video": { "use": [ "merge_audio_video" ], "robot": "/s3/store", "credentials": "raf", "path": "final_output/${file.url_name}" }, "store_original": { "use": [ ":original" ], "robot": "/s3/store", "credentials": "raf", "path": "originals/${file.url_name}" } }}
问题分析与修复方案
字幕步骤未开启结果输出
add_subtitles步骤缺少"result": true配置,导致后续步骤无法获取到添加了字幕的视频文件。Transloadit中只有设置result: true的步骤,其输出才会被后续流程引用。音频合并机器人选择错误
你用/video/encode机器人合并音频,但该机器人核心功能是视频编码,音频合并应该沿用正常版本中的/video/merge机器人。前者在处理无音频轨道的视频+外部音频时,容易出现合并逻辑失效的问题。冗余文件过滤步骤
添加的video_filtered和subtitle_filtered步骤属于冗余操作——:original中仅包含ElevenLabs音频和字幕文件,不存在视频文件,过滤步骤反而可能增加流程复杂度,甚至导致文件匹配异常。可直接移除这两个步骤,后续步骤直接引用:original中的对应文件。
修改后的Assembly代码示例
{ "steps": { "screenshot": { "robot": "/html/convert", "result": false, "format": "png", "fullpage": false, "width": 720, "height": 1280, "url": "${fields.screenshot_url}" }, "scroll": { "use": { "steps": [ { "name": "screenshot", "as": "image" } ] }, "robot": "/video/merge", "result": true, "duration": 30, "ffmpeg": { "vf": "scroll=vertical=0.001", "f": "mp4", "pix_fmt": "yuv420p" }, "ffmpeg_stack": "v6.0.0", "framerate": 30, "preset": "empty" }, ":original": { "robot": "/upload/handle", "result": false }, "add_subtitles": { "robot": "/video/subtitle", "use": { "steps": [ { "name": "scroll", "as": "video" }, { "name": ":original", "as": "subtitles" } ] }, "result": true, "preset": "ipad-high", "ffmpeg_stack": "v6.0.0", "subtitles_type": "burned", "font": "Arial", "border_color": "00000000", "font_color": "FFFFFF", "border_style": "box" }, "merge_audio_video": { "use": { "steps": [ { "name": "add_subtitles", "as": "video" }, { "name": ":original", "as": "audio" } ] }, "robot": "/video/merge", "result": true, "ffmpeg_stack": "v6.0.0", "preset": "ipad-high" }, "store_video": { "use": [ "merge_audio_video" ], "robot": "/s3/store", "credentials": "raf", "path": "final_output/${file.url_name}" }, "store_original": { "use": [ ":original" ], "robot": "/s3/store", "credentials": "raf", "path": "originals/${file.url_name}" } } }
额外检查点
- 确认Zapier传递给Transloadit的
:original文件包含正确的ElevenLabs音频和SRT格式字幕,且字幕文件MIME类型为application/x-subrip。 - 查看Transloadit的Assembly日志,检查
add_subtitles和merge_audio_video步骤是否存在文件找不到、格式不匹配等报错。
内容的提问来源于stack exchange,提问作者user25190614
相关产品推荐
相关产品推荐

