⭐️ Feature description
go-ytdlp支持传递参数给yt-dlp, 希望在配置文件中提供编辑参数的选项
https://github.com/lrstanley/go-ytdlp?tab=readme-ov-file#flagconfig-json-tofrom-flags-conversion--usage
Bidirectional Conversion: Easily marshal and unmarshal yt-dlp flags to and from JSON. Use Command.SetFlagConfig and Command.GetFlagConfig to set/get the flag config.
// 4. Use the values to construct and run a yt-dlp command, by calling `Command.SetFlagConfig`,
// `Command.SetEnvVar`, and then `Command.Run`.
cmd := ytdlp.New().
SetFlagConfig(&body.Flags)
1. FlagConfig 是什么?
FlagConfig 是 yt-dlp 命令行参数(flags)和 JSON 之间的“中间表示”。
这在 HTTP API、Web UI、配置持久化 等场景中非常有用。
2. 双向转换(Bidirectional Conversion)
支持 双向 转换:
-
Flags → JSON
- 用
Command.GetFlagConfig()
-
JSON → Flags
- 用
Command.SetFlagConfig()
这意味着:
- 后端可以把当前 yt-dlp 参数返回给前端(JSON)
- 前端修改后再传回来
- 后端再转换回 yt-dlp 的 flags 执行
3. 校验(Validation)很重要
⚠️ JSON 本身是不安全的,必须校验
原因:
- JSON 里可能出现重复 flag
- 可能是无效 flag
- 可能是 yt-dlp 已经删除/修改的参数
go-ytdlp 提供了:
关键建议:
在真正使用 FlagConfig 之前,一定要 validate
🌈 Your view
No response
🧐 Code example
⭐️ Feature description
go-ytdlp支持传递参数给yt-dlp, 希望在配置文件中提供编辑参数的选项
https://github.com/lrstanley/go-ytdlp?tab=readme-ov-file#flagconfig-json-tofrom-flags-conversion--usage
Bidirectional Conversion: Easily marshal and unmarshal yt-dlp flags to and from JSON. Use Command.SetFlagConfig and Command.GetFlagConfig to set/get the flag config.
1. FlagConfig 是什么?
FlagConfig是 yt-dlp 命令行参数(flags)和 JSON 之间的“中间表示”。yt-dlp 本来是用命令行参数控制的(如
--format,--proxy等)FlagConfig允许你:这在 HTTP API、Web UI、配置持久化 等场景中非常有用。
2. 双向转换(Bidirectional Conversion)
支持 双向 转换:
Flags → JSON
Command.GetFlagConfig()JSON → Flags
Command.SetFlagConfig()这意味着:
3. 校验(Validation)很重要
原因:
go-ytdlp 提供了:
关键建议:
🌈 Your view
No response
🧐 Code example