YouTube DL Python输出文件格式不是mp4
我用python编写了一小段代码,从YouTube视频中提取音频或视频。代码如下:YouTube DL Python输出文件格式不是mp4,python,video,ffmpeg,youtube,youtube-dl,Python,Video,Ffmpeg,Youtube,Youtube Dl,我用python编写了一小段代码,从YouTube视频中提取音频或视频。代码如下: from __future__ import unicode_literals import youtube_dl link = input("Enter the video link:") while True: choice = input("Enter a for audio file, v for video file:") if choice
from __future__ import unicode_literals
import youtube_dl
link = input("Enter the video link:")
while True:
choice = input("Enter a for audio file, v for video file:")
if choice == "a" or choice == "v":
break
ydl_opts = {}
if choice == "a":
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)
if choice == "a":
path = f'D:\\DwnldsYT\\{video_title}.mp3'
if choice == "v":
path = f'D:\\DwnldsYT\\{video_title}.mp4'
ydl_opts.update({'outtmpl':path})
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([link])
音频提取工作正常,但问题在于视频提取。当我提取视频时,我得到的输出是一个mkv文件,而不是mp4文件。知道如何将视频文件保存为mp4吗?如果视频质量高于1080p,则无法将其下载为mp4,请尝试下载最高分辨率720p或1080p的视频,以检查其是否仍以mkv的形式下载。我想您可以在这里找到答案,我可以下载为mp4的最大分辨率为480p。有没有办法将1080p视频下载为mp4?试试这个`用youtube_dl.YoutubeDL({'format':'137')作为ydl:ydl.download([url])`正如@thekid77777所提到的,看看它的效果。谢谢!但我面临另一个问题。在此之前,YT视频的音频和视频都被下载。但是现在,只有视频被下载了。有没有办法下载1080p的音频和视频作为mp4文件?还有别的。如果YT视频的最大分辨率是720p或480p,那么我的代码会抛出一个错误。有没有办法确定最好的视频分辨率并将我的视频作为mp4下载到该分辨率中?我也有同样的问题,但对于优于1080p的视频,当我研究发现这就是youtube dl的工作方式时,尝试使用pytube,不管我的代码是使用youtube dl制作的(供参考),