开发者社区> 问答> 正文

使用youtube-dl直接下载到S3

我正在尝试编写一个lambda函数(最终),它将youtube-dl的输出直接写到S3。我建立原型的方法是将输出转储到stdout,然后将其重定向到S3中的一个文件,但这似乎是一个巨大的攻击。

import youtube_dl, sys
from smart_open import open
from contextlib import redirect_stdout

ydl_opts = { 'outtmpl': '-', 'cachedir': False, 'logtostderr': True }
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
  with open('s3://<test-bucket>/test.mp4','wb') as f:
    with redirect_stdout(f): 
      ydl.download(['https://www.youtube.com/watch?v=zzEYsi_P0RU'])

还有其他人有什么神奇的想法吗? 问题来源StackOverflow 地址:/questions/59384436/use-youtube-dl-to-download-directly-to-s3

展开
收起
kun坤 2019-12-26 14:39:06 849 0
1 条回答
写回答
取消 提交回答
  • 下载youtube-dl 地址:在Github上边搜索youtube-dl 即可找到

    下载完毕以后,

    配置环境变量

    添加两个代理变量

    http_proxy http://127.0.0.1:1080 我的代理端口是1080

    https_proxy http://127.0.0.1:1080

    然后把刚才下载的youtube-dl.exe也配置环境变量

    最后创建一个bat脚本,写上如下命令

    xx盘符:\youtube\youtube-dl.exe %* --write-sub --no-mtime --output %%(title)s.%%(ext)s --no-part --restrict-filenames

    然后cmd到此目录

    运行

    you2.bat url地址,即可下载

    常用的下载命令

    1、查看分辨率:

    youtube-dl -F https://www.youtube.com/watch?v=_NMf1TpiFwY

    技术分享图片

    2、根据分辨率下载,比如下载1280*720的mp4,前面的数字是136

    则可以:youtube-dl -f 136 https://www.youtube.com/watch?v=_NMf1TpiFwY

    技术分享图片

    另:youtube-dl -f best https://www.youtube.com/watch?v=_NMf1TpiFwY,这个命令一般也可以下载分辨率最好的视频,而是下载的有声音的视频中分辨率最好的。

    2021-02-20 14:43:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载