반응형


지금까지 내가 주력으로 지원하던 자막 포맷은 SAMI였는데, 이걸 SRT로 변경하기로 했다.

이에 따라 여러 부분을 수정했으며, 이 과정에서 굉장히 많은 버그를 잡고 v7.4로 업데이트.


여전히 큰 틀에서는 변화 없는 인터페이스




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


#일반


1. 대상 비디오 파일을 목록에 드롭한 뒤 변환 버튼을 클릭하면 알아서 변환함

  지원 포맷:AVI,MKV,MP4(mov),MOV(qt),OGM,FLV,MPG(mpeg/dat/vob),WMV(asf),SWF,WebM


2. 저장 위치는 기본적으로 원본 폴더이며, 저장할 폴더를 지정 가능


3. 결과 파일은 원본 파일명 앞에 i]를 붙임

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


4. 파일 변환시 바탕화면에 마크다운 형식의 로그 파일(VCi_Log.md)을 기록할 수 있음


#비디오


5. raw 비디오가 mpeg4/H.264인 경우는 상세한 압축 옵션 확인후, 재생 가능하면 추출하고,

  재생 불가능한 옵션이거나, 그 이외의 포맷인 경우는 H.264로 재인코딩함

  재생 가능 여부는 iOS 5.x에서 수정된 규칙에 따라 확인함

  또한, 사용자 선택시 무조건 H.264로 재인코딩할 수 있음


6. 비디오 재인코딩시 디인터레이스 및 영상을 회전시킬 수 있음


7. 비디오 스트림은 원본에서 추출하며, 오디오 스트림은 추출한 뒤 AAC-LC로 변환후 합침

  오디오가 AAC-LC일 경우 재인코딩은 옵션 선택에 따라 안할 수도 있음


8. 아이폰3/4/4s/5에서 재생 가능 비디오 확인 여부를 선택하는 드롭다운리스트가 있음

  - H.264/MPEG4만 강제 변환: MPEG4/H.264는 무조건 추출. 그 외는 무시함 (재인코딩 없음)

  - 재생 가능 비디오만 변환: iOS 5.x에서 수정된 규칙에 맞는 비디오만 추출 (재인코딩 없음)

  - 필요시 비디오 재인코딩: iOS 5.x에서 재생가능한 비디오는 추출, 그 외는 H.264로 재인코딩

    (지원 프로파일은 slow, fast, very fast, super fast, ultra fast의 5종류임)

  - 비디오 강제 재인코딩: 무조건 H.264로 재인코딩


9. 플래쉬 비디오(FLV, SWF)도 일반적인 포맷과 같이 처리함

  MKV, AVI 등과 같은 과정으로 처리하며, 필요시 재인코딩도 실시함

  (즉, SWF 비디오를 MP4로 변환할 수 있음)


10. 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으로 강제 설정. 아이패드에서 무조건 꽉찬 화면으로 재생됨 (화면왜곡)


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


#오디오


12. 외부 오디오 파일명이 비디오와 같고 뒤에 DELAY 000ms의 문자열이 있으면 delay 적용함

  ex) 비디오: TEST.avi, 오디오: TEST T80 2_0ch 48KHz DELAY 125ms.ac3


13. 외부 오디오/자막 파일명이 비디오와 같고 뒤에 언어ID[각주:1]가 있으면 그 언어로 인식함

  ex) 비디오: TEST.avi, 오디오: TEST ko.ac3, 자막: TEST en.srt


14. 내부 오디오가 여러개일 때는 사용할 오디오의 우선순위를 국가코드 및 내부 순서로 지정가능

  - 언어는 한국어, 영어, 일본어, 독일어, 프랑스어, 러시아어 를 1순위로 선택 가능

  - 순서는 #1 ~ #9 중 하나를 1순위로 선택 가능

  - 원본 비디오의 모든 오디오를 변환할 수 있음

    (옵션에서 선택 가능, MKV/MP4/OGG 비디오에 한함)


15. 내부/외부 오디오가 여러 개이며, 우선순위를 미지정시 다음 순서로 하나를 선택함

  AAC → WAV → FLAC → DTS → AC3 → MP3 → MP2 → OGG → WMA

  (합치기만 하면 되는 오디오 → raw 오디오 → 음질 순)


16. 오디오/자막의 언어는 최대한 인식하며, 인식이 안된 경우 적용할 수 있는 기본언어 지정 가능함


#자막


