我正在使用 powershell 脚本将一些 wav 文件从每样本 24 位、采样率为 48kHz 转换为每样本 16 位、采样率为 16kHz 的 wav。
Get-ChildItem -Recurse . | ForEach-Object {
$extension = [IO.path]::GetExtension($_)
$path = $_.FullName
if ($extension -eq ".wav") {
#echo $_
echo "PATH: $path"
echo "NAME: $_"
echo "NEW: a$_"
ffmpeg -i "$path" -acodec pcm_s16le -ar 16000 "a$path" -y
}
}
如果我回应该路径,它就存在。Ffmpeg 说
filename.wav: No such file or directory
有什么想法吗?我是 powershell 新手,这可能是显而易见的。
答案1
您的输出文件全名有问题。C:\your\path\filename.wav
例如aC:\your\path\filename.wav
。
如果你的输出文件是C:\your\path\afilename.wav
,
ffmpeg -i "$path" -acodec pcm_s16le -ar 16000 ('"' + (split-path -path $path) + "\a" + $_.name + '"') -y