使用yt-dlp去除视频标题中的重复空白字符
解决yt-dlp标题多余空白的文件名处理问题
为什么原命令报错?
你之前的命令报错,是因为yt-dlp没有--postprocessor这个选项——正确启用后处理器的参数是--use-postprocessor,而且re_replace也并非直接可用的后处理器类型。
两种可行的解决方法
方法1:用--replace-in-metadata直接修改标题(推荐)
这个方法无需后处理器,直接在下载阶段修改title字段,语法更简洁:
yt-dlp.exe "url" --replace-in-metadata title "\s+" " " -o D:\download\%(upload_date)s_%(title)s.%(ext)s
- 作用:将title里的连续空白字符(包括空格、制表符等)替换为单个空格,生成的文件名自然就没有多余空白了。
方法2:用modify-metadata后处理器实现
如果一定要用后处理器,可以通过modify-metadata后处理器,借助Python正则替换处理标题:
yt-dlp.exe "url" --use-postprocessor "modify-metadata: title=re.sub(r'\s+', ' ', title)" -o D:\download\%(upload_date)s_%(title)s.%(ext)s
- 作用:调用Python的
re.sub函数,把title中的连续空白替换成单个空格,再用处理后的title生成文件名。
效果验证
运行任意一个命令后,下载的视频文件名里的标题部分都会自动清理多余空白,符合需求。
内容的提问来源于stack exchange,提问作者Joe.S
相关产品推荐
相关产品推荐

