#python #mp3 #mp4 #moviepy #pytube
#питон #mp3 #МР4 #moviepy #pytube
Вопрос:
Итак, что я пытаюсь сделать, это конвертировать файлы mp4, которые я получаю при загрузке видео с YouTube с помощью pytube, в файлы mp3 с помощью moviepy. Однако эти файлы mp4 не содержат никаких кадров, которые возникают KeyError: 'video_fps'
в ffmpeg_reader.
Возможно ли вообще это сделать с помощью moviepy или мне нужно использовать другой инструмент? Я думаю, я мог бы также просто загружать файлы mp4 с видео, но это привело бы к пустой трате ресурсов, особенно для больших списков воспроизведения.
Вот код, который я использовал:
from moviepy.video.io.VideoFileClip import VideoFileClip
import pytube
def downloadPlaylist(url):
playlist = pytube.Playlist(url)
for video in playlist.videos:
filename = video.streams.get_audio_only().download()
clip = VideoFileClip(filename)
clip.audio.write_audiofile(filename[:-4] ".mp3")
clip.close()
Комментарии:
1. Попробуйте создать аудиофильм из файлов mp4?
Ответ №1:
Так что просто изменение VideoFileClip(filename)
AudioFileClip(filename)
было решением:
clip = AudioFileClip(filename)
clip.write_audiofile(filename[:-4] ".mp3")
clip.close()
Ответ №2:
Воздержитесь от использования .get_audio_only()
Попробуйте загрузить все видео с .get_by_itag
помощью или чего-то подобного. У меня получилось после получения всего видео.
Комментарии:
1. Как я уже сказал, это излишне отнимет время. Ответ @Tom Burrows сработал для меня.