如何在youtube 您所在的位置:网站首页 dl如何下载 如何在youtube

如何在youtube

2023-04-16 11:19| 来源: 网络整理| 查看: 265

如何在youtube-dl中设置默认下载位置,以便我用youtube-dl下载的所有内容都进入该默认目录?

相关讨论 为youtube-dl --output /path/to/your/dir做一个别名。我认为没有设置输出目录的永久方法。 我刚刚下载了整个播放列表,将文件放在哪里? 在运行youtube-dl命令的目录中。 在他们添加设置输出目录的开关之前,可以使用pushd和popd切换到输出目录,从其位置调用youtube-dl,然后再切换回去。 老兄!从终端转到您要使用cd命令将YouTube文件下载到的文件夹,然后运行youtube-dl命令。 @Synetech我希望youtube-dl团队接受我的功能请求:-)

您需要在配置文件中使用-o开关

youtube-dl上的输出是通过--output或-o开关处理的;将其作为选项传递,然后是要将下载保存到的目标位置:

youtube-dl -o '%USERPROFILE%\\Desktop\\%(title)s-%(id)s.%(ext)s' www.youtube.com/link/to/video

请注意,-o具有双重功能,它还为使用变量命名输出文件的方式设置了模板。在此示例中,它将输出原始下载视频的标题,后跟文件扩展名,这是我的个人喜好。对于文件名中可以??使用的所有变量,请在此处查看youtube-dl文档。

youtube-dl还允许使用配置文件-该文件可用于配置您最常使用的开关,因此程序可以从那里拉出它们,从而使您不必每次运行时都显式调用它们它。这就是您要查找的默认下载位置所需的内容。该配置文件可用于设置默认的输出目标,因此您不必再显式设置输出。

要设置youtube-dl的配置文件,请假设您使用Windows:

在%APPDATA%\ oaming中创建一个youtube-dl文件夹(如果尚不存在)。

在该文件夹中,创建一个名为config.txt的纯文本文件。

将youtube-dl选项放置在文件中,就像通常在命令行中使用youtube-dl使用它们一样,将每个选项放在新行中。例如,对于输出开关,您将使用:-o %USERPROFILE%\\Desktop。有关配置文件的更多信息,请阅读此处的文档。

覆盖配置文件

即使在配置文件中配置了选项,也可以通过从命令行显式调用它来覆盖它。因此,如果您在配置文件中将-o设置为下载的默认位置,但是想要将下载保存到当前作业的其他位置,则只需在命令行上调用-o将会覆盖该文件的配置文件。当前仅运行程序。

相关讨论 问题是使用-o开关需要指定文件名模板。我不想这样做,而是希望使用默认值(不仅仅包括标题)。确实应该有一个选项可以仅指定输出目录(特别是因为youtube-dl基于wget,而wget具有-P开关)。 youtube-dl不是基于wget的,您只需将%(title)s-%(id)s.%(ext)s附加到输出模板即可获取默认的基本名称。 @phihag-这正是我所需要的。我上周看到了这个帖子。我很高兴这次阅读了评论。我认为这就是为什么未选择答案。您应该将您的评论添加到此解决方案中(作为编辑解决方案),因为这将是最有帮助的又是一个很好的补充。 @phihag还有一件事。我也在上面也留言了。但是,我只是陷入一个问题。我想使用-f选项,但也要使用-o并使用您的建议。不喜欢那样您似乎是合适的人。谢谢! @phihag比仅仅知道显式命令要复杂得多。我花了几个小时研究它,并意识到要在此参数中使用其他参数,您必须创建一个简单的配置文件。我将解决方案作为围观者的答案。 @ejbytes提问者不接受此答案的原因可能是因为我在他们上次登录的一年后的2016年发布了该答案。我已根据您的要求将youtube-dl \\的默认文件名编辑到了答案中,但是您应该记住,这是youtube-dl使用的任意默认值,当未指定-o选项时-如果仍要设置-o,则还可以根据需要设置输出文件名。我的答案还详细解释了配置文件,但是没有理由需要您做您要尝试做的事情,正如我对您的答案所做的评论所展示的那样。 @Prometheus-是的,一个奇迹永远不会回来。这就是为什么几年前我停止捐款的原因。我正在竭尽全力试图使它在批处理文件中起作用。通过cmd直截了当。但是,在批处理脚本编写中,尝试将奇怪的东西放入变量然后使用它们是如此困难。我是通过命令行尝试int的,就像一个魅力。但是在批处理文件中,我花了几个小时才弄清楚。就像将多余的%从%添加到%%一样,这是相反的逻辑,因为cmd通常为1%,批处理为2 %%。奇怪的!

我找到了一种直接在Downloads文件夹中下载文件的方法。我搜索了很长时间。我复制了我的整个函数,那么您就可以了解周围的情况。这是我的代码,可能对某人有帮助:

12345678910111213141516171819import os def download_audio(request):     SAVE_PATH = '/'.join(os.getcwd().split('/')[:3]) + '/Downloads'     ydl_opts = {         'format': 'bestaudio/best',         'postprocessors': [{             'key': 'FFmpegExtractAudio',             'preferredcodec': 'mp3',             'preferredquality': '192',         }],         'outtmpl':SAVE_PATH + '/%(title)s.%(ext)s',     }     link = request.GET.get('video_url')     with youtube_dl.YoutubeDL(ydl_opts) as ydl:         ydl.download(["https://www.youtube.com/watch?v="+link])

如果有问题请告诉我。

