20010607 :: 리눅스에서 아이폰 동영상 인코딩하기 (ffmpeg) – 예고편

아이폰으로 동영상을 볼 생각

저 보다 먼저 아이폰을 산 지인들의 이야기를 들어보면 다들 “16기가로는 좀 부족해요”라는 의견이 압도적이었습니다. 그래서 저도 32기가짜리를 샀습니다만… 80여개의 어플을 설치하고 100곡이 넘는 음악과 예닐곱편의 팟캐스트 동영상을 넣어 다니지만 고작 3기가 가량 썼을 뿐이더군요. 흠… 동영상을 넣어다니면서 볼 생각은 못했습니다. 가뜩이나 배터리 사정도 넉넉치 않은 아이폰에… 굳이 동영상을 이동하면서 볼 이유는 없을 것 같았거든요. 근데 최근에 드라마 ‘개인의 취향’을 너무 재밌게 봤는데, 이 녀석을 아이폰에 넣어 다녀 보고 싶었습니다. 아이폰용으로 동영상을 인코딩하는 방법은 H.264 / AAC 코덱을 사용하여 mpeg4 비디오로 인코딩을 하면 된다고 합니다. 다음 팟 인코더나 유마일 인코더 같은 무료 인코더는 예전 경험으로 화질이 매우 안습이었기 때문에, 다른 해법을 조금 더 찾아보기로 하였습니다.

아 이폰에 딱맞는 인코더, handbrake

그 러다 알게된 것이 handbrake라는 인코딩 프로그램입니다. 프랑스에서 만들었다고 하는데 아이폰에 적합한 설정을 자동으로 해준다는 훌륭한 프로그램이더군요. 그래서 설치해보려 하였지만, 윈도 환경에서는 .NET 프레임워크를 설치해야 하고 우분투 환경에서는 새 버전의 GNOME과 호환성 문제가 있어서 그냥은 설치가 안된다고 합니다. (저장소에서 일일빌드를 받아서 설치하면 된다고 하는데, 키 인증이 계속 실패해서 포기했습니다.)

결국 믿을 건 ffmpeg

역시 믿을 건 ffmpeg 밖에 없는 것 같습니다. 그런데 문제는 h.264비디오나 aac 오디오를 처리할 수 있는 코덱이 없다는 것입니다. 조금 알아보니 h264는 x264라는 이름으로 공개 코덱이 있다고 하는군요. aac 같은 경우에는 faac라는 이름으로 존재합니다. 그리고 이러한 코덱들을 설치하기 위해서는 몇 가지 준비가 필요하다고 합니다. 제한된 코덱이나 유틸리티들을 사용해야 하는데, (주로 특정 국가에서 저작권 등의 문제로 기본적으로 설치되지 않은 녀석들이라고 합니다.) 그래서 다음 명령어를 통해 제한된 요소들을 추가로 설치해 줍니다.

$ sudo apt-get install ubuntu-restritct-extras[1. $는 프롬프트 표시입니다. 실제 키보드로 입력하지 않습니다]

그리고 그 외의 음악 파일이나 영상 파일의 인코딩을 위해서는 다음 명령을 통해 제한된 일부 코덱을 추가로 설치할 수 있습니다.

$ sudo apt-get install libavcodec-extra-52

그런데, 이렇게 하더라도 AAC 인코더가 실질적으로 지원되지는 않는 문제가 있습니다. 그래서 또 구글링에 구글링… 대부분의 답변은 이 것들을 싹 밀어버리고 ffmpeg을 새로 컴파일해야 한다고 하는군요. (아 귀찮아 ㅠ_ㅠ)

이후 부분에 내용을 빼지 않으면 포스팅이 저장이 되지 않아, 굳이 예고편으로 먼저 발행합니다. 자세한 이야기는 다음편에….