在浏览B站时,我们可以找到很多喜欢地歌曲合集,若是想要批量下载只能在B站上播放,要想整个下载下来转为MP4或是MP3在车上放,一首首下就非常麻烦,遍搜全网,没几个好用的,一般是广告,一点不方便,经过我的摸索,将我的方法分享如下。
从B站直接缓存的视频是不能直接使用的,具体到每个文件夹下的m4s文件才是我们需要的处理对象,那么处理过程为先将m4s文件先提取出来,将两个m4s文件合并在一起后转为MP4文件,详情可看B站缓存视频批量转为MP4格式,懒狗help懒狗,实现图形化_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1sLi6YQEba/?spm_id_from=333.999.0.0&vd_source=e0ef86e6fb1f86a7f87a74bcffd17183该up已经将功能实现很完美了(呜呜呜~创新点没了)。而我想将接着将得到的MP4批量转为MP3怎么办呢?
用python,拒绝广告,拒绝广告,拒绝广告!!!拒绝一切花里胡哨。
import os
from moviepy.editor import AudioFileClip
def convert_mp4_to_mp3(input_folder, output_folder, bitrate="320k"):
"""
将MP4文件批量转换为MP3,并控制输出音频质量。
:param input_folder: 包含MP4文件的文件夹路径
:param output_folder: 保存MP3文件的文件夹路径
:param bitrate: 音频比特率,默认值为"320k"(高质量),可选值:"128k", "192k", "256k", "320k"
"""
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历输入文件夹中的所有文件
for filename in os.listdir(input_folder):
if filename.endswith(".mp4"):
# 构建完整的文件路径
mp4_path = os.path.join(input_folder, filename)
mp3_filename = os.path.splitext(filename)[0] + ".mp3"
mp3_path = os.path.join(output_folder, mp3_filename)
# 转换MP4到MP3,并设置比特率
audio_clip = AudioFileClip(mp4_path)
audio_clip.write_audiofile(mp3_path, bitrate=bitrate)
audio_clip.close()
print(f"Converted {filename} to {mp3_filename} with bitrate {bitrate}")
if __name__ == "__main__":
input_folder = "path/to/your/mp4/folder" # 替换为你的MP4文件夹路径
output_folder = "path/to/your/mp3/folder" # 替换为你想保存MP3的文件夹路径
bitrate = "320k" # 设置比特率,推荐使用"320k"以获得高质量音频
convert_mp4_to_mp3(input_folder, output_folder, bitrate)
使用上述代码便可将得到的MP4文件转为MP3文件了,只需设置下文件的输入输出文件路径即可。