iDevice용 동영상 변환기를 12.0으로 업데이트[각주:1]했다. 

12.0은 11.8a 이후 두달만의 업데이트이다.


이번 업데이트에서는 전체적으로 코드를 정비하고, 미디어 관련 프로그램들을 전반적으로 업데이트하여 안정성을 보강했다.

또한, 대상 장비를 아이폰 4s(및 구형 아이패드) 이상과 5s(및 아이패드 에어 이상)으로 구분하였다.



변환기는 아래 링크에서 다운받을 수 있으며, 여전히 별도의 설치 프로그램따위는 없다.


iTrans_20160606_12_1b_4640.part1.rar

iTrans_20160606_12_1b_4640.part2.rar


관심 있는 분들의 수많은 지적과 질타 부탁드립니다. 이 프로그램은 여러분 덕에 완성되어 갑니다.




▲ iTrans의 상세한 기능 및 특징


#일반


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

  지원 포맷:AVI, MKV, MP4(mov), MOV(qt)MPG(mpeg/dat/vob/m2ts/mts/mxf/ts/tp),

                    Real Media, OGM, FLV, WMV(asf), SWF, WebM


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


3. 결과 파일은 기본적으로 원본 파일명 앞에 prefix로 i)를 붙임

  단, 옵션에서 반드시 필요한 경우에만 이 prefix를 붙이도록 지정할 수 있음


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


5. 변환 종료시 XP 이하에서는 전원 종료, Vista 이상에서는 최대 절전 모드로 전환할 수 있음



#비디오


6. iDevice에서 재생되는 동영상 외에 FHD, WQHD, UHD, 4K[각주:2]  동영상을 생성할 수 있음

  이 경우에는 주변에 레터박스를 추가하여 정확한 해상도를 맞춰서 변환함


7. iDevice를 대상으로 할 땐, 원본 비디오가 mpeg4/H.264인 경우는 상세한 압축 옵션 확인후

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

  재생 가능 여부는 iOS 5.x에서 수정된 규칙[각주:3]에 따라 확인함

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


8. 비디오 재인코딩은 FFmpeg을 사용하며, thread 개수를 사용자가 지정할 수 있고,
  재인코딩시 디인터레이스 및 영상을 회전시킬 수 있음


9. 비디오 재인코딩시 fps는 원본의 값을 준용, 비트레이트는 원본의 값을 기준으로 비율 지정하는 것이 기본임

  단, 옵션에서 fps[각주:4] 및 비트레이트[각주:5]를 특정 값으로 강제 지정하는 것도 가능함


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

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

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

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

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

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

  ※ FHD 이상의 모드에서도 이와 유사하게 동작


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

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

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


12. PAR/SAR를 확인하고 수정할 수 있음

  - PAR 유지: PAR를 그대로 사용함

  - PAR=1:1 : PAR를 강제로 1:1로 수정함

  - PAR<1.5(2.0): PAR이 일정 범위 이내면 그대로 사용, 범위를 벗어나면 1:1로 수정 (추천)

  - SAR=3:2 : SAR를 3:2로 강제 설정. 아이폰3GS~4에서 무조건 꽉찬 화면으로 재생됨 (화면비 왜곡)

  - SAR=16:9 : SAR를 16:9로 강제 설정. 아이폰5 이상에서 무조건 꽉찬 화면으로 재생됨 (화면비 왜곡)

  - SAR=4:3 : SAR를 4:3으로 강제 설정. 아이패드에서 무조건 꽉찬 화면으로 재생됨 (화면비 왜곡)


13. 비디오 재압축 필요 여부를 확인할 수 있음

Ctrl 키를 누르며 변환 버튼을 클릭하면 변환하지 않고, 재압축 필요 여부만 확인함



#오디오


14. 원본 파일과 같은 이름의 오디오 파일이 같은 폴더에 있으면 내부 오디오 대신 그 파일을 사용함.

  단, 옵션에서 지정시 내부 오디오와 외부 오디오를 동시에 적용할 수 있음.


15. 오디오 스트림은 가능한 AAC-LC로 변환후 합침

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


