win下youtube-dl 【ERROR: requested format not available】选下载视频质量的坑–【值得一看】
- 2020 年 4 月 14 日
- 筆記
- django, youtube-dl+FFMPEG
需求说明(bug出处):
简单说:下载youtube的视频,嵌入翻译好的中文字幕。
详细说(可略过):
阿里的海外服务器需要布一个Web Service—用以接收国内(本地服务器)的请求,
然后用youtube-dl下载需要的视频(此bug出处),上传国内阿里服务器OSS,然后做音频抽取,语音识别,翻译,嵌入字幕。
Django views中下载视频核心代码:
以下是:自动选择下载最高质量视频的参数
bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best
没加这个参数之前代码:
cmd1 = f"""youtube-dl.exe -f --write-auto-sub --sub-lang en --convert-subs srt -o {task_id} {url}"""
cmd2 = f"""youtube-dl.exe -f --write-sub --sub-lang en --convert-subs srt -o {task_id} {url}"""
是跑的通的,可以下字幕下视频。
加上后,用postman发请求,就不能行了,会报错 ERROR: requested format not available:
意思是,请求格式不对。
左查右查也查不到原因,
再去看看官方文档:
看红框!!
双引号改单引号,再用postman发请求,试试看:
OK跑通,视频和字幕下载完成:
同时测出了youtube-dl 运行报错时的返回值,以待后续异常处理用:
没有错误是0
有错误是有1。
Happy listening and learning ! (*^▽^*) !