.m4a
접미사가있는 오디오 파일이 많이 있으며 AAC 또는 Apple Lossless (ALAC) 중 하나로 인코딩됩니다. Apple Lossless로 인코딩 된 오디오 파일 만 선택하고 싶습니다. 이것을 결정할 방법이 있습니까? FFmpeg을 시도했지만 모두 AAC로 인코딩되어 있습니다.오디오 파일이 Apple Lossless (ALAC)로 인코딩되었는지 확인
편집 : 현재 Windows를 사용 중입니다.
.m4a
접미사가있는 오디오 파일이 많이 있으며 AAC 또는 Apple Lossless (ALAC) 중 하나로 인코딩됩니다. Apple Lossless로 인코딩 된 오디오 파일 만 선택하고 싶습니다. 이것을 결정할 방법이 있습니까? FFmpeg을 시도했지만 모두 AAC로 인코딩되어 있습니다.오디오 파일이 Apple Lossless (ALAC)로 인코딩되었는지 확인
편집 : 현재 Windows를 사용 중입니다.
는 M4A에 대한 설명이있는 파일입니다 67 페이지 (내가 지금까지 찾을 수있는 가장 좋은)에서 http://iweb.dl.sourceforge.net/project/audiotools/audio%20formats%20reference/2.14/audioformats_2.14_letter.pdf
A typical M4A begins with an 'ftyp' atom indicating its file type... 10.2.1 the ftyp atom [0 31] ftyp Length [32 63] 'ftyp' (0x66747970) [64 95] Major Brand [96 127] Major Brand Version [128 159] Compatible Brand₁ ... The 'Major Brand' and 'Compatible Brand' elds are ASCII strings. 'Major Brand Version' is an integer.
처음에는 'ftyp'이 형식이 결정되는 위치 일 것이라고 생각했지만 파일 유형 자체 (이미 m4a로 알려짐)와 같은이 목록으로 판단하면 http://www.ftyps.com/index.html
http://www.ftyps.com/what.html 좀 더 자세한 형식을 설명합니다. ftyp를 구분하지 않는 경우
, 그때 나는 '메이저 브랜드'필드는이 페이지의 FOURCC 년대를 참조 할 수 있다고 생각 : http://wiki.multimedia.cx/index.php?title=QuickTime_container 애플 무손실이 'ALAC'와 AAC 것에 대한 하나는 'mp4a'
아마애플의 무손실 포맷 오픈 소스 페이지는 FTYPE (위 약간 모순) 'ALAC'이 있음을 나타냅니다 http://alac.macosforge.org/trac/browser/trunk/ALACMagicCookieDescription.txt
지금까지 내가 말할 수있는 ftyp을 다음 4 바이트가 좀 작은 샘플 크기 (항상이다) 'M4A'.
첫 번째 ~ 200 (16 진수) 바이트 정도가되면 AAC 압축을위한 ascii 'mp4a'또는 Apple Lossless의 'alac'가 있습니다. 'alac'은 항상 ~ 30 바이트 간격으로 쌍으로 나타납니다 ('mp4a'는 한 번만).
죄송합니다. 더 구체적으로 말하면 정확한 위치 나 접두사를 찾으면 다시 업데이트하겠습니다. (내 생각 엔 헤더의 앞 부분에 크기가 지정되어 있습니다.)
Core Audio로 할 수 있습니다. 같은
뭔가 : 여기
CFStringRef pathToFile;
CFURLRef inputFileURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, pathToFile, kCFURLPOSIXPathStyle, false);
ExtAudioFileRef inputFile;
ExtAudioFileOpenURL(inputFileURL, &inputFile);
AudioStreamBasicDescription fileDescription;
UInt32 propertySize = sizeof(fileDescription);
ExtAudioFileGetProperty(inputFile,
kExtAudioFileProperty_FileDataFormat,
&propertySize,
&fileDescription);
if(fileDescription.mFormatID == kAudioFormatAppleLossless){
// file is apple lossless
}
답변을 주셔서 감사합니다.하지만 Windows에 있습니다. – minhee
Mac에서는 원하는 파일을 선택한 다음 마우스 오른쪽 버튼으로 클릭합니다. "정보 입수"를 클릭하고 그것을 클릭하면 선택한 파일에 대한 추가 정보가있는 창이 나타납니다. "Codecs :" "AAC"또는 "Apple Lossless"옆에 말해야합니다. Mac 사용자가 동일한 질문을하는 데 도움이 되었으면합니다. Windows 사용자는 OS에 익숙하지 않더라도 어떤 방식 으로든 가능합니다.)
사용하여 시도 http://sourceforge.net/projects/mediainfo/
"Mediainfo를 비디오 및 오디오 파일을위한 가장 관련 기술 및 태그 데이터의 편리한 통합 디스플레이입니다." - 소스 포지 프로젝트 설명
이것은 정보가 표시되는 방법입니다.
General
Complete name : C:\Downloads\recit24bit.m4a
Format : MPEG-4
Format profile : Apple audio with iTunes info
Codec ID : M4A
File size : 2.62 MiB
Duration : 9s 9ms
Overall bit rate : 2 441 Kbps
Track name : 24 bit recital ALAC Test File
Performer : N\A
Comment : Test File
Audio
ID : 1
Format : ALAC
Codec ID : alac
Codec ID/Info : Apple Lossless Format
Duration : 9s 9ms
Bit rate mode : Variable
Bit rate : 2 438 Kbps
Channel(s) : 2 channels
Sampling rate : 22.7 KHz
Bit depth : 24 bits
Stream size : 2.62 MiB (100%)
Language : English
코덱/인코딩 세부 정보는 오디오 섹션을 확인하십시오.
FFmpeg package이있는 경우 ffprobe
이 있어야합니다.
ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 file.m4a
-v error
: 시작 텍스트를-select_streams a:0
을 숨길 수 : 첫 번째 오디오 트랙-show_entries stream=codec_name
를 선택 : 이 시도 부여에만 코덱 종류를 표시를
-of default=noprint_wrappers=1:nokey=1
: 추가 서식을 제거하려면aac
또는 alac
만 인쇄됩니다. 스크립팅에 완벽합니다.
어떤 언어를 사용하고 있습니까? – aglassman
특정 언어입니까, 아니면 CLI 기반 Linux 도구를 찾으십니까? – Lee
FFMPEG의 다른 빌드를 사용해 보셨습니까? 정확한 코덱을 인식하지 못하고 놀랐습니다. – Brad