python - 使用python/moviepy将没有帧的mp4文件转换为mp3
问题描述
所以我要做的是将我从使用 pytube 下载 YouTube 视频中获得的 mp4 文件转换为使用 moviepy 的 mp3 文件。但是,这些 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()
解决方案
避免使用.get_audio_only()
尝试下载整个视频.get_by_itag
或类似的东西。获得整个视频后为我工作。
推荐阅读
- python - 为什么这个答案中有一个 en ?
- google-compute-engine - Google Compute Engine (GCE VPC) 上的 Samba 共享
- ios - 在 Swift 中保存和存储数据
- spring - 具有原型范围的 AbstractTestNGSpringContextTests
- org-mode - org-mode 源代码编辑在退出源代码块编辑器后缩进代码
- node.js - 使用来自 POST HTTP 请求的回调函数后保存 JSON 对象
- mysql - MySql,在两个不同的小时内按时间选择第一条和最后一条记录
- javascript - 为什么我的模态在后台打开?
- javascript - 使用“npm ci”而不是“npm install”进行确定性项目设置
- office-js - 加载项错误 此加载项无法启动