[출처]http://blog.naver.com/hcwha/70100676780

 

 

 

동영상 파일에서 오디오 스트림을 mp3파일로 변환해서 꺼내는 것이 아닌, 동영상에 들어 있는 그대로 꺼내는 방법에 대해 알아 보겠습니다.

물론 raw 상태가 아닌 헤더가 있는 파일로 꺼내야 재생하는데 아무런 문제가 없겠죠.

 

컨테이너는 동영상 파일의 확장자을 가르키는 말로, "비디오 스트림"과 "오디오 스트림"을 담아두는 상자역할을 합니다.

그 상자에서 "비디오 스트림"과 "오디오 스트림"만을 꺼내어 파일로 저장하는 방법을 디먹싱이라고 합니다.

그런데 모든 동영상의 비디오 스트림과 오디오 스트림을 꺼낼 수 있는 프로그램은 없습니다.

그래서 확장자에 따라 프로그램을 달리해야 하는데, 대표적인 동영상만을 가지고 다루어 보겠습니다.

 

 

 

AVI 동영상에서 오디오 꺼내기

 

avi 컨테이너에서 오디오를 빼내는데, VirtualDub을 이용한 방법을 여기서 설명했었습니다.
그런데, VirtualDub이 인코더와 스플리터가 설치되어 있어야 하는데, 그것을 다 설명하기에는 좀 무리이다 싶어 그냥 다른 방법으로 교체했습니다.
 
먼저 avi 컨테이너의 "비디오 스트림"과 "오디오 스트림"을 변화없이 꺼내서 mkv 컨테이너에 먹싱합니다.
그 다음 mkv에서 "오디오 스트림"만 꺼내겠습니다.
 
1. MKV 파일로 변환
 
(1) 아래 링크에서 MKVToonix를 다운받아 설치합니다.
 
(2) add 버튼을 클릭하여 avi파일을 추가합니다.
 
(3) "Start muxing"버튼을 클릭하면 avi파일이 있는 폴더에 같은 이름의 mkv파일이 만들어집니다.
 
 

 

 
 
 
2. MKV 컨테이너에서 오디오 꺼내기
 

(1) 아래 링크에서 MKVExtract GUI를 다운받아 압축풀기 합니다.

MKVExtractGUI2.exe 파일을 복사하여 MKVToolnix가 설치된 C:Program FilesMKVtoolnix 폴더에 붙여 넣기 합니다.

☞ MKVExtract GUI 다운 로드

 

(2) C:Program FilesMKVtoolnix 폴더에 붙여 넣기한 MKVExtractGUI2.exe 파일을 더블 클릭합니다.

(3) Input File에서 그림처럼 클릭하여 mkv파일을 불러 오기 합니다.

(4) Source Dir에 체크하면 디먹싱된 오디오파일은 mkv파일이 있는 폴더에 저장됩니다.

(5) Tracks에서 디먹싱할 오디오를 체크합니다.

(6) Extract 버튼을 클릭하면 디먹싱이 시작됩니다.

 

 

MP4, MOV 파일에서 오디오 꺼내기

 ☞ 여기를 클릭하여 Yamb을 다운받아 적당한 곳에 저장합니다.

더블클릭하시면 설치창이 나옵니다. 설치버튼을 클릭해도 설치가 되는 것이 아니고 압축을 푸는 것입니다.

포터블 버전이니 설치하지 않고 "Yamb.exe"을 더블클릭해 사용하시면 됩니다.

압축 풀기된 폴더에는 Yamb 2.1.0.0 beta 2와 MP4Box 0.4.6가 들어 있습니다.

1. Yamb이 실행되면 왼쪽 카테고리에서 Settings를 선택합니다.

    오른쪽에 메뉴가 하나 생기는데 그것을 더블클릭합니다

 

2. Advanced Settings창이 열리면 그림처럼 오른쪽 폴터 모양의 Browse버튼을 클릭하여 mp4box.exe의 위치를 지정하여 줍니다.

mp4box.exe는 다운받은 압축 파일안에 Yamb.exe와 같이 들어 있습니다.

mp4box.exe의 위치지정이 끝났다면 Next 버튼을 클릭합니다.

 

3. 좌측 카테고리에서 "Editing"을 선택하고 우측에서 세번째 항목을 더블 클릭합니다.   

4. Input에서 폴더 모양의 브라우저 버튼을 클릭하여 mp4, mov 동영상을 불러 오기 합니다.

주의 사항 : Yamb에서 불러올 수 있는 파일에 MPEG-TS(확장자 ts, tp,), MPEG-PS(확장자 mpeg, mpg, vob), m2ts 파일들이 더 있지만 그러한 동영상에 들어 있는 AC-3, DTS 오디오는 Yamb에서 디먹싱되지 않습니다.Yamb에서 디먹싱되는 오디오는 AAC, MP3, MP2, MP1 입니다.

