VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • win下youtube-dl 【ERROR: requested format not available】选下载视频质量的坑--【值得一看

需求说明(bug出处):

 简单说:下载youtube的视频,嵌入翻译好的中文字幕。

 

 详细说(可略过):

 阿里的海外服务器需要布一个Web Service---用以接收国内(本地服务器)的请求,

 然后用youtube-dl下载需要的视频(此bug出处),上传国内阿里服务器OSS,

 之后做音频抽取,语音识别,翻译,嵌入字幕。

 

Django views中下载视频核心代码:

 

以下是:自动选择下载最高质量视频的参数

 

1
bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best

 

没加这个参数之前代码:

1
2
3
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

 

意思是,请求格式不对。

左查右查也查不到原因,

再去看看官方文档:

https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection

我靠,这也行,于是单引号改双引号,再用postman发请求,试试看:

 

OK跑通,视频和字幕顺利下载:

 


======================================================

同时测出了youtube-dl 运行的返回值,以待后续异常处理用:

没有错误是0

有错误是有1。

 

Happy listening and learning ! (*^▽^*) !


相关教程