相关讨论 嗨,NiceOyester,如何将下载目录设置为Google Cloud storage?我将Google Cloud函数与Node.js一起使用。 os.path.join()是更好的跨平台建议。

根据您的需求,我认为事后移动文件同样有用:

1234--exec CMD                       Execute a command on the file after                                  downloading, similar to find's -exec                                  syntax. Example: --exec 'adb push {}                                  /sdcard/Music/ && rm {}'

通过创建将移动文件的功能

根据配置文档,您可以使用全局或特定于用户的配置文件来配置youtube-dl:

You can configure youtube-dl by placing any supported command line option to a configuration file. On Linux and macOS, the system wide configuration file is located at /etc/youtube-dl.conf and the user wide configuration file at ~/.config/youtube-dl/config. On Windows, the user wide configuration file locations are %APPDATA%\\youtube-dl\\config.txt or C:\\Users\\\\youtube-dl.conf. Note that by default configuration file may not exist so you may need to create it yourself.

在Linux上,这将是您的用户配置文件:

12# Save all my videos to the Videos directory: -o ~/Videos/%(title)s.%(ext)s

这是我使用的完整解决方案:

1234567891011121314151617from youtube_dl import YoutubeDL ydl_opts = {    'format': 'best',    'outtmpl': 'DIR-PATH-HERE%(title)s'+'.mp4',    'noplaylist': True,    'extract-audio': True, } video ="https://www.youtube.com/watch?v=SlPhMPnQ58k" with YoutubeDL(ydl_opts) as ydl:    info_dict = ydl.extract_info(video, download=True)    video_url = info_dict.get("url", None)    video_id = info_dict.get("id", None)    video_title = info_dict.get('title', None)    video_length = info_dict.get('duration') # print(video_title)

这是 EXACT strike>的另一种有用的方法,可将视频下载到所需的目录中,并保留下载的本机文件名。

确定要在哪里创建配置文件。 创建一个文件" youtube-dl.conf"。您可以先创建youtube-dl.txt,这样比较容易,但文件必须为" youtube-dl.conf"。 这是配置文件的基本示例:这是您要下载的位置。这就是您要放入文件中的全部内容。其中-o是标志,%userprofile%/ Desktop / DL /是我要下载的位置,%(title)s-%(id)s。%(ext)s是保留本机文件名的命令。

这是您的以下配置文件:

-o %userprofile%/Desktop/DL/%(title)s-%(id)s.%(ext)s

Options found here Config here

命令参数:%program%-f%option%"%youtubelink%""%MYCONFIG%""%MYPATH%"

批处理文件设置:

1234567891011121314151617181920::Variables: Set program="%USERPROFILE%\\Desktop\\YOUTUBE-DL\\v20201209\\youtube-dl.exe" Set option=best SET MYPATH="%USERPROFILE%\\Desktop\\YOUTUBE-DL\\v20201209\\config" SET MYCONFIG="--config-location" SET MYDLDIR="%USERPROFILE%\\Desktop\\DL" SET INSTR='%%(title)s-%%(id)s.%%(ext)s' MKDIR"%USERPROFILE%\\Desktop\\DL" ::Ask user for input. Set /P youtubelink=[Past Link]: :: For use of config file, for default download location. %program% -f %option%"%youtubelink%""%MYCONFIG%""%MYPATH%" :: There are many ways to accomplish this: :: For Batch File, NOTE extra (%) character needed. ::"%program%" -f"option" --merge-output-format mp4 -o"%MYDLDIR%"\\%%(title)s-%%(id)s.%%(ext)s %youtubelink% :: or this use of variable ::"%program%" -f"option" --merge-output-format mp4 -o"%MYDLDIR%"\\%INSTR% %youtubelink%

注意:当变量选项中有空格时,请使用"引号"。

最终讯息: 创建配置文件,将其放在您要引用的文件夹(目录)中。转到您的youtube-dl.exe文件,然后使用CMD或批处理文件将上面列出的"参数"传递给它。完毕。 (贡献和友善)

相关讨论 除了我现在已根据要求将默认基本名称编辑到我的答案中之外,您的答案似乎没有添加我的答案中尚未包含的任何内容,而且似乎在其中引入了许多不正确之处过程。首先,配置文件不必以.conf结尾-仅特定于用户的配置文件,仅当您有多个用户在同一台??计算机上使用youtube-dl且其中一个用户要覆盖全局用户名时才需要配置文件。 其次,您提到"本地"文件名的方式使我认为您相信它是YouTube自己的默认文件,因此要澄清一下,默认文件名/ basename只是youtube-dl在以下情况下使用的任意默认文件名:没有设置-o选项,如果仍然使用-o,则没有理由不应该将其设置为所需的格式。 最后,没有理由为什么您需要在这里执行配置文件。我能够运行以下命令而没有任何问题:youtube-dl -f best -o"%userprofile%/Desktop/DL/%(title)s-%(id)s.%(ext)s" --ignore-config https://www.youtube.com/watch?v=T6vKZhfI7qY-请注意,最后一个选项是确保我根本不使用配置文件,并且仍然可以按预期进行下载。输出目录甚至不需要存在,因为youtube-dl会自动创建它。 @Prometheus您似乎对此了解很多。我真的为你感到高兴。但是,当没有人演示这样的NIFTY可执行文件的各种方法时,这令人沮丧。我正在贡献。我会保留它。我确实赞赏部分建设性的批评。谢谢宙斯,我是说普罗米修斯,还是创造者?开个玩笑,上帝保佑。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有