我不得不重新安装 Windows,现在我试图让它再次工作,但没有成功。
该脚本是一个 .ts 到 .mp4 的批量转换器,当我第一次设置它时,我在顶部包含了链接以供参考,但除非我是盲人,否则在那里看不到我的解决方案。
<# Change .ts to video format to change from
https://www.junian.net/tech/powershell-ffmpeg-batch/ #>
$originalVids = Get-ChildItem *.ts -Recurse
foreach ($inputVid in $originalVids) {
$outputVid = [io.path]::ChangeExtension($inputVid.FullName, '.mp4')
ffmpeg.exe -i $inputVid.FullName -c:v libx264 -crf 18 -c:a aac -map_metadata 0 $outputVid
}
FFMPEG 路径如下,并在环境变量中设置,我检查过它并且它运行正常。
C:\ffmpeg\bin
我已设置 VS Code 来运行它,还有 Powershell,我对两者进行了测试,但都不起作用。我得到的错误如下:
Invalid data found when processing input
我知道我忘记了一些简单的事情,但我无论如何也想不起来。
编辑:
查看错误发生前的路径,我才意识到 OneDrive 在其他配置中已启用,但现在未启用,并且位于文件路径中。我 99% 确定这就是问题所在。
我在此编辑中的假设是错误的,我禁用了 OneDrive,以为它已从路径中删除,但它仍然在那里。因此路径有效,我一直遵循它。
我从其他帖子得知我的文件可能不完整,我不明白这一点。但我正在尝试自己解决。
结束编辑。
答案1
经过进一步调查,我发现 Powershell 和 VS Code 出现了不同的错误。
PS 的错误是拒绝访问,所以我首先在同一个文件夹中创建了一个新文件夹,并将所有的 ts 文件和脚本转移到其中,但没有成功。
然后我以管理员身份启动 PS,并在提升的 PS 中手动复制/粘贴脚本,并且它起作用了。