Bas*_*ien 97 python youtube download python-3.x youtube-dl
我正在用 Python 3 制作一个小的图形界面,它应该下载一个带有 URL 的 youtube 视频。我youtube_dl为此使用了该模块。这是我的代码:
import youtube_dl # Youtube_dl is used for download the video
ydl_opt = {"outtmpl" : "/videos/%(title)s.%(ext)s", "format": "bestaudio/best"} # Here we give some advanced settings. outtmpl is used to define the path of the video that we are going to download
def operation(link):
"""
Start the download operation
"""
try:
with youtube_dl.YoutubeDL(ydl_opt) as yd: # The method YoutubeDL() take one argument which is a dictionary for changing default settings
video = yd.download([link]) # Start the download
result.set("Your video has been downloaded !")
except Exception:
result.set("Sorry, we got an error.")
operation("https://youtube.com/watch?v=...")
Run Code Online (Sandbox Code Playgroud)
当我执行我的代码时,我收到此错误:
ERROR: YouTube said: Unable to extract video data
Run Code Online (Sandbox Code Playgroud)
我在这里看到这是因为它没有找到任何视频信息,我该如何解决这个问题?
Man*_*hat 169
更新 youtube-dl 帮助了我。根据您的安装方式,以下是命令:
youtube-dl --update (自我更新)pip install -U youtube-dl (通过蟒蛇)brew upgrade youtube-dl (macOS + 自制软件)choco upgrade youtube-dl (窗户 + 巧克力味)hur*_*yag 37
对于 ubuntu 用户:
sudo apt purge youtube-dl
sudo pip3 install youtube-dl
Run Code Online (Sandbox Code Playgroud)
小智 11
我在 Ubuntu 20.04 上遇到了同样的错误。我通过从以下位置下载 .deb 更新 youtube-dl 解决了这个问题:https : //packages.debian.org/sid/all/youtube-dl/download
虽然您也可以在 youtube-dl 的官方网站上获得更新。
Wil*_* Le 11
节省时间并安装yt-dlp,而不是使用 pip 和python 3.7+:
python -m pip install -U yt-dlp
Run Code Online (Sandbox Code Playgroud)
然后
yt-dlp video_url -o /path/to/output.mp4
Run Code Online (Sandbox Code Playgroud)
例如:
yt-dlp https://www.youtube.com/watch?v=gKCvphbCpPE -o ~/Videos/my_video.mp4
Run Code Online (Sandbox Code Playgroud)
引用自包存储库:
yt-dlp 是基于现已停用的 youtube-dlc 的 youtube-dl 分支。该项目的主要重点是添加新功能和补丁,同时保持原始项目的最新状态
经过近 1 个小时的痛苦搜索后,为我工作了。
Gre*_*man 10
解决此问题的最简单、最快捷的方法是完全删除 Youtube-dl 并使用 .deb 文件和 apt 重新安装,而无需四处奔走并尝试一千种不同的解决方案。首先,将其从系统中清除。
sudo apt purge youtube-dl
Run Code Online (Sandbox Code Playgroud)
或者
sudo pip3 uninstall youtube-dl
Run Code Online (Sandbox Code Playgroud)
接下来,转到此处( http://ftp.us.debian.org/debian/pool/main/y/youtube-dl/youtube-dl_2021.12.17-1_all.deb ) 下载 .deb 文件。下载文件后,使用 apt 和以下命令进行安装。这将解决您的问题。显然,您将确保您的版本号和文件名正确。
sudo apt install ./youtube-dl_2021.12.17-1_all.deb
Run Code Online (Sandbox Code Playgroud)
如果此解决方案适合您,请投票,以便其他人可以轻松找到它。
在 Ubuntu 上唯一对我有用的是使用 Debian 包/ .deb 文件进行安装:
wget http://ftp.de.debian.org/debian/pool/main/y/youtube-dl/youtube-dl_2021.02.04.1-1_all.deb
sudo apt install ./youtube-dl_2021.02.04.1-1_all.deb
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您使用以下命令在 MacOsx 更新上使用 youtube-dl 命令行:
sudo youtube-dl --update
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110313 次 |
| 最近记录: |