아이폰용 동영상 변환기 v5.6 업데이트


아이폰 용 동영상 변환기 중 가장 빠르다고 자부하는 VCi를 v5.6로 업데이트 했다.
3.x대 버전이 올라감에 따라 조금씩 추가되던 기능이 충분히 누적되어 메이저 버전 넘버를 올리기로 했다.
(게다가 4.x는 괜히 싫어서 바로 5.x으로…)

이번 버전에서 강조된 것은 첫째도 안정성, 둘째도 안정성이다.

인터페이스야 뭐 당연히…




VCi의 기능 및 특징은 아래와 같다.

1. 변환을 원하는 파일을 비디오 파일 목록에 떨어뜨린 뒤 변환 버튼을 클릭하면 알아서 변환함
  인식하는 포맷은 AVI, MKV, MP4(mov), MOV(qt), OGM, FLV, MPG(mpeg/dat/vob), WMV(asf), SWF

2. raw 비디오 포맷이 mpeg4 또는 H.264인 경우는 정확한 압축 옵션을 확인해서, 재생 가능하면 추출하고,
  재생 불가능한 옵션이거나, 그 이외의 포맷인 경우는 H.264로 다시 인코딩함
  재생 가능 여부는 한땀한땀 확인한 규칙에 따라 확인함
  또한, 사용자 선택시 무조건 H.264로 다시 인코딩할 수 있음

3. 저장 위치는 기본적으로 원본 폴더이며, 저장할 폴더를 지정할 수 있음

4. 결과 파일은 원본 파일명 앞에 [VCi]를 붙임
  필요시 추가로 싱크를 보정하며, 결과물은 원본 파일명 앞에 [VCi-DC]를 붙임

5. 비디오 스트림은 원본에서 추출하며, 오디오 스트림은 추출한 뒤 AAC-LC로 변환해서 다시 합침
  오디오가 AAC-LC일 경우 재인코딩은 옵션 선택에 따라 안할 수도 있음

6. 아이폰3/4/4s 및 hTC 인크레더블s에서 재생 가능한 비디오인지 확인 여부를 선택하는 드롭다운리스트가 있음
  - 비디오 규격 미확인: mpeg4/H.264는 무조건 추출. 이외의 포맷은 추출하지 않음 (재인코딩 없음)
  - 비디오 규격 확인: mpeg4/H.264 중 한땀한땀 확인한 규칙에 적합한 비디오만 추출 (재인코딩 없음)
  - 비디오 변환: 재생 가능한 비디오는 추출하고, 그 외의 비디오는 H.264로 재인코딩하며, 필요시 리샘플링함
    (지원 프로파일은 slow, fast, very fast, super fast, ultra fast의 5종류임)

7. 플래쉬 비디오(FLV, SWF)도 일반적인 포맷과 같이 처리함
  MKV, AVI 등과 같은 과정으로 처리하며, 필요시 재인코딩도 실시함
  (즉, SWF 비디오를 MP4로 변환할 수 있음)

8. PAR/SAR를 확인하고 수정할 수 있음
  - PAR 유지: PAR를 그대로 사용함
  - PAR=1:1 : PAR를 강제로 1:1로 수정함
  - PAR<1.5(2.0): PAR이 일정 범위 이내면 그대로 사용하고, 범위를 벗어나면 1:1로 수정함 (추천)
  - SAR=3:2 : SAR를 3:2로 강제 설정함. 아이폰에서 무조건 꽉찬 화면으로 재생됨 (화면 왜곡됨)
  - SAR=4:3 : SAR를 4:3으로 강제 설정함. 아이패드에서 무조건 꽉찬 화면으로 재생됨 (화면 왜곡됨)

9. 원본 파일과 같은 이름의 오디오/자막 파일이 같은 폴더에 있으면 그 파일을 사용함

10. 외부 오디오의 파일명이 비디오와 동일하며 뒤에 DELAY 000ms 라는 문자열이 있으면 delay를 적용함
  ex) 비디오: TEST.avi, 오디오: TEST T80 2_0ch 48KHz DELAY 125ms.ac3