17. 내부 자막은 SRT, ASS/SSA를 인식, 외부 자막은 SRT→SMI→ASS→SSA 순으로 인식

  다중 언어 SMI는 모든 자막을 변환후 사용하며, KRCC/ENCC/EGCC/JNCC를 각국어로 인식

  원본 자막 형식은 ANSI, 유니코드-BOM, 유니코드 UTF-8를 지원, 알아서 인식해 완벽히 변환

  ※ 내부적으로 유니코드만 사용하기 때문에 모든 글자를 변환하며, 최대한 오류를 보정함


18. 외부 자막이 ANSI 형식의 SRT인 경우 언어를 지정 가능: 한글/중국간체/일본어/서유럽/중앙유럽


19. 원본의 내부 자막이 여러 개이거나 SMI가 다중언어인 경우는 모든 국가의 자막을 변환

  외부자막이 SRT, ASS/SSA인 경우는 13번의 규칙에 따라 다중언어 지원함



20. 출력되는 자막의 크기는 18/24/36/48포인트를 사용가능한데, 이는 아이패드를 위한 것임

  하지만, 아이폰/아이패드의 퀵타임이 자막의 크기를 인식하지 않기 때문에 사실상 의미 없음


#기타


21. 원본 비디오의 delay 값을 인식하고, 이를 적용해서 오디오/비디오 싱크를 맞춤.

  또한, 추가적으로 원본과 생성본의 비디오 길이를 비교해서 필요시 싱크를 한번 더 맞춤.


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


23. 선택한 옵션은 모두 레지스트리에 저장됨. 저장 시점은 변환 시작시와 저장 버튼 클릭시임.

  즉, 옵션을 선택하고 프로그램을 종료하는 경우는 저장하지 않음

  저장위치는 \\HKEY_CURRENT_USER\Software\BLUEnLIVE\Video Converter for iOS


24. VCi는 다양한 미디어 관련 프리웨어의 프론트엔드이며, 직접 변환에 개입하는 것은 자막뿐임

  VCi에서 사용하는 프리웨어 8종은 다음과 같음

  ffmpeg, MKV Extract, Media Info, MP4Box, Nero AAC Encoder, OGM Demuxer, normalize, tc2mp4[각주:2]


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


Video_Converter_for_iOS_v7.4d.7z




2012.9.30: 7.4 업데이트

버그 수정: 언어가 표시되지 않은 자막은 무조건 한글 자막으로 인식하는 버그 수정

- 버그 수정: DC 생성시 자막 처리 문제로 인한 프로그램이 멈추는 버그 수정

- 오디오 싱크 자동 보정시 정확도가 향상됨

- 로그 파일을 markdown 포맷[각주:3]으로 변경



- 오디오/자막 파일명에 언어를 명시 가능하도록 수정

    단, 외부 오디오는 언어가 명시된 파일이 많아도 하나만 인식함

    자막은 srt/ssa/ass만 다중 언어 인식

- 오디오/자막 언어ID의 기본값 지정 가능하도록 수정

- srtsami보다 우선순위가 높도록 수정

- 생성할 파일명에서 [VCi]i]로, [VCi-DC]iD]로 변경

- 작업 정상 종료시 및 about 창 띄울시 Taskbar 반짝이도록 수정

- Taskbar의 progress를 세분화

- OS 정보에 Windows 8 / Server 2012 추가


2012.11.3: 7.4c 업데이트

버그 수정: 블로그 모드에서 아주 가끔 해상도를 잘못 계산하는 문제 수정

버그 수정: ffmpeg의 임시파일 중 일부를 삭제하지 않던 문제 수정

버그 수정: 임시 폴더명에 dot(.)가 있을 때 AVI/H.264 비디오를 추출하지 못하던 문제 수정

버그 수정: AVI/H.264 비디오 추출시 progress를 출력하지 않던 문제 수정

- 자막 처리 일부 수정


2012.11.10: 7.4d 업데이트

버그 수정: 영상 회전 정보를 잘못 인식하던 문제 수정

버그 수정: MKV 파일의 내부 자막을 가끔 변환하지 못하던 문제 수정

- 자막 변환을 실패했을 때 파일 생성을 억지로 실행하다 실패하던 문제 수정



  1. 언어ID는 알파벳 2개 또는 3개로 구성됨. ex) ko, ja, en 등 [본문으로]
  2. 링크는 사망했음. 파일 찾기 어려웠음. OTL [본문으로]
  3. 단순한 텍스트 파일이지만, 마크다운을 지원하는 편집기(메모장2-mod 등)에서 보면 멋짐 [본문으로]
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band