새해 첫날을 맞이하여 VCi를 8.0으로 업데이트했다. ('13. 1. 20에 v8.3으로 업데이트)
지난 업데이트가 약 두 달 전이었으니 실로 오랜만의[각주:1] 업데이트다.
이번 업데이트를 통해 특히 옵션 부분 단순화, 상태바 보강 등을 포함해 인터페이스가 대대적으로 간략화되었다.
정말 놀랍지 않은가![각주:2]

인터페이스를 훨씬 간략하게 변경했음. 놀랍지 않은가! Awesome!


이 과정에서, 기존 버전들에서 화면 하단에 주렁주렁하게 달아놓았던 옵션들을 별도 창으로 분리했다.

옵션에 대한 설명을 보강해서 훨씬 읽기 편해졌음


한 가지 더 있는데…[각주:3] 챕터 기능을 구현했다.

이전 포스팅(뭔가 이상한 iOS 비디오 재생기의 챕터 기능)에서도 설명한 모든 기능을 포함한 것이다.

이 모든 기능이 포함된 VCi의 새버전은 아래 링크에서 다운받을 수 있다.




▲ 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에서 수정된 규칙[각주:4]에 따라 확인함

  또한, 사용자 선택시 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로 재인코딩

    (지원 프로파일은 very slow, slow, default, very fast 의 4종류임)

  - 비디오 강제 재인코딩: 무조건 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[각주:5]가 있으면 그 언어로 인식함

  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. MKV/MP4 파일에 포함된 챕터 정보를 인식하여 iOS용 챕터로 변환함


물론, 챕터와 자막을 동시에 잘 지원함


22. 외부 챕터파일(.ogm)이 있는 경우 이를 인식해서 iOS용 챕터로 변환함

  단, 비디오가 ogm 포맷인 경우 확장자 충돌 문제가 있어 인식하지 않음


  ※ ogm 포맷은 아래와 같은 구조이며, mp4/mkv 에서 이 형식으로 손쉽게 추출할 수도 있음


CHAPTER01=00:00:00.000

CHAPTER01NAME=Intro

CHAPTER02=00:01:00.000

CHAPTER02NAME=Act 1


#기타


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

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


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


25. 선택한 옵션은 모두 레지스트리에 저장됨. 저장 시점은 변환 시작시와 수정 후 확인 클릭시임.

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

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


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

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

  ffmpeg, MKV Extract, Media Info, MP4Box, Nero AAC Encoder, tc2mp4[각주:6]


27. 기본적으로 26번의 프로그램을 찾는 순서는 .\tools\path이며, 옵션에서 순서를 바꿀 수 있음

  즉, 새 버전의 프로그램을 사용하고 싶을 때는 설치한 뒤 경로(path)만 지정하면 됨




▲ 버전 히스토리


2013.1.1: 8.0

- 아이콘을 iOS6의 비디오 아이콘으로 변경

- 옵션창 분리 및 인터페이스 대폭 간략화

- 하단 정보 표시 영역을 상태바로 이동하고, 상태바의 글꼴을 Consolas로 변경

- 챕터 인식 기능 추가

- iOS에서 재생 불가능한 interlace 식별 기능 추가

- i], iD]를 i), iD)로 변경

- 변환 가능 여부 판단 루틴 간략화 등 코드 최적화

- 버그 수정: 가끔 비트 레이트를 잘못 인식해서 무조건 재인코딩으로 동작하던 문제 수정

- 버그 수정: 일부 임시파일 미삭제 문제 수정


2013.1.8: 8.1

- 상태바의 글꼴을 Terminal로 변경하고, 크기 축소

- 최신 버전의 ffmpeg에서도 정상동작하도록 수정

- ffmpeg\preset 폴더를 제거하고 인자로 지정하도록 수정

- ffmpeg-H.264 인코딩 프리셋을 4 종류로 개편

- 오디오 음량 정규화를 외부 프로그램에서 코드 내부로 이동

- SAMI 자막의 언어 코드를 case-insensitive하게 인식하도록 수정 (nuno 님 건의사항)

- 버그 수정: srt 자막의 언어를 지정하지 않은 경우 언어를 잘못 인식하는 문제 수정

- 버그 수정: mkv 파일의 내부 자막을 제대로 인식하지 못하는 문제 수정


2013.1.8: 8.1a

- 오디오/자막의 개수를 100개로 제한

- 버그 수정: 메모리 누수 문제 해결

※ malloc/free로 동적할당하던 구조를 배열로 변환함


2013.1.17: 8.2

- 비디오 해상도 확인시 Bit Depth 확인하고, 10 bits는 수용 불가로 처리하도록 수정[각주:7]

- 수용 불가 비디오의 경우 이유를 로그에 기록하도록 수정

- 버그 수정: 일부 AVC 인식에 실패하는 문제 수정

- 버그 수정: MP4 파일 확장자를 잘못 인식하는 문제 수정

- 버그 수정: 모든 오디오 변환시 오디오를 처리하지 않는 문제 수정


2013.1.20: 8.3

- OGMDemuxer를 사용하지 않도록 수정[각주:8]