5. mp4 파일에 들어 있는 "비디오 스트림"과 "오디오 스트림"이 Content 구획에 모두 표시됩니다.

그림에서 Content 구획을 보시면 첫번째 줄의 AVC는 "비디오 스트림"입니다.

2번째 줄은 오디오 스트림으로 AAC코덱의 LC프로파일로 만들어졌는데, 6채널(5.1채널) 48.0 KHz의 샘플링 레이트값을 가집니다.

디먹싱할 두번째 줄의 오디오를 선택합니다.

Options에서 디먹싱할 오디오가 AAC, ALAC라면 Extract to MP4에 체크합니다.

디먹싱할 오디오가 MP3, MP2, MP1 이라면 "Extract to Raw Format"에 체크합니다.

주의 사항 : 카메라로 찍은 mov 동영상 파일을 불러왔을때 PCM으로 표시된 것 중에 Signed PCM은 제대로 추출되지 않습니다.그것은 애플사의 PCM포맷으로 윈도우에서 재생은 되나 저장할 수 없는 파일이기 때문입니다.그런 경우에는

 ☞ 이 게시글에서 "STEP 3"을 참고하시면 됩니다..

6. Output에서 폴더 모양의 브라우저 버튼을 클릭하여, 저장될 폴더와 파일명을 지정합니다.

7. Next 버튼을 클릭하면 오디오의 디먹싱이 시작됩니다.

주의 사항 : aac오디오는 mp4컨테이너에 들어 있는 형태로 확장자가 mp4로 저장됩니다.

mp4 컨테이너에 비디오와 오디오가 같이 들어 있을때는 확장자를 반드시 mp4를 사용합니다.

그러나 오디오만 들어 있을때는 프로그램에 따라 mp4를 사용하기도 하고, m4a를 사용하기도 합니다.

따라서 오디오만 들어 있을 때는 이름바꾸기로 확장자를 m4a로 바꾸어도 됩니다. 바꾸는 것을 권장합니다.

 

사실 mp4나 mov에서 오디오를 빼낼때 다른 툴(tsMuxer)을 이용해도 됩니다.

그러나 오디오가 AAC일때는 다른 툴에서는 raw aac파일로 디먹싱을 해버려, 프로그램에서 호환성이 떨어지게 됩니다.

 

 

TS, M2TS, MPEG, MPG, VOB, MKV 파일에서 오디오 꺼내기

Transport Stream

MPEG Transport Stream(MPEG-TS) 컨테이너는 확장자를 .ts를 사용합니다.

소스에 따라서 .tp로 저장되기도 하지만 이름바꾸기로 확장자를 .ts로 바꾸어도 됩니다.

MPEG-TS는 MPEG-1 TS와 MPEG-2 TS를 모두 합하여 칭하는 말입니다.

 

BDAV MPEG-2 Transport Stream(줄여 BDAV Transport Stream)은 MPEG-2 TS에 기초해 만들어진 컨테이너로 블루레이에 사용됩니다.

확장자는 m2ts를 사용합니다.

 

TS, M2TS 파일에 들어갈 오디오 스트림은 DTS-HD MA, TrueHD, DTS, AC3, AAC, MP3, MP2...등으로 다양합니다.

 

Program Stream 

MPEG Program Stream(MPEG-PS) 컨테이너는 확장자를 mpeg이나 mpg를 사용합니다.

DVD-Video에서는 vob파일은 MPEG-PS의 일종입니다.

 

 

여기서 사용할 프로그램은 tsMuxer인데 이름 그대로 Transport Stream 컨테이너를 지원하는 프로그램입니다.

더불어 MPEG-PS(확장자 mpeg, mpg, vob)파일과 mkv파일에서도 오디오를 디먹싱할 수 있습니다.

또한 tsMuxeR는 mp4와 mov의 오디오를 디먹싱할 수도 있습니다.

그러나 mp4와 mov안에 AAC 오디오가 들어있다면 앞서 설명한대로 Yamb을 이용하는 것이 좋습니다

 

1. ☞ 여기에서 "tsMuxeR"를 다운 받아 압축을 풀어 놓습니다.

"tsMuxerGUI.exe" 파일을 더블 클릭하여 실행시킵니다.

2. add 버튼을 클릭하여 동영상 파일을 불러 오기합니다.

3. Tracks에서 디먹싱할 오디오를 선택합니다. 

4. Output에서 "Demux"에 체크합니다.

5. Browse 버튼을 클릭하여 오디오 파일이 저장될 폴더를 지정합니다.

6. Strart demuxing 버튼을 클릭하면 디먹싱이 시작됩니다.

 

7. 선택한 오디오가 AAC라면 디먹싱된 aac오디오는 raw AAC파일로 확장자를 aac를 사용합니다.