16. 오디오 인코딩시 2 채널 downmix를 하지 않을 수 있음
  이 경우는 iDevice에선 재생이 되지 않지만, 보존용으로는 사용이 가능한 수준의 음질이 나옴

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

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


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

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


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

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

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

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

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


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

  AAC → WAV → FLAC → DTS-HD → TrueHD → DTS → AC3 → MP3 → MP2 → MPGA → OGG → WMA

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


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


22. 변환 대상 오디오가 AC3인 경우, 사용자 선택 시 이 AC3도 파일에 포함시킬 수 있음



#자막


23. 원본 파일과 같은 이름의 자막 파일이 같은 폴더에 있으면 내부 자막 대신 그 파일을 사용함.

  단, 옵션에서 지정시 내부 자막과 외부 자막을 동시에 적용할 수 있음.


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

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

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

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


25. 외부 자막이 SRT일 때 파일명에 언어가 명시되면 인식


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


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

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


오디오/자막을 언어 기준으로 선택 가능


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

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



#챕터


29. MKV/MP4 파일에 포함된 챕터 정보를 인식하여 iOS용 챕터로 변환함


챕터도 여전히 잘 지원함


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

  단, 비디오가 ogm 포맷인 경우 확장자 충돌 문제가 있어 xml 챕터만 인식함


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


CHAPTER01=00:00:00.000

CHAPTER01NAME=Intro

CHAPTER02=00:01:00.000

CHAPTER02NAME=Act 1


 ※ xml 챕터 포맷은 아래와 같은 구조임, 역시 mp4/mkv 에서 이 형식으로 손쉽게 추출 가능함


<?xml version="1.0" encoding="utf-8"?>
<Chapters>
    <EditionEntry>
        <EditionFlagHidden>0</EditionFlagHidden>
        <EditionFlagDefault>0</EditionFlagDefault>
        <ChapterAtom>
            <ChapterDisplay>
                <ChapterString>Intro</ChapterString>
                <ChapterLanguage>eng</ChapterLanguage>
            </ChapterDisplay>
            <ChapterTimeStart>00:00:00</ChapterTimeStart>
            <ChapterFlagHidden>0</ChapterFlagHidden>
            <ChapterFlagEnabled>1</ChapterFlagEnabled>
        </ChapterAtom>
        <ChapterAtom>
            <ChapterDisplay>
                <ChapterString>Act 1</ChapterString>
                <ChapterLanguage>eng</ChapterLanguage>
            </ChapterDisplay>
            <ChapterTimeStart>00:01:00.000000</ChapterTimeStart>
            <ChapterFlagHidden>0</ChapterFlagHidden>
            <ChapterFlagEnabled>1</ChapterFlagEnabled>
        </ChapterAtom>
    </EditionEntry>
</Chapters>


#기타


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


32. 비디오와 같은 파일명의 jpeg/png 파일이 있으면 커버 아트로 설정함.

  옵션에서 선택시 커버 아트 파일이 없어도 자동으로 커버 아트를 추출해서 사용함.


33. 아이폰4 이상 뿐만 아니라, 아이폰 3GS, 아이패드 모두 사용 가능함


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

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

  저장위치는 \\HKEY_CURRENT_USER\Software\BLUEnLIVE\iTrans 임


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

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

  FFmpeg, MediaInfo, MP4Box, Nero AAC Encoder


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

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

  단, MP4Box는 오직 .\tools\에 있는 것만 사용함. (관련 포스트 "갈수록 이상해지는 mp4box")




▲ 버전 히스토리


2016.2.10: 12.0

- FFmpeg을 2.8.6으로 업데이트

- MediaInfo를 0.7.82로 업데이트

- MP4Box0.5.1-DEV-rev4929[각주:8] 업데이트

- 대상 장비를 4s 이상과 5s 이상으로 분리

- 기본 대상 장비를 4s 이상에서 5s 이상으로 변경

- 버그 수정: 비디오 인코딩 여부 확인시에도 중단 버튼이 동작하도록 수정

- 버그 수정: 변환/확인 작업이 진행중일 때 잠깐동안 변환/확인 버튼을 누를 수 있던 문제 수정

- UI 및 로그에 긴 숫자 출력시 3자리마다 컴마를 표시하도록 수정

- 재인코딩 시 비트레이트 계산을 좀 더 정확하게 하도록 수정

- 버그 수정: 내부 자막을 추출할 필요가 없을 때에도 추출하는 오류 수정

- 인식하는 코덱에 Apple ProRes 추가

