使用 ffmpeg 查找视频的比特率

finding bitrate of videos using ffmpeg

我在一个文件夹中有一些 mp4 视频,我需要找到每个文件的比特率并将它们保存在一个文件中。我有这个命令行代码:

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中等效的命令代码是什么吗?

使用 ffprobe(包含在 ffmpeg 中),使用以下命令:

ffprobe -v error -print_format json -show_entries stream=bit_rate input.mp4>output.json

这会将输出放入 json 文件中,并放入文件中所有流的比特率。这些通常是视频和音频的比特率,但也会显示字幕轨道和可能的其他音轨的比特率。

我不知道你在哪里找到那个命令行,但它是一个 Linux Bash 命令行,显然不适用于 Windows CMD .

您需要使用 FOR 循环遍历所有 mkv 文件。要提取特定格式或流信息,我建议您使用 ,这是专门为此类任务设计的。

FOR %A IN (*.mkv) DO @ffprobe -v 0 -show_entries format=bit_rate -of default=nk=1:nw=1 "%A"

要将输出保存到文件,只需将其重定向到一个文件,并在命令周围加上括号:(FOR ... "%A") > result.txt