视频转 MP4
更新时间:2026-06-15
简介
视频格式转换处理器,将各种视频格式转换为MP4
功能描述
- 支持多种视频格式转换为MP4
- 自动选择第一个音轨
- 视频质量和编码参数自定义
- 支持视频高度限制和缩放
- 音频编码参数精细控制
- 输入:AVI、MOV、MKV、FLV、WMV、3GP等主流视频格式
- 输出:MP4 (.mp4)
- 视频编解码器:H.264/H.265等
- 音频编解码器:AAC、MP3等
算子参数
输入
| 输入 | 含义 |
|---|---|
| input_col | 包含输入视频路径的数组(支持本地路径、HTTP/HTTPS URL、BOS/S3 URL) |
| output_col | 包含输出MP4文件路径的数组 |
输出
| 输出 | 含义 |
|---|---|
| result | pa.Array: 包含转换结果路径的数组,成功返回输出路径,失败返回None |
参数
| 参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| video_codec | str | 'libx264' | 视频编码器,支持libx264、libx265等 默认值:"libx264" |
| crf | int | 23 | 视频质量控制,取值范围0-51,越小质量越好 默认值:23 |
| preset | str | 'medium' | 编码速度预设,支持ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow 默认值:"medium" |
| max_height | int | None | 视频最大高度限制,超过时自动缩放,为None时不限制 默认值:None |
| audio_codec | str | 'aac' | 音频编码器,支持aac等 默认值:"aac" |
| audio_bitrate | str | '192k' | 音频码率,如"192k"、"128k" 默认值:"192k" |
| audio_sample_rate | int | None | 音频采样率,如44100。48000,为None时保持原始采样率 默认值:None |
| extra_params | list[str] | None | 额外的ffmpeg参数列表,如["-movflags", "+faststart"] 默认值:None |
| timeout | int | None | 单个视频处理超时时间(秒),为None时不限制 默认值:None |
调用示例
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_convert_to_mp4 import VideoConvertToMp4
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 = {
20 "input_paths": ["bos://bucket/test/aihc/test_data/test_video.mp4"],
21 "output_paths": ["bos://bucket/test/aihc/test_data_outputs/converted.mp4"],
22 }
23 ds = daft.from_pydict(samples)
24 constructor_kwargs = {
25 "video_codec": 'libx264',
26 "crf": 23,
27 "preset": 'medium',
28 "max_height": None,
29 "audio_codec": 'aac',
30 }
31 ds = ds.with_column(
32 "result",
33 aihc_udf(
34 VideoConvertToMp4,
35 construct_args=constructor_kwargs,
36 num_cpus=1,
37 concurrency=4,
38 batch_size=8,
39 )(col("input_col"), col("output_col")),
40 )
41 ds.show()
评价此篇文章