- ASS 변환 및 SRT 자막 처리 코드 최적화 등 전반적인 코드 최적화


2016.2.24: 12.1

- FFmpeg3.0.1로 업데이트

- MediaInfo를 0.7.84로 업데이트

- 비디오 회전시 FFmpeg 최신 버전의 기능(원본의 회전 정보 자동 반영) 반영

- 비디오 재인코딩시 영상 회전 정보만 기록하는 기능 제거


2016.6.6: 12.1b

- MediaInfo를 0.7.85로 업데이트

- 버그 수정: ass 자막을 제대로 인식 못하는 오류 수정

- 버그 수정: fps가 너무 큰 경우 메시지 오류 수정

- 30fps 이하 여부를 확인하는 기능 제거

- 해당 비디오 프로파일에서 재생 가능한 fps인지 확인하는 기능 추가

- UI에 스핀 컨트롤 추가(음량, 오디오 bit rate, ffmpeg 스레드 개수)

- 오디오 bit rate를 자유롭게 입력 가능하도록 수정



  1. 2016.6.6에 12.1b로 업데이트 [본문으로]
  2. FHD(1920x1080), WQHD(2560x1440), UHD(3840x2160), 4K(4096x2160) [본문으로]
  3. 여기 설명된 내용에 추가하여 10 bits AVC도 재생할 수 없음 [본문으로]
  4. 23.976, 25.0, 29.97, 60.0fps [본문으로]
  5. 1.5Mbps, 3.0Mbps, 6.0Mbps [본문으로]
  6. 언어ID는 알파벳 2개 또는 3개로 구성됨. ex) ko, ja, en 등 [본문으로]
  7. 대용량 비디오(4K 해상도의 H.265 비디오라든가…)를 변환할 때는 x86용과 x64용 ffmpeg의 성능 차이가 크게 발생함. 64비트 환경이라면 ffmpeg x64 버전을 경로에 지정해서 사용하는 것을 강추함. [본문으로]
  8. 현재는 0.5.2가 개발 중이고, 0.5.1의 안정화 버전도 존재하지만, 경험상 이 버전이 가장 안정적으로 판단됨 [본문으로]
