【问题标题】:Extract LUFS only from multiple file仅从多个文件中提取 LUFS
【发布时间】:2021-10-04 20:05:56
【问题描述】:

ffmpeg -i input.mp4 -af ebur128=framelog=verbose -f null - 2>&1 | awk '/I:/{print $2}' 上述命令仅从 input.mp4 文件中提取 LUFS 值。但是如果有多个 mp4 文件,如何应用类似的命令仅从多个 mp4 文件中提取 LUFS 值? 请帮忙。

【问题讨论】:

  • 我会这样提出这个问题,“如何从多个 mp4 文件中仅提取 LUFS 值?

标签: bash ffmpeg terminal


【解决方案1】:

适应this answer from How do you convert an entire directory with ffmpeg?

for i in *.mp4; do echo "$i:"; ffmpeg -i "$i" -map 0:a -af ebur128=framelog=verbose -f null - 2>&1 | awk '/I:/{print $2}'; done

示例输出:

video1.mp4:
-21.8
video2.mp4:
-21.1
video3.mp4:
-21.8
-8.3
  • 请注意,video3.mp4 包含 2 个独立的音频流。
  • 这是假设您可以使用 Bash shell。
  • 添加-map 0:a 以仅处理音频,因此忽略视频,因此命令更快。见FFmpeg Wiki: Map

【讨论】:

  • 非常感谢@llogan!这正是我一直在寻找的。非常感谢。
  • 是否可以在同一行打印输出?示例:video1.mp4: -21.8 video2.mp4: -21.1 video3.mp4: -21.8 -8.3
  • @sJoss 在echo 中使用-n 选项
猜你喜欢
  • 2021-10-07
  • 2022-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 2020-11-30
  • 2023-02-05
相关资源
最近更新 更多