我想使用 mplayer 命令行在终端中播放音乐文件,并仅保持输出消息安静(音频时间戳除外)。仅保留下面示例中的最后一行A: 133.5 (02:13.4) of 347.1 (05:47.0) 0.
(当然 02:13.4/05:47.0 格式会更好)。有什么办法可以得到它吗?谢谢。
> mplayer -novideo "Tokimeki Records,ひかり/Midnight Pretenders (feat. ひかり)/Tokimeki Records,ひかり - Midnight Pretenders (feat. ひかり).flac"
MPlayer 1.5-14.0.0 (C) 2000-2022 MPlayer Team
Can't init Apple Remote.
Playing Tokimeki Records,ひかり/Midnight Pretenders (feat. ひかり)/Tokimeki Records,ひかり - Midnight Pretenders (feat. ひかり).flac.
libavformat version 59.17.102 (internal)
libavformat file format detected.
[lavf] stream 0: audio (flac), -aid 0
[lavf] stream 1: video (mjpeg), -vid 0
Clip info:
ALBUM: Midnight Pretenders (feat. ひかり)
ARTIST: Tokimeki Records/ひかり
COMMENT: Create by xxxx copyright protected dump tool. author 5L
TITLE: Midnight Pretenders (feat. ひかり)
Load subtitles in Tokimeki Records,ひかり/Midnight Pretenders (feat. ひかり)/
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 59.21.100 (internal)
AUDIO: 48000 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->192000)
Selected audio codec: [ffflac] afm: ffmpeg (FFmpeg FLAC audio)
==========================================================================
AO: [coreaudio] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 133.5 (02:13.4) of 347.1 (05:47.0) 0.
答案1
您可以通过禁用所有模块的详细程度并仅启用它来做到这一点STATUSLINE
mplayer -novideo -msglevel all=0:statusline=5 infile.mp4
该-msglevel
选项在手册中进行了解释:
-msglevel <all=<level>:<module>=<level>:...>
直接控制每个模块的详细程度。 “all”模块更改命令行上未明确指定的所有模块的详细程度。请参阅-msglevel help
参考资料 获取所有模块的列表。
注意:某些消息是在解析命令行之前打印的,因此不受-msglevel
.要控制这些消息,您必须使用MPLAYER_VERBOSE
环境变量。
可用级别:
-1 完全静音
0 仅致命消息
1 错误消息
2 警告消息
3 简短提示
4 信息性消息
5 状态消息(默认)
6 详细消息
7 调试级别 2
8 调试级别 3
9 调试级别 4
或者,你可以使用mpv
它具有类似的开关并打印经过/总时间,就像您想要的那样:
mpv --no-video --msg-level=all=no,statusline=status infile.mp4