버그 수정: 가끔 프로그레시브 AVC를 인터레이스 AVC로 인식하던 문제 수정

버그 수정: OGM 비디오 처리 부분 버그 수정

버그 수정: 외부 오디오의 딜레이를 인식하지 못하던 문제 수정 (COO 님 제보)

버그 수정: PCM 오디오를 가끔 정규화하지 못하던 문제 수정

버그 수정: 로그 오타 수정 (containder → container)



  1. 해가 바뀌었으니, 1년만의 업데이트? [본문으로]
  2. 물론, 이건 잡스 필이 나게 읽어야 함 [본문으로]
  3. There is one more thing… [본문으로]
  4. 여기 설명된 내용에 추가하여 10 bits AVC도 재생할 수 없음 [본문으로]
  5. 언어ID는 알파벳 2개 또는 3개로 구성됨. ex) ko, ja, en 등 [본문으로]
  6. 링크는 사망했음. 파일 찾기 어려웠음. OTL [본문으로]
  7. 참고로, 무인코딩 재생 프로그램들에서도 10 bits AVC는 재생이 불가함 [본문으로]
  8. ffmpeg.exe가 동일한 기능을 지원함 [본문으로]
  1. 이전 댓글 더보기
  2. jamesview 2013.01.19 00:45 신고

    mkv 변환시 비디오는 h264인데 오디오가 ac3일때 오디오 추출 시간이 오래 걸리는데
    그게 거의 하루 종일 걸리고 비디오 화질 자체도 변질이 있던적이 있는데
    방법이 있을까요?
    감사합니다

    • 그 질문만으로는 아무런 답을 할 수 없습니다.

    • jamesview 2013.01.19 01:46 신고

      구체적으로 뭐가 필요하신가요?
      저는 그냥 mkv파일일때 원래 오래 걸리는지의 여부를 알고 싶어서
      여쭤본겁니다 ㅎㅎ
      오디오 추출만 50분을 넘게하는게 이상해서요

    • 로그를 출력해서 답글로 달아주시거나 메일로 보내주시기 바랍니다.

    • 2013.01.19 13:30

      비밀댓글입니다

    • * [2013.01.01 12:38:43.215] Mem Info: 434 MBytes of free physical memory (out of Total 1023 MBytes of physical memory, 57% in use)

      → 메모리가 1GB군요. PC의 사양 자체가 너무 낮은 거 아닌가요?

      * [2013.01.01 12:41:04.558] **C:\Users\james\DOWNLO~1\VIDEO_~1.2\tools\NEROAA~1\NEROAA~1.EXE -lc -br 320000 -if "C:\Users\james\AppData\Local\Temp\VCi\extractedaudio_pcm.wav" -of "C:\Users\james\AppData\Local\Temp\VCi\temp_000.aac"**
      * [2013.01.01 12:45:19.754] Audio conversion finished

      → 10분 걸린 건 아니고, 4분 15초 걸렸군요. CPU 스펙은 모르겠지만, 저사양 PC이라면 그 정도는 걸립니다.

  3. COO 2013.01.19 11:10 신고

    업데이트 감사합니다!
    한가지 더 질문 드릴 것이 있는데요,
    외부 오디오가 있는 경우 무조건 외부 오디오로 교체 되어버리나요?
    가령 영상 원본에 영어음성이 있는 상태에서, 코멘터리 mp3 음성파일만 별도로 구해서 합치려 할 경우, 영상 원본의 영어음성이 사라지고 외부 코멘터리 음성만 남네요. ㅠㅠ
    제가 옵션을 잘못 만진 것인지, 어떻게 세팅 해야 하는지 궁금합니다.
    그리고 이 코멘터리 mp3 파일명에 DELAY 500ms 나 DELAY -500ms 값을 줘도 전혀 변화가 없네요.

    • 오디오 문제는 이 프로그램의 기본 컨셉입니다.

      오디오 딜레이 인식은 버그입니다.
      딜레이를 인식한 뒤에 반영하는 부분의 코드가 사라졌네요.
      누가 지웠… 은 아니고, 수정 중입니다.

    • 오디오 딜레이 미인식 버그 수정했습니다.
      확인 부탁드립니다.

    • COO 2013.01.21 03:07 신고

      아 너무너무너무 감사합니다!
      +딜레이 -딜레이 모두 잘 작동 하네요. 감동하고 있습니다. ㅠㅠ
      외부음성 합칠때 내부음성을 남겨두지 못하는건 어찌 할 수 없는 부분인가요? 그러나 지금 상태로도 너무너무 감사합니다.!

      쓰다보니 궁금한점이 자꾸 생겨서요..;;

      첫째로
      aac 코덱 외부 음성 파일의 확장자가 .aac일 경우에만 인식하고 .m4a 일 경우에는 인식을 안하나요?

      둘째로
      2가지 언어 자막을 넣을 경우에,
      하나의 smi 파일 안에 두가지 언어가 들어있는 경우에는 이상이 없지만,
      각각 다른 언어로 된 두개의 srt 파일을 가지고 작업했을 경우,
      팟플레이어 같은 PC 재생기에서는 '자막없음'으로 두고 무자막으로 감상하는게 가능한데,
      iOS 기본 동영상앱에서는 '자막 끔'으로 두더라도 반드시 한가지 자막이 출력되어서 무자막으로 감상하는게 불가능하네요.
      이건 제가 직접 MP4Box 가지고 프롬프트 명령어 방식으로 작업 해봐도 동일하게 발생하는 문제이긴 하던데요,
      작업할때 어떻게 설정하는 방법이 있는건지 궁금합니다.
      iOS의 문제라고 하기엔 smi 다중언어 파일로 작업하면 이런 문제가 없으니 더 궁금하구요.

      너무너무너무 감사합니다.!

    • 1. m4a 확장자는 별도로 인식하지 않습니다.
      몇 가지 이유가 있는데, 가장 큰 이유는 "m4a 확장자는 반드시 그 안에 하나의 aac가 들어있다"는 보장을 하지 않기 때문입니다.
      그냥 mp4 포맷 미디어 파일인데, "비디오는 안 들어있음"을 의미하기 때문에 제외했습니다.

      2. 어떤 상황인지 이해가 잘 되지 않습니다.
      내부적으로는 smi 다중 언어 파일을 srt 여러개로 변환해서 다시 처리하기 때문에, 두 경우 진행 과정은 100% 동일합니다.
      혹시 mp4box 자체의 버그일 수도 있을 것 같은데, 새 버전의 mp4box에서도 시험해보셨나요?

    • COO 2013.01.21 14:15 신고

      아 감사합니다. m4a에 대해서는 잘 알겠습니다. 참고하겠습니다.

      자막 관련하여 좀 더 다양하게 테스트 해봤습니다.
      위에 제가 언급드린 내용은 아주 단편적이었고 미숙한 점이 많았네요.

      정리하면,
      문제가 발생하는 경우는 음성이 2가지 이상인 동영상에 자막을 1가지 이상 넣었을 경우입니다.
      이 경우 iOS 기본 동영상앱에서 '자막 끔' 으로 설정하면
      현재 선택되어있는 음성의 언어와 동일한 언어의 자막이 출력됩니다.

      즉,
      영어+한국어 음성 코드가 적용된 동영상파일에, 영어+한국어 코드가 적용된 자막을 넣고,
      iOS 기본 동영상앱으로 재생할 때 '자막 끔' 으로 설정하면,
      영어 음성인 상태에서는 영어 자막이 출력되고, 한국어 음성인 상태에서는 한국어 자막이 출력됩니다.

      마찬가지로
      영어+한국어 음성에 한국어 자막만 넣고 '자막 끔' 설정하면
      영어 음성일때는 영어 자막이 없으니 자막이 꺼지는 효과가 나지만, 한국어 음성일때는 한국어 자막이 출력됩니다.

      smi, srt, mkv원본, mp4원본 가리지 않고 동일하게 발생합니다.

      PC 동영상 재생기에서는 이런 문제가 없으니 이게 iOS 쪽의 문제인건지는 모르겠네요.
      자막 언어 지정할때 전혀 다른 언어로 지정하는 꼼수(?)를 쓰면 임시로 해결할 수는 있을 것 같습니다.

      늘 감사드립니다.!!

    • 그렇게까지는 테스트를 안 해봤습니다.
      혹시 그렇게 만들어진 동영상이나 그 원본을 보내주실 수 없을까요?
      한번 확인해보고 싶습니다.
      머, iOS 쪽 버그였으면 하는 바램이 있습니다만… ㅎㅎㅎ

    • COO 2013.01.21 21:39 신고

      메일 드렸습니다.

    • 답장으로도 보내드렸습니다만…

      말씀하신 증상은 발생하지 않았습니다.
      모든 자막이 오디오와 무관하게 자막 설정에 따라 출력되는 것을 확인했습니다.

    • COO 2013.01.23 01:28 신고

      제가 폰으로는 동영상을 보지 않아 미처 확인 안해봤었는데
      정말 아이폰5 + iOS 6.0.2 에서는 아무런 문제가 없네요.

      그러나 아이패드 4세대 + iOS 6.0.1 에서는 문제가 발생합니다.
      그리고 아이폰 4S + iOS 6.0.1 에서도 문제가 발생하네요.
      '자막 끔'으로 설정하면 선택된 음성과 동일한 언어의 자막이 출력됩니다.

      아무래도 6.0.1 까지 문제가 발생하나 보네요.
      ㅎㅎ 여러모로 감사드립니다.

    • 수고하셨습니다.
      iOS 6.0.1의 버그라고 정리하면 될 것 같군요.

  4. ENVOY 2013.01.19 22:22 신고


    avast 백신 사용하시는 분들은 샌드박스 예외목록을 손보셔야 할듯해요~

    비디오 추출 실패 뜨길래 옵션이 잘못 되었나 싶어 여러번 시도해봐도 똑같길래 잠시나마 의심을 ... ^^
    죄송합니다. 이 좋은 프로그램을 의심하다니 ..
    감사히 잘 쓸게요~

  5. 에페보 2013.01.25 19:00 신고

    WMV 비디오나 AVI 비디오 변환시 수용불가 비디오 라거나 무슨 15개 초과? 이런 메시지가 뜨는데 이건 왜이러는지 아시나요?

  6. PLISSE 2013.01.28 15:34 신고

    가변프레임을 사용한 비디오를 인코딩했더니 싱크가 완전히 분리되네요.
    싱크재조정 기능에 가변프레임을 고려하는 요소가 있나싶어 체크해서 다시 인코딩해도 같은 결과물이 나오는 것 같습니다.

    내부에 프레임에 따른 타임코드를 계산하는 다른 소프트를 활용하면 가능할 것도 같은데 이를 활용하는 듯한 다른 인코더에서는 MP4 자막 옵션을 제대로 지원하는 것 같지 않아 혹시 이부분을 고려한 옵션을 추가가능한지 궁금해서 질문드립니다.

    굉장히 복잡한 문제일 것 같은데 건의드리기 죄송하네요. 프로그램은 무척 잘 쓰고 있습니다. 감사합니다.

    • VFR 비디오를 처리하도록 만들어뒀습니다.
      말씀하신 상황은 어떤 건지 잘 이해를 못 하겠군요.

      비디오와 작업 로그를 보내주시면 확인해보겠습니다.

    • PLISSE 2013.01.29 08:43 신고

      아 죄송합니다
      원본파일이 보관을 잘못했는데 깨져있었네요.
      다른 VFR 파일이 제대로 되는걸로 봐서 프로그램의 문제가 아니라 소스의 문제인 것 같습니다

      감사합니다.

  7. 우유 2013.02.03 00:01 신고

    안녕하세요. 지난 버전에선 .MP4 파일이 MP3인 경우 음성을 AAC로 바꾸려고 할 때 '확장자 오류!'라며 변환이 불가하였는데, 업데이트 된 버전에선 잘 됩니다. 고맙습니다. 잘 쓰겠습니다./

  8. 뽕구 2013.02.04 04:43 신고

    압축을 풀어도 Video Converter for iOS.exe 가 없는데

    어떡하죠?

    • qp 2013.02.06 11:15 신고

      압축 프로그램을 알집 쓰거나,
      백신을 알약 쓰거나 둘 중 하나겠네요.

      설마 없을까 하고 다운받아서 풀어봤네요.
      덕분에 올만에 업뎃했네요.

  9. xelloss 2013.02.08 02:32 신고

    답글을 달려고했더니 차단이되어서

    메일로 문의드렸습니다^^

    확인해주시면 감사하겠습니다^^/

    p.s : 메일에 언급한 6.9버전으로 변환하였는데 정상적으로

    변환이 완료되었습니다.

    다만 싱크가 어긋나네요. 3초정도 비디오 재생이 빠릅니다.



    [2013.02.08 00:21:53.281] Job log of VCi: Video Converter for iPhone v6.9
    [2013.02.08 00:21:53.281] OS Info: Microsoft Windows XP Professional Service Pack 3 (build 2600)
    [2013.02.08 00:21:53.281] Mem Info: 1388 MBytes of free physical memory (out of Total 2046 MBytes of physical memory, 32% in use)
    [2013.02.08 00:21:53.296] File check completed: ffmpeg, neroAacEnc, MP4Box, mkvextract, OGMDemuxer, normalize, pcmdownmix, MediaInfo, tc2mp4
    [2013.02.08 00:21:53.296] new path setting: F:\작업방\F\VIDEOC~1\tools\mp4box;%PATH%
    [2013.02.08 00:21:53.296] * Option: smaller than 4GB = 0
    [2013.02.08 00:21:53.296] * Option: Conversion Mode = 1
    [2013.02.08 00:21:53.296] * Option: Conversion Profile = 0
    [2013.02.08 00:21:53.296] * Option: Kindness of iPhone = 2
    [2013.02.08 00:21:53.296] * Option: 30fps check = 1
    [2013.02.08 00:21:53.296] * Option: Create VCi-DC = 0
    [2013.02.08 00:21:53.296] * Option: Overwrite VCi-DC to DC = 0
    [2013.02.08 00:21:53.296] * Option: Pixel Aspect Ratio mode = 2
    [2013.02.08 00:21:53.296] * Option: Deinterlace = 0
    [2013.02.08 00:21:53.296] * Option: Rotate Video = 0
    [2013.02.08 00:21:53.296] * Option: For Nightly = 0
    [2013.02.08 00:21:53.296] * Option: reencode AAC = 0
    [2013.02.08 00:21:53.296] * Option: designate Audio Language = 0
    [2013.02.08 00:21:53.296] * Option: Audio Language = 0
    [2013.02.08 00:21:53.296] * Option: Normalize Audio Volume = 0
    [2013.02.08 00:21:53.296] * Option: Encode AAC in 2 passes = 0
    [2013.02.08 00:21:53.296] * Option: Copy Original File Date = 0
    [2013.02.08 00:21:53.296] * Option: Big Subtitle = 0
    [2013.02.08 00:21:53.296] * Option: Desig ANSI Srt Language = 0
    [2013.02.08 00:21:53.296] * Option: ANSI Srt Language = 0
    [2013.02.08 00:21:53.296] * Option: Keep Temp Files Mode = 0
    [2013.02.08 00:21:53.296] * Option: Temp Folder = C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\
    [2013.02.08 00:21:53.296] * Option: use External Save Folder = 0
    [2013.02.08 00:21:53.296] * Option: Save Folder =
    [2013.02.08 00:21:53.296] Preparing job: 1/1
    [2013.02.08 00:21:53.296] GetTickCount() result: 19585140
    [2013.02.08 00:21:53.312] Source filename: E:\Macross Frontier Itsuwari no Utahime 2009 MOVIE BDRIP 1080P H264 AAC.mkv
    [2013.02.08 00:21:53.640] containder format: MKV
    [2013.02.08 00:21:53.640] internal audio count: 1 / internal subtitle count: 3
    [2013.02.08 00:21:53.640] video format: H.264
    [2013.02.08 00:21:53.640] CString → char* → atof (current FPS): 23.976 → 23.976
    [2013.02.08 00:21:53.640] resolution: 1920x1080 / 23.976 fps / 14281573 bps / 173138 frames
    [2013.02.08 00:21:53.640] Source file size: 12294 MByte
    [2013.02.08 00:21:53.640] external subtitle file: E:\Macross Frontier Itsuwari no Utahime 2009 MOVIE BDRIP 1080P H264 AAC.smi
    [2013.02.08 00:21:53.640] iInternalAudio = 0
    [2013.02.08 00:21:53.640] Converting SAMI subtitle(s) to SRT
    [2013.02.08 00:21:53.718] 1 subtitle(s) extracted & converted
    [2013.02.08 00:21:53.734] File info: MKV / H.264(1920x1080, 23.976fps, 14.281Mbps, 173,138fr) / DTS(int) / SAMI(ext)
    [2013.02.08 00:21:53.734] Extracting and Converting audio to PCM
    [2013.02.08 00:21:53.734] - C: drive free space: 22,486MB
    [2013.02.08 00:21:53.734] > F:\작업방\F\VIDEOC~1\tools\ffmpeg\ffmpeg.exe -i "E:\MACROS~1.MKV" -vn -acodec pcm_s16le -ac 2 "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\extractedaudio.wav"
    [2013.02.08 00:38:30.750] Audio extraction finished
    [2013.02.08 00:38:30.765] Audio file name: C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\extractedaudio.wav
    [2013.02.08 00:38:30.765] Converting audio to AAC
    [2013.02.08 00:38:30.765] - C: drive free space: 21,178MB
    [2013.02.08 00:38:30.765] > F:\작업방\F\VIDEOC~1\tools\NEROAA~1\NEROAA~1.EXE -lc -br 136000 -if "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\extractedaudio.wav" -of "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\temp.aac"
    [2013.02.08 00:48:05.500] Audio conversion finished
    [2013.02.08 00:48:05.500] AAC Filename: C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\temp.aac
    [2013.02.08 00:48:06.625] > F:\작업방\F\VIDEOC~1\tools\mp4box\MP4Box.exe -ttxt "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\MACROS~1.SMI.1.srt"
    [2013.02.08 00:48:07.234] SRT → TTXT conversion: C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\MACROS~1.SMI.1.srt → C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\MACROS~1.SMI.1.ttxt
    [2013.02.08 00:48:07.328] Extracting H.264 video and 3 subtitle(s) from MKV
    [2013.02.08 00:48:07.328] - C: drive free space: 21,038MB
    [2013.02.08 00:48:07.328] > F:\작업방\F\VIDEOC~1\tools\MKVTOO~1\MKVEXT~1.EXE tracks "E:\MACROS~1.MKV" 1:"C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\temp.h264"
    [2013.02.08 01:15:58.312] Video extraction finished
    [2013.02.08 01:15:58.375] CString → char* → atof (getting H.264 max level): 23.976 → 23.976
    [2013.02.08 01:15:58.390] MP4Box video option: -add "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\temp.h264":fps=23.976:level=4.1
    [2013.02.08 01:15:58.390] source Pixel Aspect Ratio: 1 (1:1)
    [2013.02.08 01:15:58.390] target Pixel Aspect Ratio: 1 (1:1)
    [2013.02.08 01:15:58.406] Muxing final MP4 file
    [2013.02.08 01:15:58.406] - E: drive free space: 26,212MB
    [2013.02.08 01:15:58.406] > F:\작업방\F\VIDEOC~1\tools\mp4box\MP4Box.exe -ipod -add "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\temp.h264":fps=23.976:level=4.1:delay=0:par=1:1 -add "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\temp.aac":delay=5070 -add "C:\DOCUME~1\xelloss\LOCALS~1\Temp\VCi\MACROS~1.SMI.1.ttxt":lang=ko:layout=0x60x0x-1:hdlr=sbtl:group=2 "E:\progressing.mp4"
    [2013.02.08 02:01:35.421] Mux finished
    [2013.02.08 02:01:40.015] GetTickCount() result: 25571859
    [2013.02.08 02:01:40.078] removing temporary files
    [2013.02.08 02:01:40.203] job fnished

    로그 남깁니다^^

    • 답장 드렸습니다.
      옵션을 하나 추가하는 방향을 고민해보겠습니다.

      댓글 차단 문제는 뭐 드릴 말씀이 없네요.
      이놈의 티스토리...
      모바일에선 제가 답글을 달아도 차단되더군요. OTL

    • xelloss 2013.02.08 03:36 신고

      네 감사합니다^^

      원본파일은 준비되는데로 보내드리도록하겠습니다^^/

  10. 윤영우 2013.02.08 20:07 신고

    감사합니다. 2년을 필요한 경우에 VCI를 유용하게 써오고 있는데요. 버전업을 해주셔서 진심으로 감사드립니다.

  11. 김정인 2013.03.12 19:32 신고

    PSV에 적용해서 쓰고 있는데 아주 유용하군요
    그런데,설정에 영상에 "입히는"자막 설정을 만들어주실수 있을까요??(인코딩을 자막이랑 하면 나오는것처럼요)
    기기에서 멋대로 자막을 입혀도 감춰버리게 인식해서,자막을 볼수가 없네요... ㅠㅜ
    제발 부탁드립니다...ㅠㅜ

  12. bum 2013.03.19 21:26 신고

    오랫만에 다시 왔습니다. :) 와보니 엄청난 버전업이!!
    고맙게 잘 쓰고 있습니다..

    한가지 질문과 한가지 기능 건의가 있습니다

    질문은, 현재 mp4 내장자막에 컬러를 지원해 주는 것은 제가 알기론 VCi 가 유일합니다. 임시파일을 보니 srt가 생성되고 ttxt가 생성되어 최종 합칠때는 ttxt를 사용하는 것 같은데 이게 비밀일까요?
    다른 mp4, m4v프로그램으로 인코딩을 하고 자막만 VCi의 방법으로 입혀보고 싶은데 장님 코끼리 다리 만지는 느낌입니다. :)

    기능 건의는 오디오가 DTS등 멀티채널 소스일 경우 AC-3로 변환하고 동시에 AAC 2채널 다운믹스한 오디오가 같이 추가되게 할 수 있을까요?
    예를들어 소스가 : DTS-HDMA 5.1 인 경우 VCi를 통과하면 AC3 5.1과 AAC 2채널 두개가 생성되는 것으로요.

    영구 소장하고 싶은 것들의 경우 깔끔한 자막을 자막 컬러까지 넣고 싶은데 이게 가능한 것은 VCi가 유일하고 다채널 오디오를 AC3 다채널과 AAC 2채널 두버전으로 변환해서 넣어 주는 것은 다른 인코더만 가능해서 현재 저는 각각 두 프로그램으로 인코딩 하고 AC3만 따로 빼내어서 VCi의 결과물에 추가하는 방법을 쓰고 있습니다 --;;;

    혹은 여유가 되시면 이미 인코딩된 mp4, m4v에 자막만 전문적으로 넣은 프로그램을.... :)

    추후 버전업을 한다면, 혹은 상용버전을 만든다면 themoviedb 같은데서 영상정보를 자동으로 가져오는 기능도 있음 멋지겠네요

    제가 맥이라서 불편은 하지만 매번 패러럴스를 띄워 사용할 만큼 멋진 VCi감사드립니다..
    ps. 매번 말씀드리지만 맥용으로 상용버전을 만드시면 맥용을 만들기 위해 구입하신 애플제품 가격이상은 뽑으실 텐데.. ㅜㅜ. 기기를 팍 드리고 부탁을 해야는데 참..

    • 1. srt를 ttxt로 변환한 뒤에 다시 srt의 칼라 코드를 파싱해서 ttxt에 입힙니다.
      비밀까지는 아니고 잘 알려진 스펙인데, 희안하게 그걸 지원하는 인코더가 없더군요. ㅡ.ㅡ;

      2. AC3와 AAC가 함께 들어있으면 이게 iDevice에 올라가는지 모르겠습니다.
      아마 안 되는 걸로 알고 있는데요…
      일단 이 프로그램의 지향점은 iDevice에 올리는 것이라서요.

      혹시 원하시는 기능을 제가 잘 이해하지 못했으면 부가설명 부탁드립니다.
      지금은 좀 많이 정신 없는데, 조만간 시간이 좀 날 것 같습니다.

      건의 고맙습니다.

      3. 상용화는 불가능합니다.
      이 프로그램은 다양한 프리웨어의 프론트엔드이기 때문입니다.
      전 그 개발자분들이랑 등질 생각 없습니다. ㅎㅎ

      Donate-ware로 돌리는 건 생각은 해보고 있습니다.

      4. 영상정보를 자동으로 가져오는 부분은 뭘 말씀하시는지 모르겠습니다.
      불러오는 방법도 모르겠지만, 불러온 뒤에 활용할 수 있는 곳이 있을까 싶습니다.

      5. 저도 로또같이 하늘에서 눈먼 돈이 떨어지면 맥 하나 사서 이거랑 Notepad2-mod를 맥 용으로 만들어보고 싶습니다만, 지금은 돈도 시간도 없습니다. ㅠ.ㅠ

    • bum 2013.03.21 20:56 신고

      자세한 답신 감사드립니다!
      자막의 컬러처리가 생각보다 여러단계를 거치는 군요. 전 일단 포기해야 겠습니다. 혹시 다음 버전에 시간이 되신다면 이미 변환된 mp4, m4v에 대해 자막만 추가하기 기능이 들어갈 수 있으면 멋질 듯 합니다.. ^^;

      상용화는 불가능 하군요.. :) 도네이션웨어는 제약이 없다면 이도 좋을 듯 합니다. 정말 VCi를 잘 쓰시는 분들이 많으시니. 솔직히 애플제품 여러개 가지고 노는 저같은 사람에게는 제일 좋은 프로그램입니다.

      2번의 경우 들어가는 것 같습니다. 실제로 제 아이패드에서 플레이가 됩니다. 단지 오디오 선택이 AAC만 되고 AC3는 선택할수 없습니다
      그래도 이게 필요한 이유는 애플티비때문입니다. 애플티비나 퀵타임 혹은 기타 동영상 프로그램에서는 지원을 하더라구요. 저는 VCi를 소장용 동영상에도 사용을 해서. :) 15GB정도 하는 mkv변환도 깔끔하게 되어 좋습니다. 다만 소장용인데 오디오를 포기해야 해서..

      혹시 필요하실까 봐 한 파일의 오디오 정보를 첨부합니다

      그리고 영상정보는 영화정보, 드라마정보를 자동으로 가져와서 태깅하는 기능을 말씀드렸던 것입니다. 파일 이름에서 드라마의 이름과 시즌, 에피소드를 유추해서 공개DB에서 가져오는. subler 같은 프로그램에서 지원을 하더라구요

      오디오 #1
      ID : 2
      포맷 : AAC
      포맷/정보 : Advanced Audio Codec
      포맷 프로파일 : LC
      코덱 ID : 40
      길이 : 43분 15초
      비트레이트 모드 : 변동
      비트레이트 : 160 Kbps
      최고 비트레이트 : 208 Kbps
      채널 : 2 채널
      채널 위치 : Front: L R
      샘플링레이트 : 48.0 KHz
      비디오 딜레이 : 83미리초
      스트림 크기 : 49.5 MiB (4%)
      제목 : Stereo
      언어 : English
      인코딩 날짜 : UTC 2013-03-10 09:51:56
      태깅한 날짜 : UTC 2013-03-10 09:52:06

      오디오 #2
      ID : 3
      포맷 : AC-3
      포맷/정보 : Audio Coding 3
      Format_Settings_ModeExtension : CM (complete main)
      포맷 설정, Endianness : Big
      코덱 ID : ac-3
      길이 : 43분 15초
      비트레이트 모드 : 고정
      비트레이트 : 384 Kbps
      채널 : 6 채널
      채널 위치 : Front: L C R, Side: L R, LFE
      샘플링레이트 : 48.0 KHz
      BitDepth/String : 16 비트
      비디오 딜레이 : 83미리초
      스트림 크기 : 119 MiB (8%)
      제목 : Surround
      언어 : English
      인코딩 날짜 : UTC 2013-03-10 09:52:01
      태깅한 날짜 : UTC 2013-03-10 09:52:06

    • 시간이 나면 종합적으로 확인해보고 방향을 잡아보겠습니다.

    • bum 2013.03.28 22:32 신고

      감사합니다! :)

  13. elaborator 2013.03.20 13:18 신고

    좋은 프로그램 감사합니다.
    얼마전부터 사용하기 시작했는데, 너무 좋네요.

    기능도 많고, 변환도 잘되고요.

    다음 버전에 고려해주셨으면 하는 것이 있어서 말씀드립니다.

    1. 변환결과 파일명
    - 앞에 i) 또는 id) 등과 같은 prefix가 붙는데요.
    이것을 옵션화하면 어떨까요? 물론, 동일한 파일 포맷인 경우에는 문제가 될터이니,
    앞에 prefix를 안쓰는 경우에는 원본파일의 하위폴더에 별도의 폴더에 동일한 파일명
    으로 저장되면 좋을 것 같아요.

    2. 변환 진행율
    - 변환되는 진행율을 프로그래스바로 보여주면 좋을 것 같아요.
    - 맨 아래 하단에 보면 각각의 상태값이 있기는 한데요. 이것을 기반으로 프로그래스바
    형태로 보여주면 좋지 않을까요?
    물론, 각 변환되는 여러과정중에 있기 때문에 정확하지는 않을수 있어도, 가시적인 부분은 좋을 것 같습니다.

    3. 프로세서 사용율
    - 변환되는 과정중에 프로세스를 full로 쓰는 부분들이 존재하는데요.
    물론, PC 성능에 따라 조절이 되기는 하지만, 최대 cpu 사용율을 조정할 수 있도록 하면 좋지 않을까요?

    4. 폴더단위 변환
    - 파일단위의 선택 또는 drag_drop으로 변환을 하는데요.
    - 폴더를 선택했을때도 변환이 되면 좋을 것 같습니다.
    -> 이미 있는데, 제가 못찾는지는 모르겠습니다.

    5. 음량 보정
    - 음량 보정을 % 또는 수치형태로 조절이 가능하면 좋을 것 같습니다.
    현재는 check로만 되어 있어서, 어느정도로 보정을 할지에 대한 부분이 없어서, 변환후 확인을 해야만 해서요.

    개발이라는 것이 힘든것을 알면서, 많은 기능을 요청(아니, 제안) 드림에 죄송하네요.

    이상이며, 좋은 프로그램 개발 및 배포해주셔서 감사하고요.
    잘쓰겠습니다.

    • 1. mp4→mp4 변환의 경우 뭔가를 붙일 수 밖에 없습니다.
      이왕 붙이는 거 전체적인 일관성을 유지하기로 한 거구요.

      2. 불가능합니다. ㅠ.ㅠ
      각 프로그레스를 다 캐치해보려 했는데, 서로서로 형태가 달라 포기했습니다.

      3. 이것 역시 도전해봤는데, 어떻게 하는지를 모르겠더군요. OTL

      4. 무조건 파일 단위로 합니다.
      프로그램 자체 컨셉이라 뜯어고치기 힘듭니다.

      5. 한번 생각해보겠습니다.
      흥미로운 접근일 것 같군요.
      근데, 구현은 그리 어려울 것 같지 않은데, 굳이 필요할까 싶군요.

    • elaborator 2013.03.22 10:24 신고

      답변 감사합니다.

      1번은 mp4->mp4는 이해를 했습니다. 그런데, 변환하는 과정을 보면, 임시폴더에 변환완료후에 원본 폴더로 이동하던데요. 이때, prefix 사용하지 않는 경우에는 원본폴더의 하위 폴더에 prefix 없이 저장되면 어떨까 생각했었습니다.

      2~4번은 보기에는 간단한 기능으로 보일지 몰라도 프로그램 처리함에 복잡하고, 어려울 수도 있을 것 같습니다. 이해가 됩니다.

      암튼, 좋은 프로그램 공유해주셔서 감사하고요.

      그럼, 즐겁고 행복한 하루 보내세요.

    • elaborator 2013.03.22 15:44 신고

      CPU 사용율에 대해서 다음의 부분을 적용하면 어떠할런지요?
      CPU 점유율이 full로 사용하는 경우는 ffmpeg의 경우가 대부분이던데요.

      ffmpeg의 convert 실행옵션에 -threads, -cpu-used 옵션을 사용하면 될듯도 한데요.

      -threads의 경우 로컬컴퓨터의 cpu 수에 대한 상대적인 값이니, 로컬컴퓨터의 cpu 수를 먼저 체크하고, 사용할 갯수만큼 적용하면 될듯 합니다.

      그럼, 참고해주세요.

    • 그렇군요. 좋은 아이디어입니다.
      시간이 나면 종합적으로 검토해보겠습니다.

  14. Favicon of http://hkmade.egloos.com BlogIcon hkmade 2013.04.11 21:37 신고

    정말 잘 사용하고 있습니다. :) 한가지 궁금한게 기존의 mkv나 avi를 이걸로 mp4로 변환후에 기존화일들은 몽땅 다 지워버렸는데.. air video로 재생시에 이 mp4화일중에는 자막이 안보이는 것이 상당히 많더군요. (역시 한글자막사용자의 슬픔..)
    그래서인지 혹시 mp4화일에서 자막만 추출하는 방법이 없을까요? (검색해보니 mp4box를 이용해서 추출할수 있다고 해서 따라해봤는데. 안되더라구요. ㅎㅎ)

  15. Ama 2013.04.11 23:06 신고

    필요시 비디오 재인코딩 옵션으로 사용중입니다.

    그런데 비디오 변환중에..
    ffmpeg.exe 작동이 중지되었습니다.

    라는 에러창이 계속 떠서 변환이 제대로 되질 않네요..

    저와 같은 증상 있으신분은 없으신지요?

  16. A 2013.04.13 13:26 신고

    좋은 프로그램 만들어주셔서 감사합니다 ^_^

  17. Mac 2013.04.14 11:33 신고

    맥용으로 툴 만드실 생각은 없으신가요 ㅜ_ㅜ ...
    절실해요~!

  18. 잘쓰고있는중 2013.04.25 02:15 신고

    좋은 프로그램 감사합니다. 잘 쓰고 있습니다:)
    그런데, MKV를 변환할때 내부자막을 안나오게 하는 방법은 없나요?
    있다면 알려주시면 감사하겠습니다;;
    그리고 없다면, 혹시 나중에 옵션으로 넣어 주실 수 없으신지요..
    영상만 인코딩해서 자막은 나중에 따로 외부자막으로 쓰려합니다.
    물론, 이건 아이폰에 넣는 용도 외에 PC에서 보려할때 입니다:P
    항상 건강하세요:D

  19. 2013.05.08 16:12

    비밀댓글입니다

  20. OutCoDing 2014.10.10 19:31 신고

    엘펜리트....

  21. 홍콩명품 2018.09.01 00:22 신고

    네이트온 jjtrade 이메일 문의 2292985460@qq.com

+ Recent posts