11. 내부 오디오가 여러개일 때는 사용할 오디오의 우선순위를 국가코드 및 내부 순서로 지정할 수 있음
  - 언어는 한국어, 영어, 일본어, 독일어, 프랑스어, 러시아어 를 1순위로 선택 가능
  - 순서는 #1 ~ #9 중 하나를 1순위로 선택 가능

12. 내부/외부 오디오가 여러 개이며, 우선순위를 지정하지 않으면 다음 순서로 하나를 선택함
  AAC → WAV → DTS → AC3 → MP3 → MP2 → OGG → WMA (합치기만 하면 되는 오디오 → raw 오디오 → 음질 순)

13. 내부 자막은 SRT, ASS(SSA)를 인식해서 사용하고, 외부 자막은 SMI→SRT→ASS→SSA 순으로 사용함
  다중 언어 SMI는 모든 자막을 다 변환해서 사용하며, KRCC/ENCC/EGCC/JNCC를 각국어로 인식함
  원본 자막 파일 형식은 ANSI, 유니코드-BOM, 유니코드 UTF-8를 지원하며 알아서 인식해서 완벽히 변환
  ※ 내부적으로 유니코드만 사용하기 때문에 변환하지 못하는 글자는 없으며 최대한 오류를 보정함

14. 원본의 내부 자막이 여러 개이거나 SMI가 다중언어로 구성된 경우는 모든 국가의 자막을 변환
  외부자막이 SRT, ASS/SSA인 경우는 다중자막 적용이 불가함

15. 출력되는 자막의 크기는 18/24/36/48포인트를 사용가능한데, 이는 아이패드를 위한 것임
  하지만, 아이폰/아이패드의 퀵타임 재생기가 자막의 크기를 인식하지 않기 때문에 사실상 의미 없음

16. 원본 비디오의 delay 값을 인식하고, 이를 적용해서 오디오/비디오 싱크를 맞춤.
  또한, 추가적으로 원본과 생성본의 비디오 길이를 비교해서 필요시 싱크를 한번 더 맞춤.

17. 아이폰4 계열 뿐 아니라, 아이폰 3 계열, 아이패드 모두 사용 가능함

18. 선택한 옵션은 모두 레지스트리에 저장되며, 저장 시점은 변환을 시작했을 때와 저장 버튼을 클릭했을 때임.
  즉, 옵션을 선택하고 프로그램을 종료하는 경우는 저장하지 않음
  저장위치는 \\HKEY_CURRENT_USER\Software\BLUEnLIVE\Video Converter for iPhone

19. VCi는 다양한 미디어 관련 프리웨어의 프론트엔드이며, 직접 변환에 개입하는 것은 자막이 유일함
  VCi에서 사용하는 프리웨어 7종은 다음과 같음
  ffmpeg, MKV Extract, Media Info, MP4Box, Nero AAC Encoder, OGM Demuxer, normalize

프로그램은 아래 링크에서 다운받을 수 있다.




2011.7.30: 5.0 업데이트
- 버그 수정: 작업 중단시 일부 프로그램을 정상적으로 종료시키지 못하던 문제 해결
- 오디오 다운믹스시 진행상황이 제대로 출력되도록 수정
- FFMpeg을 git-faa3381(2011.7.28)으로 업데이트
- 오디오를 한번 더 강제변환하도록 수정: AVI+WMA, 일부 FLV 등의 다소 이상한 포맷도 정상 변환

2011.8.3: 5.1 업데이트
- 매 작업시 화면에 진행 시간 표시
- 총 프레임 수를 화면에 표시
- 기본 임시폴더를 윈도우 임시 폴더 아래로 변경

2011.8.25: 프로그램 업데이트 없음
- MP4Box를 0.4.6 rev2735로 업데이트
- Media Info를 0.7.48로 업데이트

