본문 바로가기
MultiMedia Framework/FFMpeg

mp4 영상에서 오디오 추출하기

by 유주원 2015. 7. 9.

$> ffmpeg -y -i [mp4 파일명] -vn -acodec libmp3lame -ar 44.1k -ac 2 -ab 128k [mp3 output 파일명]


-y : output 파일에 대해 동일한 파일이 존재할 경우 덮어쓰기 여부 설정. -y 옵션을 주면 덮어쓰기가 된다.


-i : 오디오를 추출할 원본 동영상 파일을 지정한다.


-vn : 비디오를 추출할 필요가 없을 때 사용한다. 반대로 오디오를 추출할 필요가 없을때에는 -an을 사용한다.


-acodec : 오디오 코덱을 지정한다. 위에서는 mp3 오디오 코덱을 지정하였다.


-ar : 오디오 sampling rate를 지정한다. sampling rate가 과연 몰까?? 


오디오 데이터는 연속된 값을 가지고 있기 때문에 이를 디지털로 표현하기 위해 대표 값을 추출해서 사용해야 한다. 이런 대표 값들을 추출하는 것을 sampling이라고 한다.

그럼 위에서 적힌 44.1k는 과연 무슨 뜻일까? 1초 동안 44100개의 대표 값들 추출한다는 의미가 된다. 만약 이 값이 더 커지면 더 정확한 오디오 데이터 값을 추출할 수 있는 반면에 파일 사이즈가 커지게 될 것이다. 대부분의 경우에 44.1k를 많이 사용한다고 해서 나도 44.1k로 기입하였다.


-ac : 오디오 채널을 지정한다. 대부분의 오디오 데이터가 2채널이기 때문에 2라고 명시하였다.


-ab : 오디오 bit rate를 지정한다. bit rate??? 초당 얼마만큼의 데이터를 처리할 수 있느냐를 나타낸다. 이 bit rate가 높을 수록 품질이 우수한 오디오 콘텐츠라고 할 수가 있다. 하지만 bit rate가 높으면 높을수록 초당 처리해야할 데이터를 더 많이 집어넣어야 하기 때문에 이 역시 파일 용량이 커지게 된다.