스마트 폰

구글 넥서스원 동영상 변환하기

snoopybox 2010. 7. 11. 05:26


어제 동영상 플레이어가 없어서 좀 더 알아보겠다고 말씀드렸는데, 알고 보니 그냥 기본 갤러리 어플로 사진만 보는게 아니라 동영상까지 재생할 수 있었습니다. 그런데 이 갤러리 어플에는 자막 재생기능이 없기 때문에 자막은 동영상을 MP4로 변환시 같이 넣으시거나 아니면 자막 재생기능이 있는 어플을 따로 설치하셔야 합니다.



우선 넥서스원의 제조사인 HTC 홈피를 보면 아래와 같이 나와 있습니다.

Audio supported formats .aac, .amr, .awb, .wav, .wma, .mp3, .mid
Video supported formats .mp4, .3gp, .3g2, .m4v

출처 : http://www.htc.com/us/support/nexus-one-google/tech-specs/



일반적인 AVI 동영상은 재생이 불가능하기 때문에 MP4로 인코딩을 해야 하는데, 지원 코덱에 관해서는 저기에 나와있지 않아서 이번엔 구글 쪽에서 자료를 찾아봤습니다.

Graphics, video and audio

Audio decoders
AAC LC/LTP, HE-AACv1 (AAC+), HE-AACv2 (enhanced AAC+) Mono/Stereo standard bit rates up to 160 kbps and sampling rates from 8 to 48 kHz, AMR-NB 4.75 to 12.2 kbps sampled @ 8 kHz, AMR-WB 9 rates from 6.60 kbps to 23.85 kbps sampled @ 16 kHz, MP3 Mono/Stereo 8-320 kbps constant (CBR) or variable bit-rate (VBR), MIDI SMF (Type 0 and 1), DLS Version 1 and 2, XMF/Mobile XMF, RTTTL/RTX, OTA, iMelody, Ogg Vorbis, WAVE (8-bit and 16-bit PCM)
Image
JPEG (encode and decode), GIF, PNG, BMP
Video
H.263 (encode and decode) MPEG-4 SP (encode and decode) H.264 AVC (decode)
Audio encoders
AMR-NB 4.75 to 12.2 kbps sampled @ 8 kHz
출처 : http://www.google.com/phone/static/en_US-nexusone_tech_specs.html



코덱에 관해 자세한 내용이 나와 있습니다. 복잡하게 고민할 필요 없이 인코딩 하실 때 MPEG4, AAC, MP4 규격으로 하시면 되겠습니다.

그런데 제가 수십차례 테스트 해본 결과 MeGUI x264 기본 옵션으로 인코딩한 720p AVC High Profile 영상은 재생되지 않았습니다. 이거 테스트한다고 정말 시간 많이 허비했는데... 아직까지 정확한 결론을 내리지는 못했습니다. 720p라고 재생되지 않는다는 말은 아니고 720p라도 프로필과 옵션값에 따라 재생이 될 수도 있고 안 될 수도 있다는 말입니다. 720p에 Baseline 3.0으로 인코딩하면 재생이 잘 됩니다. 그런데 448p로 해상도를 낮추니 MeGUI의 x264 기본 옵션에서도 (High Profile 3.1) 재생이 되었습니다. 즉 이게 프로필이나 해상도 어느 한쪽에만 원인이 있는 것은 아니고 둘의 조화가 잘 이루어 져야만 재생이 가능한 것 같습니다.

어차피 일반인(?)들은 다음팟인코더 같은 프로그램을 사용하시는게 편리하기 때문에 위에서 말씀드린 AVC Level이나 Profile에 관해서는 신경쓰지 마시고 따라하기 식으로 동영상을 변환하시면 되겠습니다. 고급 옵션으로 화질을 좋게 하는 것은 전문 립퍼들이 할 일이고 보통의 눈을 가진 보통의 사람이 일반적인 거리에서 폰으로 동영상을 감상한다면 다음팟의 기본 셋팅으로도 충분히 볼만한 화질을 뽑아낼 수 있습니다.


다음 팟인코더 다운로드
http://tvpot.daum.net/encoder/PotEncoderSpec.do


꼭 아래와 같이 하실 필요는 없는데, 완전 초보라서 뭐가 뭔지 전혀 모르시는 분들은 아래와 같이 하시면 되겠습니다. 제가 보기에 이정도 설정이면 넥서스원 감상용으로 괜찮은 화질이 나온다고 생각합니다.



1 - MP4를 선택합니다.
2 - MPEG-4 AVC를 선택합니다.
3 - 비트레이트는 800*480 해상도에서 1500 정도는 줘야 깍뚜기가 많지 않습니다.
4 - 리사이즈 필터는 어차피 속도 차이가 별로 없기 때문에 가장 선명한 Lanczos를 선택합니다.
5 - 화면 크기는 넥서스원 스펙과 동일하게 800*480으로 선택합니다.


위 설정은 원본이 800*480보다 큰 경우에 권장하는 설정입니다. 만약 원본이 원래부터 작은 경우라면 (예를 들어 700mb AVI 드라마) 위 설정으로 하실 필요가 없습니다. 그런 경우 화면 크기를 원본 크기 사용으로 해주시고 비트레이트 역시 낮춰주시면 됩니다.

