我在一个文件夹中有一些mp4视频,我需要找到每个文件的比特率,并将它们保存在一个文件中。我有这个cmandline代码:
find . -name "*.mkv" -print0 | xargs -0 -i{} sh -c " echo -n '{} ' && ffmpeg -i '{}' 2>&1 | sed -n -e 's/^.*bitrate: //p' " > result.txt但是我在windows中工作,它产生了这个错误:
'xargs' is not recognized as an internal or external command,
operable program or batch file.你知道在windows中等效的命令代码是什么吗?
发布于 2021-11-02 09:59:53
对于ffprobe (包含在ffmpeg中),使用以下命令:
ffprobe -v error -print_format json -show_entries stream=bit_rate input.mp4>output.json这将把输出放到一个json文件中,并放入该文件中所有流的比特率。这些通常是视频和音频的比特率,但也会显示字幕轨道和可能的其他音频轨道的比特率。
发布于 2021-11-02 11:49:07
我不知道您是从哪里找到这个命令行的,但它是一个Linux Bash命令行,它显然不能在Windows CMD上工作。
您需要使用FOR循环来迭代所有mkv文件。为了提取特定的格式或流信息,我建议您使用ffprobe,它是专门为这类任务设计的。
FOR %A IN (*.mkv) DO @ffprobe -v 0 -show_entries format=bit_rate -of default=nk=1:nw=1 "%A"要将输出保存到文件,只需将其重定向到一个带有括号的文件,命令为:(FOR ... "%A") > result.txt
https://stackoverflow.com/questions/69807251
复制相似问题