bash - 使用脚本从文件中提取日期和 LUFS
问题描述
我在用
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
提取LUFS,然后使用
for i in *.mp4; do ffprobe -v quiet -select_streams v:0 -show_entries format=filename:stream_tags=creation_time -of default=noprint_wrappers=1:nokey=1 "$i"; done
提取 mp4 文件的创建日期。
我怎样才能将这两个命令都作为序列或脚本文件,以便我只运行一次命令,然后运行这两个命令。我想得到输出;
File name
LUFS
Creation date
如果该命令还将所有输出导出到文本文件中,那就太好了。
请帮忙。先感谢您!!
解决方案
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}'; ffprobe -v quiet -select_streams v:0 -show_entries format_tags=creation_time -of default=nw=1:nk=1 "$i"; done >> lufs.log
示例结果:
audio_and_time.mp4
-20.0
2020-07-22T17:48:25.000000Z
audio_no_time.mp4
-24.0
no_audio.mp4
2020-07-22T17:48:25.000000Z
two_audio_streams.mp4
-13.6
-26.6
2012-08-05T10:18:05.000000Z
no_audio_no_time.mp4
推荐阅读
- python - 熊猫加入两个有条件的数据框
- reactjs - 当路径是父级的后代时,activeClassName 不适用于链接
- python - python中多个列表的Json处理
- python - 引发异常时如何停止 CMD(来自 subprocess.popen)关闭?
- vue.js - 将文本动态更改为后端响应
- c++ - 如何检查它是否是由 QMetaType::create() 创建的有效 QObject 指针
- c++ - 编译的 dll 不适用于 intel Atom 32bit
- sql - 在特定时间运行 SQL 查询
- linux - 我正在尝试编写一个 shell 脚本来从文件中读取用户名,但它不起作用。我正在发布我正在编写和输出的脚本
- android - Android,可以在 XML 中添加片段,但不能通过代码