webm 读取解析
目录
提取音频
批量提取,Windows和linux通用
读取的话,pyhton opencv可以。
提取音频
ffmpeg -i input.webm -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wav
批量提取,Windows和linux通用
import glob
import subprocess
import osdef extract_audio_from_webm(input_path, output_path=None, sample_rate=16000):if output_path is None:output_path = f"{os.path.splitext(input_path)[0]}.wav"# ffmpeg -i 01.webm -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wavcmd = ["ffmpeg","-i", input_path,"-acodec","pcm_s16le", "-ar", str(sample_rate), # 设置采样率"-ac", "2", # 设置为单声道"-vn", # 不要视频output_path,"-y" # 覆盖已有文件]print("运行命令:", " ".join(cmd))subprocess.run(cmd, check=True)print("音频提取完成:", output_path)# 示例使用
if __name__ == "__main__":base_dir=r"/nas/lbg/project/audio/Music-Source-Separation-Training/data_test/videos"files=glob.glob(os.path.join(base_dir, '*.webm'))out_dir=r"/nas/lbg/project/audio/Music-Source-Separation-Training/data_test/audio"os.makedirs(out_dir, exist_ok=True)for file in files:print(f"Processing file: {file}")extract_audio_from_webm(file, output_path=os.path.join(out_dir, os.path.basename(file)[:-5]+".wav"), sample_rate=16000)