main
黄海 5 months ago
parent 1c84dcd723
commit 525bd85c0a

@ -0,0 +1,52 @@
import subprocess
from pathlib import Path
def convert_mp4_to_wav(
input_mp4: str,
ffmpeg_path: str = r"d:\ffmpeg\ffmpeg.exe",
output_path: str = None # 新增输出路径参数
):
"""
将指定MP4文件转换为WAV格式
参数
input_mp4 - 输入的MP4文件路径
ffmpeg_path - FFmpeg可执行文件路径
output_path - 可选输出路径可指定完整路径或目录
"""
input_path = Path(input_mp4)
# 处理输出路径逻辑
if output_path:
output_path = Path(output_path)
if output_path.is_dir(): # 如果传入的是目录
output_path = output_path / f"{input_path.stem}.wav"
output_path.parent.mkdir(parents=True, exist_ok=True)
else:
# 默认输出到wav目录
output_dir = Path("wav")
output_dir.mkdir(exist_ok=True)
output_path = output_dir / f"{input_path.stem}.wav"
cmd = [
ffmpeg_path,
"-i", str(input_path),
"-acodec", "pcm_s16le",
"-ac", "1",
"-ar", "16000",
"-y",
str(output_path) # 使用处理后的输出路径
]
try:
# 执行转换命令
subprocess.run(cmd, check=True, capture_output=True)
print(f"转换成功:{input_path} -> {output_path}")
except subprocess.CalledProcessError as e:
print(f"转换失败:{e.stderr.decode('gbk')}")
except FileNotFoundError:
print(f"FFmpeg未找到请确认路径是否正确{ffmpeg_path}")
# 使用示例替换为实际MP4文件名
convert_mp4_to_wav(r"D:\backup\七年级第三单元复习课.mp4", output_path=r"D:\backup\七年级第三单元复习课.wav")

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save