YouTube-DL Python 未显示提取的音频文件的详细信息
YouTube-DL Python details of extracted audio file are not displayed
我在 python 中编写了一小段代码来从 YouTube 视频中提取音频。这是代码:
from __future__ import unicode_literals
import youtube_dl
link = input("Enter the video link:")
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
info_dict = ydl.extract_info(link, download=False)
video_title = info_dict.get('title', None)
path = f'D:\{video_title}.mp3'
ydl_opts.update({'outtmpl':path})
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([link])
这是保存输出音频文件的文件夹:
如您所见,显示了音频文件的所有详细信息,例如修改日期、类型和大小。
但是,如果我将 path = f'D:\{video_title}.mp3'
更改为 path = f'D:\YT_Files\{video_title}.mp3'
,则不会显示文件详细信息。
知道为什么会这样吗?有什么办法可以解决这个问题吗?任何帮助,将不胜感激。谢谢。
由于 YT_Files 是一个目录,您可以将路径设置为 path = f'D:\{video_title}.mp3'
,这会导致显示元数据。然后尝试使用 os.system()
将文件移动到 YT_Files。那么你应该在 YT_Folders 上有元数据。如果不是,那么我认为它是 Windows 资源管理器的错。以下代码应该可以工作,但我不是 100% 确定此语法将在 windows.
上工作
from __future__ import unicode_literals
import youtube_dl
link = input("Enter the video link:")
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
info_dict = ydl.extract_info(link, download=False)
video_title = info_dict.get('title', None)
path = f'D:\{video_title}.mp3'
ydl_opts.update({'outtmpl':path})
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([link])
import os
os.system('move D:\*.mp3 D:\YT_Files\')
运行 此代码并检查元数据是否存在。不要通过 windows 资源管理器检查。转到“属性”。单击“详细信息”选项卡并向下滚动。
如果您找到带有 Date-Modified
或 Type
的属性,那么问题出在 Windows Explorer/File 资源管理器中,但如果您不这样做,那么我将尝试调试
我在 python 中编写了一小段代码来从 YouTube 视频中提取音频。这是代码:
from __future__ import unicode_literals
import youtube_dl
link = input("Enter the video link:")
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
info_dict = ydl.extract_info(link, download=False)
video_title = info_dict.get('title', None)
path = f'D:\{video_title}.mp3'
ydl_opts.update({'outtmpl':path})
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([link])
这是保存输出音频文件的文件夹:
如您所见,显示了音频文件的所有详细信息,例如修改日期、类型和大小。
但是,如果我将 path = f'D:\{video_title}.mp3'
更改为 path = f'D:\YT_Files\{video_title}.mp3'
,则不会显示文件详细信息。
知道为什么会这样吗?有什么办法可以解决这个问题吗?任何帮助,将不胜感激。谢谢。
由于 YT_Files 是一个目录,您可以将路径设置为 path = f'D:\{video_title}.mp3'
,这会导致显示元数据。然后尝试使用 os.system()
将文件移动到 YT_Files。那么你应该在 YT_Folders 上有元数据。如果不是,那么我认为它是 Windows 资源管理器的错。以下代码应该可以工作,但我不是 100% 确定此语法将在 windows.
from __future__ import unicode_literals
import youtube_dl
link = input("Enter the video link:")
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
info_dict = ydl.extract_info(link, download=False)
video_title = info_dict.get('title', None)
path = f'D:\{video_title}.mp3'
ydl_opts.update({'outtmpl':path})
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([link])
import os
os.system('move D:\*.mp3 D:\YT_Files\')
运行 此代码并检查元数据是否存在。不要通过 windows 资源管理器检查。转到“属性”。单击“详细信息”选项卡并向下滚动。
如果您找到带有 Date-Modified
或 Type
的属性,那么问题出在 Windows Explorer/File 资源管理器中,但如果您不这样做,那么我将尝试调试