신고
  1. 넥부심's 2016.02.13 23:09 신고

    감사합니다! 잘쓸게요 ㅎ

  2. BlueNIX 2016.02.23 05:17 신고

    감사합니다~ 항상 건강하세요~

  3. 2016.02.26 06:28

    비밀댓글입니다

  4. sana2294 2016.03.01 00:29 신고

    잘쓰겠습니다. 건강하세요~

  5. 하하핫 2016.03.15 10:11 신고

    좋은 프로그램 늘 잘 사용하고 있습니다. 근데 몇가지 질문사항이 있습니다.
    1. 제가 아이폰에서 볼 영상을 인코딩할때엔
    기본설정 5s이상, 필요시 비디오 재 인코딩, default, de-interlace, 원본 비트레이트, PAR<1.5, 원본 FPS, 오디오 부분 설정은 아무것도 건드리지 않은 채
    인코딩을 진행 하는데, 이 경우 최대한 원본 영상의 크기와 설정을 유지한채 인코딩하는경우가 맞나요?
    2. 이 질문을 드리는 이유는 제가 가지고있는 1080의 영상의 경우 ts 파일이 많은데 크롬캐스트에서 지원이 안되는 파일이라 최대한 화질과 음질 모든걸 유지한채 mp4파일로 변환하고 싶어서 질문 드립니다. 크롬캐스트도 mpeg4/H.264 형식의 파일만 지원하는거 같더라구요.

    • Favicon of http://teus.me BlogIcon BLUEnLIVE 2016.03.15 20:55 신고

      그렇습니다.
      그 설정이면 최대한 원본 영상의 상태를 유지한채 인코딩합니다.

    • 하하핫 2016.03.16 11:42 신고

      답변 감사합니다! 늘 좋은프로그램만들어 주신것도 감사합니다!

  6. Favicon of http://beoblasa.tistory.com BlogIcon 법라스님 2016.03.20 10:59 신고

    안녕하세요. 운영자님께서 만들어주신 이 프로그램 덕분에,
    그동안 여러 영상들을 변환하면서 강의실에서 교육용 자료로 잘 활용해왔습니다.
    늘 감사했습니다. iTrans 9버전 때부터 사용해왔습니다.

    http://www.kimsch.net/flash/dream.swf

    이 플래시 자료를 mp4로 화질을 가장 좋게끔 변환하고자 합니다.
    유명하다는 인코더 대부분 써봐도 잘 되지 않더라고요. 좋은 방법이 있을까요?

    • Favicon of http://teus.me BlogIcon BLUEnLIVE 2016.03.22 21:49 신고

      이런 파일은 이 프로그램으로는 변환할 수가 없습니다.
      도움이 되기 어려울 것 같네요.

  7. db0214 2016.05.06 04:32 신고

    덕분에 잘사용하고 있습니다^^ 그런데 이번꺼 반디집으로 압축풀어서 사용하려고 하는데 주요파일이 없음 이라고 에러뜹니다.
    혹시나해서 전버전 해봤는데 에러가 없네요. 다른분들은 잘 되시는거 같은데 제꺼 뭐가 문제일까요?

  8. 궁금이 2016.05.16 15:37 신고

    오랜만에 방문해보았는데... 여전히 업데이트를 하시는군요. 대단 하십니다.

  9. junhe 2016.05.28 14:52 신고

    마음이 따뜻한 분인것 같아요. 평소에 다음 팟인코더 사용하면서, 왜이렇게 변환 시간이 걸릴까, 의아해 했는데...!!
    프로그램의 성능, 정말 훌륭합니다!!!!!

  10. badboy 2016.05.28 18:51 신고

    ass 자막 통합 안되네요
    Law.and.Order.SVU.S17E23.HDTV.x264-FLEET.ass
    Law.and.Order.SVU.S17E23.HDTV.x264-FLEET.mkv

    연락주시면 파일 보내드릴께요

  11. 사용자 2016.06.15 12:43 신고

    여러 용도로 잘 활용하고 있습니다.

    필요한 기능이 있어서 댓글 남깁니다.
    자막 입히기 기능에서 자막 위치를 조정할수 있는 옵션은 추가가 어려울까요 ?

  12. 정말 감사합니다 2016.06.26 11:39 신고

    이런게 있는지 모르고 다음팟 인코더 가지고 끙끙대고 있었네요
    그런데 옛날버전 '아이폰 4 동영상 변환기' 글에 더이상 프로그램 손 안본다고 설명이 돼있어서 최신버전이 있는지 모르고 그걸 사용하고 있었습니다.. ㅎㅎ

    얼마전까진 무인코딩 동영상앱이 좋아서 그것만 사용하다가
    몇몇 어학용 플레이어 앱에서는 mp4만 지원을 해서 다시 인코딩을 하고 있는데 정말 편하고 좋네요

    영상 감상용으로 끝난다면 무인코딩 동영상 앱으로 해결되지만 여러가지 유용한 기능이 있는 플레이어 앱들은 mp4만 지원하는 경우가 많기때문에 이 프로그램이 필수입니다

    정말 감사합니다!

  13. 고마확마 2016.07.16 19:31 신고

    안녕하세요 mp4box 에러가 발생하는 문제로 아래에 있는 메일 주소로 파일을 보냈습니다. 확인부탁드립니다..

    • 고마확마 2016.07.16 20:23 신고

      자문자답입니다. http://download.tsi.telecom-paristech.fr/gpac/latest_builds/win64/
      에 있는 GPAC 빌드에 있는 mp4box 로 교체하니 해결되었습니다

  14. 고마확마 2016.07.17 17:16 신고

    안녕하세요, 영상 사이즈가 720x404 인것은 사이즈를 원본크기로 유지하는 옵션도 있으면 좋겠습니다.

  15. 고마확마 2016.07.18 09:33 신고

    5s 로 항상 설정되어 있는데요, 1280x 영상은 652x 인가.. 그걸로 줄어들던데요.. 다시한번 해볼께요..

    • Favicon of http://teus.me BlogIcon BLUEnLIVE 2016.07.18 13:42 신고

      뭔가 이상하네요.
      동영상을 보내주시면 확인해보도록 하겠습니다.

  16. 2016.07.19 13:26

    비밀댓글입니다

  17. dream4car 2017.08.06 01:22 신고

    참으로 감사드립니다.
    잘 쓰겠습니다. ^^

+ Recent posts