如何显示 FLAC 文件的技术编解码器信息?

如何显示 FLAC 文件的技术编解码器信息?

给定一个.flac文件,如何查询并显示与编解码器相关的技术信息?我进行了调查,man flac但没有运气(--analyze输出无法人工解析)。我特别感兴趣的是比特率(例如,每个样本 16 位)采样率(例如,44.1 KHz)和通道数

GUI 或 CLI 实用程序都可以接受。

答案1

最简单的方法是使用 Unix 命令行实用程序file。例如:

file "example.flac" 
example.flac: FLAC audio bitstream data, 16 bit, stereo, 44.1 kHz, 2474304 samples

答案2

metaflac --list将显示 FLAC 文件中所有块的信息(以及更多信息)。您还可以使用--block-number=X,其中 X 是您想要获取其信息的块,以仅获取有关该特定块的信息。

答案3

您可以使用ffprobe以下附带的 CLI 工具ffmpeg

$ ffprobe -hide_banner 10\ Ivory\ Tower.flac
Input #0, flac, from '10 Ivory Tower.flac':
  Metadata:
    ARTIST          : Van Morrison
    TITLE           : Ivory Tower
    ALBUM           : No Guru, No Method, No Teacher
    DATE            : 1986
    track           : 10
    GENRE           : Rock
    disc            : 1
    TOTALDISCS      : 1
    TOTALTRACKS     : 10
  Duration: 00:03:36.71, start: 0.000000, bitrate: 946 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16

显示有关 FLAC 编码的持续时间、比特率和详细信息。ffmpeg/ffprobe使用术语“流”,因此我们提供的文件被视为Stream#0:0.

您可以获得这些详细信息:

$ ffprobe -hide_banner 10\ Ivory\ Tower.flac |& grep Stream
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16

或者,如果您确实想从流中获取所有数据,请使用-show_streams

$ ffprobe -hide_banner  -show_streams 10\ Ivory\ Tower.flac
Input #0, flac, from '10 Ivory Tower.flac':
  Metadata:
    ARTIST          : Van Morrison
    TITLE           : Ivory Tower
    ALBUM           : No Guru, No Method, No Teacher
    DATE            : 1986
    track           : 10
    GENRE           : Rock
    disc            : 1
    TOTALDISCS      : 1
    TOTALTRACKS     : 10
  Duration: 00:03:36.71, start: 0.000000, bitrate: 946 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
[STREAM]
index=0
codec_name=flac
codec_long_name=FLAC (Free Lossless Audio Codec)
profile=unknown
codec_type=audio
codec_time_base=1/44100
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=0
start_time=0.000000
duration_ts=9556764
duration=216.706667
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=16
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]

有关更多示例等,请参阅下面的参考资料。

参考

答案4

来自男人页,

# -a, --analyze
# Analyze a FLAC encoded file (same as -d except an analysis file is written) 
flac -a myfile.flac

编辑

它可能更容易使用索西来自声音交换项目。在大多数 Linux 系统上,您需要安装该sox软件包。在 Debian 派生发行版(包括 Ubuntu)上,您可以使用

sudo apt-get install sox

相关内容