![记录多个媒体文件的详细信息(如果可能的话,还包括错误)](https://linux22.com/image/898801/%E8%AE%B0%E5%BD%95%E5%A4%9A%E4%B8%AA%E5%AA%92%E4%BD%93%E6%96%87%E4%BB%B6%E7%9A%84%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%EF%BC%88%E5%A6%82%E6%9E%9C%E5%8F%AF%E8%83%BD%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%98%E5%8C%85%E6%8B%AC%E9%94%99%E8%AF%AF%EF%BC%89.png)
首先,我要说的是,这实际上是一个脚本请求,所以如果我在错误的地方发布,请告诉我,我会请求结束这个,然后去那里——我刚刚发现问库本图成为最有帮助和最不居高临下我访问过的论坛,所以想先在这里尝试一下。
如果重要的话,我正在运行 Ubuntu LTS 16.04 Destop。
我请求的是bash文件(不一定非要使用 bash,我只是更愿意了解它的工作原理,以便从经验中学习),它将遍历一个充满媒体文件(特别是电影;、、、是唯一的扩展名)的特定目录mp4
并生成一个名为的日志文件mkv
(因此更容易在列表顶部找到)并以易于阅读的格式提供以下信息:avi
mpg
"0.log"
- 文件名
- 扩大
- 影片长度
- 影片尺寸(宽 x 高)
- 文件是否有错误
- 如果可能的话,错误是什么
我可以使用 ffmpeg 函数收集所有这些信息,但我只能一次执行一项,手动将信息放入电子表格中,我相信您可以理解,这需要无限的时间。
*不是严格真的
输入以下内容:
ffmpeg -i filename.ext
所需信息出现在所使用的库列表下,例如,输出可以是:
.......
other stuff that i don't need
.......
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
[aac @ 0x142fc20] element type mismatch 3 != 0
Input #0, matroska,webm, from '13 (2010).mkv':
Metadata:
encoder : libebml v1.2.0 + libmatroska v1.1.0
creation_time : 2011-07-29 21:37:53
Duration: 01:37:12.19, start: 0.000000, bitrate: 1999 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 1280x536 [SAR 1:1 DAR 160:67], 24 fps, 24 tbr, 1k tbn, 48 tbc (default)
Stream #0:1: Audio: aac (HE-AAC), 48000 Hz, 5.1, fltp (default)
Stream #0:2: Subtitle: subrip (default)
库列表后面的第一行是文件可能存在错误的示例,文件签出时会省略该行 *没有“此文件没问题”替换,它只是不存在。可能会发生许多错误,所以我猜你只需要检查最终库(在本例中为 libpostproc; 和输入 #0; )以查看是否存在任何内容。
您可以看到持续时间(在本例中为 01:37:12.19)和尺寸(在本例中为 1280x536)。
有人能帮我做这个吗,或者告诉我现有的可以做到这一点的软件。最终输出将被放入电子表格中,但我自己可以很容易地处理格式和其他内容,我真的只需要原始数据就可以了。或者告诉我如何自己做。我患有轻度脑损伤,导致我的短期记忆丧失,所以我正在努力使用在线教程来尝试解决它。
提前感谢您,
丹尼