2011.10.2: 업데이트
- (일부) Nightly Build를 위해 level을 3.1 포맷 대신 31 포맷으로 지정할 수 있는 옵션 추가[각주:1]

2011.11.8: 5.2 업데이트
- 버그 수정: 제대로 동작하지 않던 문제 수정. (죄송합니다. 요즘 너무 바빠서… ㅠ.ㅠ)
- ffmpeg를 Zeranoe git-13b7781(2011-11-06)로 업데이트
- MKVExtract를 5.0.1로 업데이트
- Media info를 0.7.50으로 업데이트
- MP4Box를 0.4.6 rev2125로 회귀
※ MP4Box 최신 베타인 Nightly Build가 오히려 문제를 일으키는 경우도 있었음. ㅡ.ㅡ;

2011.11.27: 5.3 업데이트
- MP4Box를 안정화 버전과 Nightly Build동시에 사용할 수 있도록 수정[각주:2]
  ㆍ Nightly Build는 tools\Nightly 에 위치함
  ㆍ Nightly 체크박스 선택 여부에 따라 안정화 버전과 Nightly Build를 선택적으로 사용 가능[각주:3]
  ㆍ Nightly Build는 GPAC 홈페이지에서 다운받을 수 있으며, 설치된 파일을 tools\Nightly에 복사하면 됨[각주:4]
- 원본 오디오가 AAC인 경우 5.1ch이라도 재인코딩 하지 않을 수 있는 옵션 추가[각주:5]
- 대상 스마트폰에서 인크레더블s 제거, 아이폰4s 추가[각주:6]
- FFMpeg를 Zeranoe git-2c44aed(2011-11-21)로 업데이트
- Media info를 0.7.51로 업데이트

2011.11.29: 5.4 업데이트
- 오디오 변환 부분 최적화: 가끔 PCM 오디오를 한번 더 복사하는 과정 제거
- ANSI 포맷 SRT 자막의 언어를 강제로 지정하는 기능 추가(한글, 중국간체, 일본어, 서유럽, 동유럽 만)
- 옵션 배치 수정 → 자막 관련 기능 별도로 분리

2011.11.26: 5.5a 업데이트
- 버그 수정: 재인코딩시 가끔 Bit Rate가 잘못 지정되던 문제 수정
- On2/Google의 VP6 비디오 코덱을 인식하도록 수정
- Cinepack 비디오 코덱을 인식하도록 수정
- 구형 Quicktime 포맷을 인식하도록 수정
- High BitRate 프로파일 추가 (Slow 프로파일과 동일, BitRate만 2배로 동작)
- 저장 폴더와 임시 폴더가 같으면 동작하지 않도록 수정
- FFMpeg을 Zeranoe git-dd1fb65(2011.12.22)로 업데이트
- MKVExtract를 5.2.0으로 업데이트
- Media Info를 0.7.52로 업데이트

2011.11.27: 5.6 업데이트
- 버그 수정: 재인코딩시 가끔 Bit Rate가 잘못 지정되던 문제 수정 OTL
- H.264 비디오의 레벨을 인식하도록 수정. L4.0 이상은 변환하지 않음


  1. 혹시 MP4Box를 Nightly Build로 교체하시는 분들은 이 옵션을 켜야 정상적으로 동작합니다. [본문으로]
  2. 원본이 안정화 버전에서 문제를 일으키는 mp4 파일인 경우 Nightly Build를 사용하면 잘 동작하는 경우가 있음 [본문으로]
  3. Nightliy Build가 설치되어 있지 않으면 경고창을 띄움 [본문으로]
  4. \Program Files\GPAC에 있는 파일을 모두 복사하면 되며, 필요한 비주얼 스튜디오 런타임 라이브러리가 있는지 확인 필요함 [본문으로]
  5. 애플 홈페이지에서는 스테레오만 재생 가능하다고 명시되어 있으나, 확인 결과 5.1ch AAC도 재생 가능함 [본문으로]
  6. 아이폰4s는 1080p의 H.264까지 업로드/재생 가능함 [본문으로]