展开本页目录
开始前准备什么
- 下载本页原创练习素材,或准备自己的有权使用素材。
- 核对本页对应软件或账号实际版本;Remotion 示例需要已有可运行项目。
- 保留原素材、实际参数和独立输出,不覆盖输入。
- 先盘点原片真实规格
- 明确统一后的目标
- 每段重新编码标准化
- 写安全的相对文件清单
- 拼接后核对长度和接点
- 再合入经过检查的混音
包含独立输入、模板、原创图形与 HTML 教材、验收表和离线检查;不包含外部账号或付费模型结果。
本页具体任务输入或操作模板;按步骤替换为自己的实际材料。
保留实际结果证据,默认待验证,不用人工预期填充通过。
1. 先盘点原片真实规格
下载两段本地生成的测试片,A 为 640×360、24fps,B 为 480×270、30fps;它们不是模型生成成片。用 ffprobe 读取自己的原片尺寸、帧率与音轨,不依文件名推断。
2. 明确统一后的目标
练习目标 640×360、30fps、yuv420p。尺寸变化按保持比例缩放与填边处理,不拉伸人物;复杂旋转元数据需先核对实际方向。
3. 每段重新编码标准化
按 normalize-command.txt 分别输出 norm-a.mp4 与 norm-b.mp4。此练习显式去掉音轨,避免有音轨与无音轨流不匹配;原音轨保留并在剪辑工程另行处理。
normalize-command.txt
ffmpeg -i sample-a.mp4 -vf "scale=640:360:force_original_aspect_ratio=decrease,pad=640:360:(ow-iw)/2:(oh-ih)/2,fps=30,setsar=1" -an -c:v libx264 -pix_fmt yuv420p norm-a.mp4
ffmpeg -i sample-b.mp4 -vf "scale=640:360:force_original_aspect_ratio=decrease,pad=640:360:(ow-iw)/2:(oh-ih)/2,fps=30,setsar=1" -an -c:v libx264 -pix_fmt yuv420p norm-b.mp4
ffmpeg -f concat -safe 1 -i concat.txt -c copy joined.mp44. 写安全的相对文件清单
concat.txt 只包含 package 目录内的 norm-a.mp4 和 norm-b.mp4,依播放顺序排列。不拼接未知来源路径,不把任意用户文字直接拼进命令。
5. 拼接后核对长度和接点
规格一致后用 concat demuxer 与 copy 输出 joined.mp4。播放接点并核对时长约为两段之和;规范相同仍不能保证动作或场景连续。
6. 再合入经过检查的混音
本练习 joined.mp4 无音轨。需要对白时在工程中重新对齐或明确映射已处理的音频,最后检查实际成品,不把无声测试片冒充完整交付。
7. 下载材料并关联实际结果
先运行素材包内的 node check.mjs 检查输入结构,再完成需要账号或编辑器的步骤。离线通过不表示模型生成、外部软件导出或自然流量已经验证。
怎样确认已经完成
- 输出各段尺寸、fps 与像素格式一致。
- 拼接顺序和总时长与原片清单对应。
- 音轨状态明确,实际成品完整播放。
常见问题
为什么不直接 -c copy 拼接原片?
不同编码参数、尺寸或流布局可能不兼容。先按共同目标标准化,再对实际输出验证。
统一规格会让角色连续吗?
不会。它只处理媒体规格,角色、动作与场景仍需内容审核。