비트레이트가 뭐냐고 질문하신다면 한마디로 이해하기 쉽게

비트레이트 = 용량

비트레이트를 높이면 용량이 커지는 대신 화질이 좋아지고 비트레이트를 낮추면 용량은 작아지지만 화질도 떨어집니다. 따라서 시간이 짧은 동영상 원본을 하나 가지고 와서 몇번 테스트 해보시고 비트레이트를 어느정도 주면 자신의 눈에 적당한 화질이 나오는지 합의점을 찾아보시기 바랍니다. 624*352 해상도로 뽑으신다면 비트레이트는 1000 정도가 적당하다고 봅니다.

자막을 넣어서 인코딩 하시려는 경우 따로 설정하실 것은 없습니다. 자막 파일과 동영상 파일이 동일한 위치에 같은 이름으로 들어있는 경우 자동으로 자막까지 영상에 입혀서 인코딩 됩니다. 그게 다음팟의 기본 설정값입니다.

위 설정으로 인코딩한 영상을 넥서스원으로 재생해 봤습니다. 한손으로 폰 들고 한손으로 디카 들고 찍으려니 좀 힘드네요. 손이 떨려서 화면이 자꾸 흔들리는데 양해 바랍니다. ㅠㅠ





위 내용은 넥서스원이 지원하는 동영상 형식과 그에 맞게 인코딩하는 방법이었고, 이렇게 인코딩한 동영상을 폰에다 어떻게 넣어야 하는지에 대해 설명드리겠습니다. 일단 USB 드라이버를 설치합니다. 아래 파일은 안드로이드 SDK에서 드라이버만 따로 압축한 것입니다.




넥서스원을 PC에 연결하시고 드라이버를 설치하시면 화면 상단에 USB랑 벌레모양(?) 아이콘이 뜹니다.




그 부분을 손가락으로 눌러서 아래쪽으로 드래그 하시면 아래와 같은 화면이 나오는데




USB 연결됨 부분을 누르시고 아래 화면에서 USB 저장소 사용을 누르시면 PC에서 넥서스원 SD카드에 접속이 가능합니다.




동영상이나 음악 파일은 SD카드 루트에 넣어도 되고 아니면 폴더 하나 만들어서 안에 넣어두셔도 됩니다. 저는 보여드리기 위해 편의상 이렇게 넣었는데, 아무래도 루트에 파일이 많으면 보기에 안좋으니 폴더를 만들어서 정리하시는게 좋겠습니다.




복사를 다 하셨다면 다시 사용 안함 버튼을 눌러 마운트를 풀어주셔야 합니다. 그래야 넥서스원에서 SD카드를 사용할 수 있습니다.




동영상 재생은 갤러리에 들어가시면 바로 가능합니다.





여기까지 넥서스원 동영상 재생에 대해 알아봤습니다.

참고로 넥서스원으로 찍은 동영상은 AVC 비디오, AMR 오디오에 3GP 형식입니다. 해상도는 720*480인데 화질은 그냥 그럭저럭 봐줄만 합니다. 아래는 잠깐 찍어본 동영상 파일의 정보입니다.

General
Complete name : VID_20100710_220625.3gp
Format : MPEG-4
Format profile : 3GPP Media Release 4
Codec ID : 3gp4
File size : 4.16 MiB
Duration : 14s 673ms
Overall bit rate : 2 379 Kbps
Law rating : (empty)
Released date : 0
Encoded date : UTC 2010-07-10 13:06:28
Tagged date : UTC 2010-07-10 13:06:28
Classification : (empty)

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L3.0
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 14s 673ms
Bit rate mode : Variable
Bit rate : 3 000 Kbps
Maximum bit rate : 3 000 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 3:2
Frame rate mode : Variable
Frame rate : 18.810 fps
Minimum frame rate : 4.310 fps
Maximum frame rate : 30.303 fps
Standard : NTSC
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.461
Stream size : 4.13 MiB (99%)
Language : English
Encoded date : UTC 2010-07-10 13:06:28
Tagged date : UTC 2010-07-10 13:06:28

Audio
ID : 2
Format : AMR
Format/Info : Adaptive Multi-Rate
Format profile : Narrow band
Codec ID : samr
Duration : 14s 580ms
Bit rate mode : Constant
Bit rate : 12.8 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Resolution : 13 bits
Stream size : 22.8 KiB (1%)
Writing library : pvmm
Language : English
Encoded date : UTC 2010-07-10 13:06:28
Tagged date : UTC 2010-07-10 13:06:28




이 글에서는 동영상 파트에 대해서만 다루었고, 웹서핑이나 벤치마크를 포함한 사용기 2부는 추후에 올리도록 하겠습니다.



(내용 추가)

댓글로 알려주셔서 내용 추가합니다. 따로 인코딩하지 않아도 AVI, MKV 등의 동영상을 재생할 수 있는 RockPlayer가 있습니다.

http://groups.google.com.hk/group/rockplayer

방금 설치하고 테스트 해봤는데 XviD 코덱의 AVI 동영상 재생이 잘 되었습니다.



아직 베타버전이기는 하지만 MP4로 변환하지 않고도 인터넷에서 받은 파일을 바로 재생할 수 있다는 점은 매우 반가운 소식이라 생각합니다.