lj149446 发表于 2024-10-16 16:51

一个mp4l转mp3工具

由于经常需要将mp4转mp3,虽说软件工具比较多,但是还是这个方便,把视屏放在文件所在目录,双击运行就行.附上源代码



from moviepy.editor import *
import os

# 获取当前目录
current_directory = os.getcwd()

# 标志变量,记录是否找到 MP4 文件
found_mp4 = False

try:
    # 遍历当前目录中的所有文件
    for filename in os.listdir(current_directory):
      # 检查是否为 MP4 文件
      if filename.endswith(".mp4"):
            found_mp4 = True# 找到 MP4 文件
            # 加载 MP4 文件
            video = VideoFileClip(filename)
            
            # 提取音频并保存为 MP3,使用原文件名(去掉扩展名)
            mp3_filename = filename[:-4] + ".mp3"
            video.audio.write_audiofile(mp3_filename)
            
            # 关闭视频文件
            video.close()# 确保关闭文件

except Exception as e:
    print(f"错误:{e}")

if not found_mp4:
    print("当前目录中不存在 MP4 文件。")
else:
    print("转换完成!")

matxi 发表于 2024-10-16 19:19

from moviepy.editor import *
import os

# 获取当前目录
current_directory = os.getcwd()

# 标志变量,记录是否找到 MP4 文件
found_mp4 = False

try:
    # 遍历当前目录中的所有文件
    for filename in os.listdir(current_directory):
      # 检查是否为 MP4 文件
      if filename.endswith(".mp4"):
            found_mp4 = True# 找到 MP4 文件
            print(f"正在处理文件: {filename}")
            
            try:
                # 使用 with 语句自动管理资源
                with VideoFileClip(filename) as video:
                  # 检查是否有音频流
                  if video.audio is None:
                        print(f"文件 {filename} 不包含音频,跳过。")
                        continue
                  
                  # 提取音频并保存为 MP3,使用原文件名(去掉扩展名)
                  mp3_filename = filename[:-4] + ".mp3"
                  video.audio.write_audiofile(mp3_filename)
                  print(f"音频已保存为: {mp3_filename}")
            
            except Exception as e:
                print(f"处理文件 {filename} 时出错: {e}")
   
except Exception as e:
    print(f"遍历目录时出错:{e}")

if not found_mp4:
    print("当前目录中不存在 MP4 文件。")
else:
    print("所有文件处理完成!")


做了一些改进

laos 发表于 2024-10-16 19:19

用'转' 不大贴切~应该是从视频文件提取音频{:17_1068:}

lcg2014 发表于 2024-10-16 19:48

3楼专业
用ffmpeg,一条命令就行{:1_918:}

szluyang 发表于 2024-10-16 20:02

已收藏。

ljm57 发表于 2024-10-16 20:29

谢谢,下载备用

Marken888 发表于 2024-10-16 21:03

感谢源码分享!

lj149446 发表于 2024-10-17 09:00

laos 发表于 2024-10-16 19:19
用'转' 不大贴切~应该是从视频文件提取音频

这倒没注意,反正就是给我mp4,我变成mp3

sunil 发表于 2024-10-20 07:35

本帖最后由 sunil 于 2024-10-20 07:37 编辑

经过确认,这个python库的后端就是ffmpeg。
所以可以直接使用ffmpeg。
ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3

如果要批量转换当前目录的所有mp4,将下面几行代码保存为bat文件,拷贝到对应目录下,双击执行即可:
for %%f in (*.mp4) do (
    echo 转换 "%%f" ...
    ffmpeg -i "%%f" -vn -acodec libmp3lame "%%~nf.mp3"
)
pause

liuam428 发表于 2024-10-20 21:02

收藏了,谢谢。。。
页: [1] 2
查看完整版本: 一个mp4l转mp3工具