从mp4 python中提取wav

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从mp4 python中提取wav相关的知识,希望对你有一定的参考价值。

我有此代码,我希望它从文件夹中所有的.mp4文件中产生.wav文件。

import os
import ffmpy

inputdir = '/Users/x/y/videos'
outputdir = '/Users/x/y/video_audio'
for filename in os.listdir(inputdir):
    actual_filename = filename[:-4]
if(filename.endswith(".mp4")):
    os.system('ffmpeg -i {} -acodec pcm_s16le -ar 16000 {}/{}.wav'.format(filename, outdir, actual_filename))
else:
    continue

但我收到此错误:

ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.4_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-12.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-12.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr
libavutil      56. 22.100 / 56. 22.100
libavcodec     58. 35.100 / 58. 35.100
libavformat    58. 20.100 / 58. 20.100
libavdevice    58.  5.100 / 58.  5.100
libavfilter     7. 40.101 /  7. 40.101
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  3.100 /  5.  3.100
libswresample   3.  3.100 /  3.  3.100
libpostproc    55.  3.100 / 55.  3.100
Avengers_Endgame.mp4: No such file or directory

我不确定如何解决此问题,因为该文件夹和文件存在。

答案

当将输入文件提供给ffmpeg时,除了将文件写入目录(outputdir)时指定的名称之外,还应指定文件的路径。因此您的代码应类似于

以上是关于从mp4 python中提取wav的主要内容,如果未能解决你的问题,请参考以下文章

在 django 中使用 FFMPEG 在网络上上传后从视频中提取 WAV 音频文件

Python从视频文件中提取wav

Java mp4parser 片段序列不连续

从 wav 文件 python 中提取频率

用于创建单个 .m4s 片段的 Java mp4parser — 无效的 moov 框

如何使用 python matplotlib 库从 wav 文件中提取数据?