202507 Youtube视频下载代码
需要安装ffmpeg,设置为环境变量 然后运行代码,输入url,视频下载到视频目录中
可以直接Youtube的网站,但是不能下载B站和抖音的视频
import yt_dlp
def download_video(url, output_path='./videos'):
"""
下载网站视频
参数:
url (str): 视频网页URL
output_path (str): 视频保存路径,默认为当前目录下的videos文件夹
"""
ydl_opts = {
'format': 'bestvideo+bestaudio/best', # 选择最佳质量
'outtmpl': f'{output_path}/%(title)s.%(ext)s', # 输出文件名模板
'merge_output_format': 'mp4', # 合并为mp4格式
'noplaylist': True, # 如果URL是播放列表,只下载单个视频
'quiet': False, # 显示下载信息
'progress_hooks': [download_progress_hook], # 进度回调
}
try:
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
print("下载完成!")
except Exception as e:
print(f"下载失败: {e}")
def download_progress_hook(d):
"""下载进度回调函数"""
if d['status'] == 'downloading':
print(f"\r下载中: {d['_percent_str']} - {d['_speed_str']} - 剩余时间: {d['_eta_str']}", end='')
elif d['status'] == 'finished':
print("\n视频下载完成,正在合并格式...")
# 使用示例
if __name__ == "__main__":
video_url = input("请输入视频URL: ")
download_video(video_url)