如何优雅地从B站中批量下载歌曲合集,并将其转为MP4与MP3?

在浏览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文件了,只需设置下文件的输入输出文件路径即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值