我对 youtube-dl 库 ( https://rg3.github.io/youtube-dl/ )有问题。我使用 youtube-dl 不是通过这个库直接下载视频,而是我首先使用这样的命令生成链接:
youtube-dl --simulate --dump-json --prefer-ffmpeg -- -CmadmM5cOk
我从 json 答案中获得了所需的格式链接,我使用默认格式 1280x720 mp4。链接看起来像这样“ https://r4---sn-nto52nx-px8e.googlevideo.com/videoplayback?lmt=1432339993780507&ip=xxxx&key=yt6&fexp=9408710%2C9409069%2C9413137%2C9415365%2C9415485%2C9416023%2C9416126%2C941 .. .”。
然后我使用此链接从不同位置的不同 PC 下载视频。对于大多数链接,它工作正常,但有一些视频,例如https://www.youtube.com/watch?v=-CmadmM5cOk,我无法从不同的服务器或 PC 下载,它返回 ERROR 403: Forbidden .
所以我到目前为止所尝试的,我有 2 台服务器和我的本地 PC,所有 3 台都位于不同的国家/地区,美国、英国和乌克兰。
例如,我在美国的服务器 1 上运行 youtube-dl 并获取链接,我得到链接,我可以在此服务器 1 中下载它,但是在伦敦的服务器 2 和我在乌克兰的本地 PC 上,它返回 ERROR 403: Forbidden。
另一个例子,我在伦敦的服务器 2 上生成链接,我得到不同的链接,我可以在同一台服务器上下载它,但是当我在服务器 1 或我的本地 PC 上尝试时,我得到相同的 ERROR 403: Forbidden。当我在本地 PC 上生成链接并在服务器上尝试时也是如此。
这只发生在一些精确的视频中,但有很多。一些返回 403 的视频:https://www.youtube.com/watch?v=09R8_2nJtjg,https://www.youtube.com/watch?v=7PCkvCPvDXk。
谢谢,我很感激任何帮助!
更新:
我正在尝试使用您建议的选项“-o -”将视频文件输出到标准输出,然后将其重新翻译给用户。但是我有另一个问题,如果我使用 ssh 登录并使用我的用户尝试命令它可以工作,但是当我在“www-data”用户下启动相同的命令时它会抛出 403 错误。这是详细的输出: …
如何在通话链中间添加评论?
当我尝试在调用链的中间添加注释时,我看到Ruby抛出解析错误:
Tag.joins(:taggings)
# Wanted to add comment here cause it's long
# and takes multiple lines
.where(...)
.where(...)
.where(...)
# And here
.group(...)
.order(...)
Run Code Online (Sandbox Code Playgroud)