视频拼接
更新时间:2026-06-15
简介
视频拼接处理器,支持将多个视频文件拼接成一个视频
功能描述
- 使用 ffmpeg concat filter 拼接视频并重编码
- 支持多输入格式(本地/BOS/HTTP)
- 支持输出到指定路径
- 可配置视频/音频编码参数
算子参数
输入
| 输入 | 含义 |
|---|---|
| video_paths_list | 包含视频路径列表的列,每个元素是一个字符串列表 |
| output_col | 输出视频路径列 |
输出
| 输出 | 含义 |
|---|---|
| result | 算子输出 |
参数
| 参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| output_format | str | 'mp4' | 输出视频格式(仅用于临时文件扩展名) |
| video_codec | str | 'libx264' | 视频编码器 |
| audio_codec | str | 'aac' | 音频编码器 |
| timeout | int | None | ffmpeg执行超时时间(秒) |
| extra_params | list[str] | None | 额外的ffmpeg参数列表 |
调用示例
Python
1from __future__ import annotations
2
3import os
4
5import daft
6from daft import col
7
8from daft.aihc.common.udf import aihc_udf
9from daft.aihc.functions.video.video_concat import VideoConcat
10
11if __name__ == "__main__":
12 if os.getenv("DAFT_RUNNER", "native") == "ray":
13 import ray
14 ray.init(dashboard_host="0.0.0.0", ignore_reinit_error=True)
15 daft.set_runner_ray()
16 daft.set_execution_config(actor_udf_ready_timeout=6000, min_cpu_per_task=0)
17
18 # TODO: 根据实际场景准备样本数据
19 samples = {"video_paths_list": [...], "output_col": [...]}
20 ds = daft.from_pydict(samples)
21 constructor_kwargs = {
22 "output_format": 'mp4',
23 "video_codec": 'libx264',
24 "audio_codec": 'aac',
25 "timeout": None,
26 "extra_params": None,
27 }
28 ds = ds.with_column(
29 "result",
30 aihc_udf(
31 VideoConcat,
32 construct_args=constructor_kwargs,
33 num_cpus=1,
34 concurrency=4,
35 batch_size=8,
36 )(col("video_paths_list"), col("output_col")),
37 )
38 ds.show()
评价此篇文章
