所以我之前用 ffmpeg 合并了一个音频和视频文件。我在我的硬盘上搜索了 outPutFile.mp4,结果找不到。
现在我正在使用 ffmpeg 运行另一个稍微改变的命令,希望它能够起作用,该命令是:
ffmpeg -i "C:\Program Files\PATH_Programs\AudioT.mp4" -i "C:\Program Files\PATH_Programs\VideoT.mp4" -shortest outPutFile.mp4
此命令应该正常工作吗?如果可以,我的输出文件应该放在哪里?
我的路径已C:\Program Files\PATH_Programs
在系统变量中设置为:,并且 ffmpeg 已下载并安装到C:\Program Files\PATH_Programs\
我正在使用 Windows 10 家庭版,不知道这是否有帮助......
答案1
当指定文件时没有使用完整路径,则将在“当前目录”(又名“工作目录”)的程序。
如果您在 Cmd 或 PowerShell 中运行 ffmpeg,shell 的提示符会直接显示其工作目录(因此也是您从该 shell 运行的所有内容的工作目录)。
例如,如果您有:
C:\Users\CadenPolen> ffmpeg -i old.mp4 new.mp4
那么两个文件都会在 中C:\Users\CadenPolen
,因为这是 Cmd 的“当前目录”,因此也是 FFmpeg 的“当前目录”,并且dir
会在文件列表中显示这两个项目。
(要更改当前目录,通常在运行程序之前cd
在 PowerShell 或Cmd 中使用。)cd /d
如果您从其他工具运行 ffmpeg,则该工具(与其他所有正在运行的进程一样)会将其自己的“当前目录”设置为某个值。(如果某处有“打开文件”按钮,则文件选择对话框将在同一目录中打开。否则,Sysinternals ProcExp 等工具将能够告诉您任何进程的工作目录。)
对于 Windows 来说,在某些情况下,程序实际上除了在当前目录中查找之外,还可能会执行 %PATH% 搜索,因此您可能希望使用where.exe outputFile.mp4
(它是“输出”,而不是“输出”)来在 %PATH% 位置之一中找到它。但据我所知,这不是由 ffmpeg 完成的,在创建新文件时也不会完成(它只会在打开现有文件时发生)。