이 raw 파일은 호환성이 적습니다. 즉 푸바같은 미디어 플레이어에서 재생은 되지만 시크바를 움직일 수 없고, 변환프로그램에서는 인식하지 못합니다.

따라서 raw acc파일을 mp4 컨테이너에 넣는 추가과정이 필요합니다.

 

① 앞서 설명한 Yamb을 열기합니다.

"MP4, MOV 파일에서 오디오 꺼내기"에서 설명한 1. 2번 과정의 설정을 합니다. 이미 MP4Box의 위치 설정을 했다면 생략합니다.
 

② 좌측 카테고리에서 "Creation"을 선택하고 우측에서 첫번째 항목을 더블 클릭합니다  

③ Add버튼을 클릭하여 raw acc 파일을 불러오기 합니다.

④ Output에서 Browse버튼을 클릭하여 저장될 폴더와 파일명을 입력합니다.

⑤ Next 버튼을 클릭하면, 확장자가 mp4인 파일이 만들어집니다.

앞서 설명했듯이 오디오만 들어 있는 mp4 파일은 "이름 바꾸기"로 m4a 확장자로 바꾸어도 됩니다. 바꾸는 것을 권장합니다. 

ASF, WMV 파일에서 오디오 꺼내기

일반적으로 WMA(Windows Media 오디오) 코덱을 사용하여 압축된 오디오 콘텐츠가 포함된 ASF 파일의 확장명은 .wma입니다.

마찬가지로 WMA(Windows Media 오디오) 및 WMV(Windows Media 비디오) 코덱을 사용하여 압축한 오디오 콘텐츠, 비디오 콘텐츠 또는 두 가지 모두가 포함된 ASF 파일의 확장명은 .wmv입니다.

마지막으로 그 밖의 다른 코덱을 사용하여 압축한 콘텐츠는 일반 .asf 확장명을 사용합니다.

아래 설명은 Window XP 기준으로 한 설명입니다. 윈도우 7이나 비스타는 테스트해보지 않았습니다.

아래 링크에서 Window Media Encoder 9를 다운받아 설치합니다.(파일 2개를 모두 받아야 압축이 풀립니다)

☞ Window Media Encoder 9 Part 1 다운 받기           ☞ Window Media Encoder 9 Part 2 다운 받기 

 

Window Media 스트림 편집기를 실행합니다.

스트림 편집기에서 원본 추가 버튼을 클릭하여 wmv, asf 동영상을 불러오기 합니다.

추가 버튼을 클릭합니다.

파일 만들기 버튼을 클릭합니다. 적당한 이름을 입력하고 저장합니다.

 

Flash Video에서 오디오 빼내기

Flash Video 컨테이너는 flv, f4v라는 확장자를 가집니다.

확장자에 따라 지원하는 비디오, 오디오 스트림이 다릅니다.

 

flv가 지원하는 비디오, 오디오 스트림

Video: On2 VP6, Sorenson Spark (Sorenson H.263), Screen video, H.264
Audio: MP3, ADPCM, Linear PCM, Nellymoser, Speex, AAC, G.711 (reserved for internal use)

 

f4v가 지원하는 비디오, 오디오 스트림

Video: H.264
Images (still frame of video data): GIF, PNG, JPEG
Audio: AAC, HE-AAC, MP3

flv, f4v 컨테이너 안에 들어 있는 비디오 스트림, 오디오 스트림은 FLVExtract로 빼낼 수 있습니다.

1. ☞ 여기에서 FLVExtract를 다운받아 압축 풀기합니다. FLVExtract.exe를 더블클릭합니다.

단 자신의 컴퓨터에 ☞ .Net Framework 2.0이 설치되어 있어야 합니다. 

2. 탐색기에서 flv파일을 선택한 다음 클릭한 상태로 FLVExtract에 끌어다 놓습니다.

3. 오디오 스트림이 자동으로 디먹싱됩니다.

테스트 결과 오디오 스트림이 AAC와 MP3인 경우 헤더가 있는 파일로 디먹싱되었기에 재생하는데 문제가 없었습니다.

 

참고

비디오 스트림이 H.264인 경우에 확장자가 .264인 raw 파일로 디먹싱되었습니다.

VP6과 Sorenson Spark(=flv1) 비디오 스트림은 avi 컨테이너에 들어 있는 상태로 디먹싱되었습니다.

'Development > Multimedia' 카테고리의 다른 글

Change audio arrangement without reencoding  (0) 2012.06.17
Change container mkv to avi without reencoding video or audio stream  (0) 2012.05.16
What DLS is ...  (0) 2009.10.25
Gstreamer example  (0) 2008.07.18
To refer about gstreamer  (0) 2008.05.30
Posted by 까 치
,