将 youtube-dl cmd 命令转换为 python 脚本

convert youtube-dl cmd command to python script

据我所知,有两种方法可以使用 youtube-dl

sound.webm 转换为 sound.mp3

第一种方法我试过用ffmpeg转换声音:

class MyLogger(object):
    def debug(self, msg):
        pass

    def warning(self, msg):
        pass

    def error(self, msg):
        print(msg)


def my_hook(d):
    if d['status'] == 'finished':
        print('Done downloading, now converting ...')

def download_sound(url):
    ydl_opts = {

        'format': 'bestaudio/best[height=360]',
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': '192',
        }],
        'logger': MyLogger(),
        'progress_hooks': [my_hook],
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download(['https://youtu.be/A_WzVVndUCY])

文件大小为 8mb

第二种方法:

url = 'https://youtu.be/A_WzVVndUCY'
command = ['youtube-dl', '-x', '--audio-format', 'mp3', f'{url}']

文件大小 = 4mb.

所以第二种方法对我来说更好,但我的问题是如何将此 cmd 命令 youtube-dl -x --audio-format mp3 $url 转换为 python 脚本,就像我提到的第一种方法一样。

您可以轻松地将 youtube-dl 嵌入为:

import youtube_dl

ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])

检查 here 以获得更多选项。