WAV 파일의 실제 샘플 크기와 채널 수를 어떻게 감지합니까?

WAV 파일의 실제 샘플 크기와 채널 수를 어떻게 감지합니까?

WAV 파일과 관련해 이런 놀라운 난제에 직면해 있지만 실제 샘플 크기(예: 샘플에 포함된 비트 수)와 채널 수를 감지할 수 없습니다.

geek@liv-inspiron:~$ soxi file.wav

Input File     : 'file.wav'
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:03:19.56 = 8800596 samples = 14967 CDDA sectors
File Size      : 35.2M
Bit Rate       : 1.41M
Sample Encoding: 16-bit Signed Integer PCM

MPlayer2는 다음을 보고합니다(그러나 소음만 들립니다):

geek@liv-inspiron:~$ mplayer file.wav 
MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team

Playing file.wav.
Detected file format: WAV / WAVE (Waveform Audio) (libavformat)
[wav @ 0x7f21516c9600]max_analyze_duration reached
[lavf] stream 0: audio (pcm_s16le), -aid 0
Load subtitles in .
Selected audio codec: Uncompressed PCM [pcm]
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...

MPlayer는 실제 사운드를 출력하고 DTS 형식을 감지하는 것처럼 보입니다.

geek@liv-inspiron:~$ mplayer file.wav 
MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team

Playing file.wav.
libavformat version 54.20.3 (external)
Audio only file format detected.
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 54.35.0 (external)
AUDIO: 44100 Hz, 2 ch, floatle, 1411.2 kbit/50.00% (ratio: 176400->352800)
Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)
==========================================================================
AO: [pulse] 44100Hz 2ch floatle (4 bytes per sample)
Video: no video
Starting playback...

실제 사운드를 출력하는 VLC로 재생하면 다음과 같이 보고됩니다.

Type: Audio
Codec: DTS Audio (dts )
Channels: 3F2R/LFE
Sample rate: 44100 Hz
Bitrate: 1411 kb/s

일부 간단한 계산에서는 1411 ∕ 44.1 ≒ 31.995465가 나오며 이는 32비트 샘플 크기를 의미합니다. 그렇다면 16비트입니까, 아니면 32비트입니까? 아니면 채널당 16비트인가요?

채널은 몇 개인가요? 스테레오 2개 또는 DTS 5개? 정보가 또 충돌하네요...

즉, 잘못된 헤더로 인해 문제가 발생하지 않고 WAV 파일의 기술 데이터를 정확하게 보고하는 도구가 있습니까?

답변1

지적한대로이 문제, 이 작업에 대한 훌륭한 유틸리티는 다음과 같습니다.미디어 정보.

MediaInfo는 비디오 및 오디오 파일에 대한 가장 관련성이 높은 기술 및 태그 데이터를 편리하게 통합하여 표시합니다.

geek@liv-inspiron:~$ mediainfo file.wav 
General
Complete name                            : file.wav
Format                                   : Wave
File size                                : 33.6 MiB
Duration                                 : 3mn 19s
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 411 Kbps

Audio
Format                                   : DTS
Format/Info                              : Digital Theater Systems
Mode                                     : 14
Format settings, Endianness              : Little
Codec ID                                 : 1
Duration                                 : 3mn 19s
Bit rate mode                            : Constant
Bit rate                                 : 1 411.2 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 44.1 KHz
Bit depth                                : 24 bits
Compression mode                         : Lossy
Stream size                              : 33.6 MiB (100%)

이를 통해 특정 파일이 6채널의 DTS라는 것을 확인할 수 있지만 흥미롭게도 샘플 크기는 실제로 24비트이고 이상하게도 압축 모드는 손실이 있습니다.

이 유틸리티는 GUI를 통해서도 사용할 수 있습니다 mediainfo-gui.

답변2

dts-wav처럼 보입니다. 이러한 파일 중 다수에는 PCM을 나타내는 헤더 형식 ID가 있지만 실제 바이트 스트림은 DTS입니다. 이것은 soxi 출력을 설명합니다.

ffmpeg/libavcodec의 최신 버전(2007 이상)이 설치되어 있는 경우 mplayer는 적절한 비 PCM 코덱을 감지하고 사용할 수 있습니다.

VLC 출력은 5.1 구성(6채널)의 DTS를 의미합니다.

답변3

원하는 모든 데이터를 제공하는 유용한 드래그 앤 드롭 "무료 온라인 EXIF ​​​​뷰어"를 사용해보세요.

https://www.get-metadata.com/

고쳐 쓰다

웹사이트의 URL이 변경되었지만 기능은 동일합니다.

https://www.metadata2go.com/

사이트에서 얻을 수 있는 내용에 대한 자세한 내용을 알고 싶다면 다음을 확인하세요.이 답변슈퍼유저에서.

관련 정보