Windows下使用ffmpeg批量查询视频码率的等效命令如何写?
Windows平台等效实现方案
报错原因
Windows原生CMD没有内置xargs、find、sed这类Unix/Linux平台的命令行工具,因此原命令无法直接运行。
方案1:PowerShell原生命令(无需额外安装工具,前提已配置ffmpeg环境变量)
打开PowerShell终端,切换到目标文件夹后执行以下命令:
Get-ChildItem -Recurse -Filter *.mkv | ForEach-Object { $bitrate = ffmpeg -i $_.FullName 2>&1 | Select-String -Pattern 'bitrate: ' | ForEach-Object { $_.Line -replace '^.*bitrate: ', '' } "$($_.Name) $bitrate" } | Out-File -FilePath result.txt -Encoding utf8
- 如果需要查询MP4文件,只需把
-Filter *.mkv改为-Filter *.mp4即可 - 如果ffmpeg未加入系统PATH,需要把命令中的
ffmpeg替换为ffmpeg.exe的完整路径,比如"C:\Program Files\ffmpeg\bin\ffmpeg.exe"
方案2:兼容原命令的运行方式
如果已经安装了Git for Windows、WSL(Windows子系统Linux)这类环境,直接在对应的终端中运行你原本的Linux命令即可,无需修改。
内容的提问来源于stack exchange,提问作者david
相关产品推荐
相关产品推荐

