iDevice용 동영상 변환기를 17.4a로 업데이트 했다.
17.x대 업데이트에서 가장 크게 변경된 부분은 NVIDIA NVENC와 함께 인텔® 퀵 싱크 비디오, AMD AMF를 지원하도록 수정된 것이다.
이를 좀 더 잘 지원할 수 있도록 이전에 수행한 테스트의 결과 및 추가 테스트의 결과를 옵션에 포함시켰다.
또한, 이전 버전에서 가끔 시험적으로 지원했던 UTF-8 형식의 명령행 기능을 옵션으로 추가했다.
변환기는 아래 링크에서 다운받을 수 있으며, 여전히 별도의 설치 프로그램따위는 없다.
password: teus.me
관심 있는 분들의 수많은 지적과 질타 부탁드립니다. 이 프로그램은 여러분 덕에 완성되어 갑니다.
▲ 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/postfix를 붙일 수 있음
옵션에서 prefix 또는 postfix 여부[각주:1]와 추가할 문구, 언제 붙일지 등을 선택할 수 있음
4. 파일 변환시 바탕화면에 마크다운 형식의 로그 파일(iTrans_Log.md)을 기록할 수 있음
5. 변환 종료시 최대 절전 모드로 전환할 수 있음
#비디오
6. iDevice를 대상으로 할 땐, 원본 비디오가 mpeg4/H.264/HEVC인 경우는 상세한 압축 옵션 확인후
재생 가능하면 추출하고, 재생 불가능한 옵션이거나, 그 이외의 포맷인 경우는 H.264 또는 HEVC로 재인코딩함
재생 가능 여부는 iOS 5.x에서 수정된 규칙[각주:2]에 따라 확인함
또한, 사용자 선택시 H.264/HEVC로 재인코딩할 수 있음
7. 비디오 재인코딩은 FFmpeg을 사용하며, 재인코딩시 디인터레이스 및 영상을 회전시킬 수 있음
사용자가 지정하는 경우 S/W(x264, x265) 뿐만 아니라 H/W(NVENC 및 인텔 QSV) 인코딩도 가능함
8. 비디오 재인코딩시 fps는 원본의 값을 준용, 비트레이트는 원본의 값을 기준으로 비율 지정하는 것이 기본임
단, 옵션에서 fps[각주:3] 및 비트레이트[각주:4]를 특정 값으로 강제 지정하는 것도 가능함
9. 아이폰3GS/4/4s/5s 등에서 재생 가능 비디오 확인 여부를 선택하는 드롭다운리스트가 있음
- MPEG4/H.264/HEVC 강제 추출: MPEG4/H.264/HEVC는 무조건 추출. 그 외는 무시함 (재인코딩 없음)
- 재생 가능 비디오만 변환: iOS 5.x에서 수정된 규칙에 맞는 비디오만 추출 (재인코딩 없음)
- 필요시 비디오 재인코딩: iOS 5.x 이상에서 재생가능한 비디오는 추출, 그 외는 H.264/HEVC로 재인코딩
(지원 프로파일은 very slow, slow, normal, very fast 의 4종류임)
- 비디오 강제 재인코딩: 무조건 H.264 또는 HEVC로 재인코딩
10. 플래쉬 비디오(FLV, SWF)도 일반적인 포맷과 같이 처리함
MKV, AVI 등과 같은 과정으로 처리하며, 필요시 재인코딩도 실시함
(즉, SWF 비디오를 MP4로 변환할 수 있음)
11. 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으로 강제 설정. 아이패드에서 무조건 꽉찬 화면으로 재생됨 (화면비 왜곡)
12. 비디오 재압축 필요 여부를 확인할 수 있음
Ctrl 키를 누르며 변환 버튼을 클릭하면 변환하지 않고, 재압축 필요 여부만 확인함
#오디오
13. 원본 파일과 같은 이름의 오디오 파일이 같은 폴더에 있으면 내부 오디오 대신 그 파일을 사용함.
단, 옵션에서 지정시 내부 오디오와 외부 오디오를 동시에 적용할 수 있음.
14. 오디오 스트림은 가능한 AAC-LC로 변환후 합침
원본의 오디오가 AAC-LC일 경우 재인코딩은 옵션 선택에 따라 안할 수도 있음
오디오 변환 프로그램은 neroAacEnc 및 iTunes[각주:5] 중에서 선택할 수 있음
17. 외부 오디오 파일명이 비디오와 같고 뒤에 DELAY 000ms의 문자열이 있으면 delay 적용함
ex) 비디오: TEST.avi, 오디오: TEST T80 2_0ch 48KHz DELAY 125ms.ac3
18. 외부 오디오/자막 파일명이 비디오와 같고 뒤에 언어ID[각주:7]가 있으면 그 언어로 인식함
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포인트를 사용가능한데, 이는 아이패드를 고려한 것임
하지만, 아이폰/아이패드의 퀵타임이 자막의 크기를 인식하지 않기 때문에 사실상 의미 없음
#챕터[각주:8]
29. MKV/MP4 파일에 포함된 챕터 정보를 인식하여 iOS용 챕터로 변환하지만, iOS 10.2에서 챕터 기능이 제거됨
30. 외부 챕터파일(.xml/.ogm)이 있는 경우 이를 인식해서 iOS용 챕터로 변환함
단, 비디오가 ogm 포맷인 경우 확장자 충돌 문제가 있어 xml 챕터만 인식함
그래봤자 iOS 10.2부터는 볼 수 없지만
※ 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에서 사용하는 프리웨어 5종은 다음과 같음
▲ 버전 히스토리
2018.5.18: 17.0
- 17.x대 첫 릴리즈
- 오류 수정: 자막 추출이 가끔 누락되던 문제 수정
- 하드웨어 인코딩에 NVENC에 추가해서 인텔 QSV도 추가
- 하드웨어 디코딩 기능 제거[각주:10]
- iTrans 프로그램 자체가 한 번에 둘 이상 실행되지 않도록 수정
- UTF-8 형식의 명령행 생성 기능을 정식 옵션으로 추가[각주:11]
- 파일명에 이모지 등의 문자가 포함되어 있어도 정상적으로 처리하도록 UTF-8 처리 기능 보완
- 목록창에 색상 기능 적용
- libjpeg-turbo를 2.0.3(May 10, 2019)으로 업데이트
- ffmpeg을 4.1.3으로 업데이트
- Mediainfo를 19.04로 업데이트
- mp4box를 gpac-0.7.2-DEV-rev1111로 업데이트
2018.5.19: 17.0a
- 오류 수정: 인텔 GPU가 설치되어 있지만 드라이버가 잘못 설치된 경우 다운되는 오류 수정
- 인텔 QSV 인코딩시 slow preset 대신 veryslow preset을 사용하도록 수정
2018.8.19: 17.2
- 오류 수정: 비디오 변환 후 태스크바의 진행상황이 잘 정리되지 않던 문제 수정
- 오류 수정: nvenc에서 HW 인코딩 테스트가 실패하던 문제 수정
- 오류 수정: 커버 아트 추출시 전체가 단일 색상일 때 다운되던 문제 수정
- 오류 수정: 비디오 인코딩이 끝난 뒤 mp4 파일을 해석하다 다운되는 문제 수정
- 오류 수정: 로그 파일 정보를 잘못 기록하는 문제 수정
- HEVC 인코딩 시 8비트 와 10비트 인코딩을 선택할 수 있도록 수정
- AMD AMF HW 인코딩 기능 추가
- HW 인코더 품질 시험 결과를 반영
- HEVC 2160p 해상도 추가
- HW 인코딩 시 Q(crf) 값을 UI에 표시하지 않도록 변경
- nvenc 인코딩 프로파일을 slow/medium에서 hq/medium/default로 변경
- 원본이 10bit HDR(BT.2020) 영상인 경우 색공간을 BT.709로 자동변환하도록 수정(참조 사이트)
- 오디오 채널을 downmix 하지 않는 옵션 추가
- 인식하는 nvidia의 VGA에 튜링 아키텍쳐 포함
- ffmpeg을 4.2로 업데이트[각주:12]
- mp4box를 gpac-0.8.0-DEV-rev53으로 업데이트
- MediaInfo를 19.07로 업데이트
2018.9.20: 17.4a
- 영상에 offset과 crop 정보가 있는 경우 재인코딩시 잘라내고 인코딩하도록 수정
- 고품질을 고품질1, 고품질2로 분리
- mp4에서 자막을 추출할 때 mp4box 대신 ffmpeg으로 추출[각주:13]
- 내부 srt 자막 처리시 자막의 시간이 겹치는 경우에도 완벽하게 정리하여 변환하도록 수정
- 자막 파일을 읽을 때 자막이 UTF16(LE/BE), UTF32(LE/BE) 인 경우도 완벽하게 처리하도록 수정
- HEVC 재인코딩 기준을 1080p, 2160p에서 DCI 2K, DCI 4K로 변경
- ffmpeg을 4.2.1로 업데이트
- mp4box를 gpac-0.8.0-DEV-rev72로 업데이트
- MediaInfo를 19.09로 업데이트
아주 빠른 HEIF 이미지 변환기 iTrans HEIF 2.5 업데이트 (2) | 2020.02.27 |
---|---|
아주 빠른 HEIF 이미지 변환기 iTrans HEIF 2.2 업데이트 (8) | 2019.09.20 |
가장 빠른 iDevice용 동영상 변환기 iTrans v16.4c 공개 (38) | 2018.11.12 |
아이폰 용량 관리 꼼수 하나 소개 (0) | 2018.11.12 |
iOS 12에서 차단 암호 찾는 법 (0) | 2018.11.03 |