从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 音频文件