首页 > 解决方案 > 如何将附加参数传递给 youtube-dl 的函数“my_hook”

问题描述

import youtube_dl
def my_hook(d,`some parameter`):
    ...
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
   ydl.download("link" , 'some parameter')

我怎样才能传递some parametermy_hook函数?我想传递一个套接字对象来my_hook 向另一台机器报告最新的下载进度。我怎样才能通过它?

标签: pythonyoutube-dl

解决方案


#! /usr/bin/env python3
import youtube_dl

def progress_hook( response ):
    ##  send  response['status']  to whatever subprocess you have going on.
    print( response['status'] )

ydl_opts = {
    'progress_hooks': [progress_hook],
    ##  other options, resolution & whatnot
}

link = 'm.youtube.com/watch?v=dQw4w9WgXcQ'

with youtube_dl .YoutubeDL( ydl_opts ) as ydl:
    ##  metadata = ydl .extract_info( link, download=False )
    ##  print( metadata )
    ydl .download( [link, ydl_opts] )

推荐阅读