새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 LaTeX 입력을 지원하는 등의 다양한 성능 개선이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2021.3.14: 4.21.03 r3646 공개 - JS lexer에서 ECMAScript 2021을 지원하도록 수정(관련 링크) - LaTeX 입력 방식을 지원하도록 수정(관련링크) - Scintilla 5.0.0 적용(관련 링크) 2021.4.11: 4.21.03 r3687 공개 - Scintilla 5.0.1 적용(관련 링크) - 한글 등에서 발생한 정규식 오류 수정을 정식 버전의 수정으로 대체(관련링크) - ..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. PC 뱅킹의 주적은 PC 뱅킹 프로그램이다. PC 뱅킹을 하고 나면 컴퓨터가 미친 듯이 느려지기 때문이다. 키보드 보안 프로그램을 필두로 컴퓨터를 느려지게 만드는 악의 무리들이 너무나 많다. 전통의 명가(?) nProte**부터 컴퓨터 발목잡기의 거목 안* 온라인 시큐**, 그 외에도 수많은 잡 구라들… KISA에서 I사 보안모듈 프로그램에 문제가 있다고 발표할 정도로 완성도가 엉망인 경우도 있다. 보안 취약점을 갖고있는 보안 프로그램이라니… 무슨 열림교회 닫힘도 아니고… 더군다나 이런 프로그램들은 몰래 설치가 되는 것도 아니고 아예 (강제로) 동의를 받아 설치된다. 마치 건물 철거 강제 집행하면서 동의서 서명당하는 기분이다 그래서 간단히 만들었다..
제품을 구매하고, 한달 넘게 기다리고 있는데, 드디어 반가운 메일이 왔다. 플러그인의 새 버전을 다운받으라고 하는 것 기쁜 마음으로 다운로드 링크를 클릭하니 반가운 글자들이 보인다. 그런데, 이게 뭥미? User name, Password? 아무리 생각해도 계정 같은 걸 만들었던 기억이 없는데... 그래도 혹시나 몰라 예의를 갖춰 메일로 물어봤다. 그러자 돌아온 기계가 쓴 거라 해도 믿을 것 같는 답장. 1. 구매했을 때 받은 메일 봐 2. 그리고 지난 버전 다운받는 링크 알랴줌 혹시나 내가 뭔갈 놓쳤나 싶어 바로 그 메일을 뒤져봤지만, 당연히 계정 정보 같은 건 없다. MainConcept 쪽의 시스템은, 다운링크는 주되, 별도의 인증 프로그램으로 인증받는 구조이다. 메일로 설명하니 드디어 뭔가를 보내..
한달 전쯤 MainConcept 사의 HEVC 인코더를 구매하는 것을 검토했었다. 언제 나올지도 알 수 없고, 인코더 성능을 확신할 수도 없는 Big Navi보다 이 쪽이 더 현실적인 선택이기 때문이었다. 테스트 결과는 상당히 만족스러웠다. 인코딩 속도는 HW 인코더와 x264의 중간 정도였는데, 화질은 x265에 상당히 근접하는 수준을 달성했다. 그리하여 Big Navi를 포기하고, MainConcept HEVC 인코더를 구매한 뒤, 당근을 통해 RTX2070으로 업그레이드했다. 송장(Invoice)을 받고 자세히 읽어보니 회사가 다름 아닌 독일 아헨에 위치해있다. 이렇게 반가울데가! 하지만, 언제나 현실은 냉혹한 것... 정식 버전으로 업그레이드를 하고 나니 인코딩이 되지 않는다[..........]..
이전 포스팅(AMD의 RX 6700은 언제쯤 나올 것인가)에서도 언급했듯이 몇달간 AMD의 RX 6700을 기다리고 있었다. RTX30 시리즈의 NVENC는 이전 버전과 동일했기 때문에 아무런 메리트가 없기 때문이었다. 그런데, MainConcept의 HEVC 인코더 데모 버전을 돌려본 뒤 생각이 바뀌었다. 관련 포스팅: MainConcept HEVC 인코더는 쓸만할까? (부제: Big Navi 사지 말까?) 이 인코더는 CPU+GPU Hybrid 인코딩을 지원하는데, 성능과 품질 모두 만족스러운 수준이 나왔다. 문제는 이 인코더는 AMD의 GPU는 지원하지 않는다는 점. 고심 끝에 RTX 3060을 노리고 공개일 새벽부터 열심히 뛰어들었지만, 결국 구매에 실패하고야 말았다. 구매까지 갔다가 입금하려니 ..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. SRT 자막 관리 도우미 SRTier를 4.05로 업데이트했다. 각종 자막 변환 외에도 MPLS에서 챕터 정보 추출, SUP에서 자막의 시간 정보 추출 등의 기능을 추가했다. 이 프로그램의 주요 기능은 아래와 같다. - SRT 교정: SRT 파일을 읽은 뒤 오류를 수정한 뒤 다시 기록하거나 시간을 조정함 - 자막 변환: SAMI/SSA/ASS 자막을 SRT로 변환, SRT 자막을 SAMI로 변환 - 텍스트 추출: SRT 자막에서 텍스트만 추출 - 텍스트 병합: 기존의 SRT 자막의 시간 코드에 맞춰 텍스트 파일의 내용을 합침 - XML/ass 등 수정: XML 포맷의 챕터 및 ass 역시 자막과 동일한 기준으로 시간을 조정해줌 - mpls → tx..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 애플 iOS 11에서부터 적용되기 시작한 HEIF가 조금씩 확산되고 있고, 이제 윈도우10에서도 뷰어를 무료로 제공하고 있기는 하지만, 아직은 윈도우에서 이 포맷을 사용하는 건 불편함이 있다. 보기는 그럭저럭 보지만, 편집을 하려면 그 때부턴 조금씩 뭔가가 복잡해진다. 오픈소스 프로그램만을 활용하며, 다중코어를 활용하여 최대한 빠르게 변환하는 HEIF 변환기를 좀 더 개선하여 아래와 같이 공개한다. 3.x 대에서 가장 큰 개선사항은 32비트와 64비트 버전을 분리했다는 것이다. 64비트 버전은 AVX2 연산이 가능한 환경만을 지원하는데, 같은 CPU 환경에서 32비트 버전에 비해 20% 정도의 속도 향상이 있다. 64비트(avx2) / passwo..
엔비디아의 GeForce30 시리즈에 탑재된 NVENC는 20 시리즈의 그것과 동일하다. 하지만, AMD의 Big Navi에 탑재된 VCN은 기존 버전에 비해 향상되었다고 해서 기대하고 있었다. 그런데, 글카의 가격을 생각했을 때 이 업글이 합리적인지 다시 한번 판단해보기로 했다. 대안으로 고민해본 대상은 MainConcept의 HEVC 인코더 FFmpeg 플러그인. MainConcept 사는 SDK, FFmpeg 플러그인 등등 다양한 방식의 인코더를 판매한다. 가장 중요한 기능은 QSV나 NVENC를 활용한 SW+HW 하이브리드 인코딩. 이 중 나에게 딱 맞는 놈은 FFmpeg 플러그인이다. 적절한지 여부를 판단하는 방식은 언제나와 동일하다. 영상 하나를 다양하게 인코딩해본 뒤 SSIM을 계산해보는 것..
SK하이닉스 SSD 구매 세간에 평이 상당히 좋은 SK하이닉스 SSD를 구매했다. NVMe, SATA 각각 하나씩. 그런데, 문제는 기존에 사용하던 M.2에 설치된 윈도우를 어떻게 복원하는가 하는 것. SATA 인터페이스만 쓸 때엔 Macrium Reflect Free가 극강의 솔루션이었지만, M.2에선 얘기가 좀 다르다. 내 PC에는 NVMe M.2 인터페이스가 하나밖에 없기 때문이다. 일단 새로 설치하는 건 엄두가 나지 않는다. 그렇다고 NVMe M.2 SSD 복제 장치를 구매하는 건 수지타산이 맞지 않는다. 구글링을 해보니 현재 본 블로그 스킨을 만들어주신 친절한효자손님께서 솔루션을 친절하게 적어두셨다. 아래에 적은 절차는 친효님 블로그 내용과 별 차이가 없으며, 실제 작업한 절차를 정리해둔 내용...
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. PC 뱅킹의 주적은 PC 뱅킹 프로그램이다. PC 뱅킹을 하고 나면 컴퓨터가 미친 듯이 느려지기 때문이다. 키보드 보안 프로그램을 필두로 컴퓨터를 느려지게 만드는 악의 무리들이 너무나 많다. 전통의 명가(?) nProte**부터 컴퓨터 발목잡기의 거목 안* 온라인 시큐**, 그 외에도 수많은 잡 구라들… KISA에서 I사 보안모듈 프로그램에 문제가 있다고 발표할 정도로 완성도가 엉망인 경우도 있다. 보안 취약점을 갖고있는 보안 프로그램이라니… 무슨 열림교회 닫힘도 아니고… 더군다나 이런 프로그램들은 몰래 설치가 되는 것도 아니고 아예 (강제로) 동의를 받아 설치된다. 마치 건물 철거 강제 집행하면서 동의서 서명당하는 기분이다 그래서 간단히 만들었다..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2021.1.24: 4.21.01 r3557 공개 - 오류 수정: HTML/XML 태그 자동 닫기 오류 수정(관련 링크) - ActionScript 누락 함수 추가(관련 링크) - Java Lexer를 별도 소스 파일로 분리(관련 링크)
대부분의 컴퓨터 언어에서 16진수 문자열을 숫자로 변환해주는 HEX2DEC() 함수를 지원한다. 엑셀이나 매틀랩 등은 물론이고, PHP에서도 지원된다. 윈도우10에 내장된 계산기에선 더욱 손쉽게 이를 처리해준다. 그런데, 막상 C언어에서 이를 사용하려면 아주 쉽게는 되지 않는다. 기능이 없는 것은 아닌데, 위에서 언급한 언어/환경에 비해선 뭔가 손이 좀 더 간다. 1. sscanf() 물론, C언어의 표준 함수인 sscanf() 함수로 이를 처리할 수 있다. 깔끔하게 처리가 가능하다. char hex_text[] = "1A2B"; int val; sscanf(hex_text, "%X", &val); printf("%d\n", val); 2. 직접 작성-1 그런데, 여러가지 이유로 직접 이 기능을 구현해야..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 많은 언어 기능이 추가로 반영되는 등 다양한 성능 개선 등이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2021.1.5: 4.20.12 r3517 공개 - 오류 수정: 강조할 지정구 설정 기능이 미동작하던 오류 수정 - 오류 수정: JavaScript 블록 주석 오류 수정(관련 링크) - NSIS Lexer와 API 목록을 3.06으로 업데이트(관련 링크) - REBOL 언어 지원 기능 추가(관련 링크) - Swift 언어 지원 기능 추가(관련 링크) - Dart 언어 지원 기능 추가(관련 링크) - UTF8 인식 기능 최적화..
nvidia에서 '20년 중순에 출시한 RTX 30 시리즈는 엄청난 성능에도 불구하고 비디오 인코더는 변화가 없었다. 심지어 가격이 이전 모델인 20과 유사한 수준이라 구매욕을 자극했지만, NVENC가 동일해서 구매하지 않았다. 이후 경쟁사인 AMD에서 출시한 RX 6000 시리즈는 이전 모델에 비해 비디오 인코더(VCN)가 업데이트 되었다. 4K에서 fps가 증가한 것 외엔 정보를 찾기 어렵고, MSU의 HW 인코딩 테스트에선 AMD 제품이 대상에서 빠져있다. 그렇지만, 그간의 행보로 보아 추가적인 향상이 있을 것으로 기대된다. 하지만, 현재 출시된 RX 6800 등은 너무 비싸서 엄두가 나지 않고 루머가 돌고 있는 RX 6700을 기다리고 있다. 올해 CES에서 발표할 것이란 얘기도 있고, 3월 말에..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. iDevice용 동영상 변환기를 19.01로 업데이트 했다. 19.x대부터는 64비트 용만 배포하는 것으로 결정했다. 지금의 컴퓨팅 환경에서는 32비트 윈도우에서 인코딩하는 것 자체가 적합하지 않다고 판단했기 때문이다. 또한, 이번 버전부터는 옵션 창에 탭 컨트롤을 적용해서 좀 더 깔끔하게 볼 수 있도록 기능을 보강했다. 변환기는 아래 링크에서 다운받을 수 있으며, 여전히 별도의 설치 프로그램따위는 없다. 64비트 only / password: teus.me 관심 있는 분들의 수많은 지적과 질타 부탁드립니다. 이 프로그램은 여러분 덕에 완성되어 갑니다. iTrans의 상세한 기능 및 특징 #일반 1. 대상 비디오 파일을 목록에 드롭한 뒤 변환 버튼..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 다크 모드용 ini 추가, 괄호 입력 기능 보강 등 다양한 성능 개선 등이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2020.11.1: 4.20.10 r3397 공개 - 다크 모드용 ini 파일 배포: 다크 모드 선택 가능 - 영역 선택 후 (, [ 등의 키보드 입력시 앞뒤를 괄호로 감싸도록 기능 수정(관련 링크) - 기타 다양한 성능 개선 2020.11.29: 4.20.11 r3416 공개 - 다양한 성능 개선 2020.12.6: 4.20.10 r3435 공개 - R 언어 지원(관련 링크) - Scintilla 라이브러리를..
지난 포스팅에서 언급했듯이, 비디오 인코딩 품질 비교 기준, FFmpeg/nvenc 옵션 등이 수정됐다. 이에 따라 변경된 기준들을 정확히 반영할 수 있는 옵션값을 다시 찾아야 했다. 이전 테스트와 같은 소스에서 테스트를 다시 한 번 진행해봤다. 큰 틀에서의 기준은 이전과 동일하다. FFmpeg의 가이드에서 얘기하는 무손실 조건 등에 가장 근접한 옵션을 찾는 것. The range of the CRF scale is 0–51, where 0 is lossless, 23 is the default, and 51 is worst quality possible. A lower value generally leads to higher quality, and a subjectively sane range is 1..
FFmpegSource 활용 이전 포스팅에서도 언급했듯이, DGDecNV를 보내주고 FFmpegSource를 활용을 검토중이다. 만약 Big Navi를 장착하게 되면 기존 환경으로는 영상 품질 비교가 제대로 이루어지기 힘든 상황. ffmpeg nvenc의 cq 옵션 예전 포스팅에서 언급한 내용인데, ffmpeg/nvenc에서 공식적으로 얘기하는 품질 지정 옵션은 cq이다. ffmpeg -i input.avs -c:v h264_nvenc -preset slow -cq 22 -an out.mp4 하지만, 당시에는 그 옵션은 정상적으로 동작하지 않았다. 대신, 아래와 같은 옵션을 적용해야 되었다. ffmpeg -i input.avs -c:v h264_nvenc -preset slow -rc constqp -g..
DGDecNV DGDecNV: AVC/HEVC/MPG/VC1 Decoder and Frame Server 내가 영상을 처리할 때 주로 쓰는 환경은 DGDecNV + AVISynth다. 이 중 DGDecNV는 Donald Graft가 만든 유료 프로그램으로, nVidia의 GPU를 활용해 비디오를 읽어준다. 비디오를 프레임 단위로 처리하기 때문에 AVISynth로 원하는 구간에 대해서만 효과를 넣는 것도 가능하다. 유료지만 15$밖에 하지 않는 저렴한 가격은 덤이다. nVidia의 GPU만 지원하는 게 단점이지만, 어차피 지금 GPU는 nVidia가 지배하기 때문에 별 영향도 없다. 무엇보다도 이 프로그램의 장점은 비디오 파일을 프레임 단위로 정확하게 읽을 수 있다는 점이다. DGIndexNV로 비디오 파..
영상의 품질을 정량적으로 표현하는 것은 쉬운 일이 아니다. 일단, 단순하게 사진/동영상 하나를 두고 품질을 표현하는 건 불가능하다. 품질을 정량적으로 표현하려면 두 개의 사진/동영상을 두고 차이를 통해 이를 계산해야 한다. 이걸 표현하는 방식은 PSNR, PSNR-HVS, PSNR-HVS-M, SSIM 등등이 있는데, 역시 가장 널리 사용되는 건 PSNR. 그런데, PSNR은 단순히 신호 대 잡음비를 계산하기 때문에 영상 품질을 측정할 때 한계가 있다. 그래서 이를 보완하기 위해 PSNR-HVS 등의 방식이 나오기도 한 것이다. 이 중 SSIM은 구조적 유사성을 계산하는 방식이다. 이 방식은 PSNR과 아예 다른 접근방식을 사용하며, 왜곡도를 측정할 수 있다. 이 값들을 제대로 직접 계산하려면 복잡한 지..
이전 포스팅에서 간략히 얘기했듯이, BIG INTEGER WITH C++를 클래스 형식으로 포팅하기로 했다. 이 코드는 벡터를 사용해서 BigInt를 구현했는데, 전체적으로 코드가 간략하다는 점이 돋보였다. 하지만, 단점이 몇 있었는데, 무엇보다도 음수를 지원하지 않는다는 점이었다. 그 외에도 로그 함수에 오류가 있었고, sqrt 함수는 성능이 너무 느렸다... 포팅을 진행하며 손을 댄 내용들을 간략히 정리해본다. #include 원본 코드는 stdc++.h를 사용하도록 되어있다. 이 헤더는 잡다한(?) 헤더를 몽땅 포함시키는 코드인데, 실제 상황에선 그닥 쓸모가 없다. 찾아보니 대회 같은 데 나가면 쓸만하다는데, 글쎄... 잘 모르겠다... 간략하게 쓸 내용만 추가하는 것으로 변경. #include #..
나머지는 산술에서 두 정수의 나눗셈 이후, 온전한 정수 몫으로 표현할 수 없이 남은 양을 가리킨다. 선형 등식의 일반적인 형태는 \( a=q\times d+r\)로 표현할 수 있다. 이 등식에서 \( 0 \leq r < d \)이면 \( q\)는 몫이고 \(r\)은 나머지이다. 0과 자연수 범위에서의 나누기와 나머지는 단순하다. 굳이 엄밀한 정의를 얘기를 하지 않아도 직관적으로 알 수 있다. 그런데, 음수의 영역에 들어가면 얘기가 달라진다. -5를 3으로 나누었을 때 나머지는 얼마가 되어야 되는 걸까? -2가 맞을까? 아니면 1이 되어야 되는 걸까? 직관적으로 보면 -2가 맞을 것 같지만, 정의에 따르면 1이 되어야 한다. 음수로 나누는 것을 생각하면 더욱 복잡해진다. 5를 -3으로 나누었을 때 나머지는..
풀어보는 김에 오일러 프로젝트를 하나 더 풀어보기로 했다. 이전 문제랑 비슷해보이지만, 실은 훨씬 간결한 문제다. 문제에서 자연대수 e의 연분수 전개를 설명해줬고, 특정 자리까지 계산했을 때의 수렴값만 계산하면 된다. \( a + \frac {1}{ \frac {c} {b} } = \frac {a c + b} {c} \)를 반복해서 계산하기만 하면 된다는 뜻임. 이걸 C++ 코드로 작성하면 아래와 같다. void ConvFraction(const unsigned a, const unsigned b, const unsigned c, unsigned& bN, unsigned& cN) { if (!b) { bN = 1; cN = a; } else { bN = c; cN = a * c + b; } } 이걸 반복..
오랜만에 풀어보는 오일러 프로젝트 하나. 제곱근을 연분수로 전개하면 나오는 값은 순환하게 되는데, 이 값이 홀수 개인 경우를 찾는 문제다. 이 문제는 프로그래밍 난이도 보다는 수학적인 의미를 이해하는 쪽이 더 어려운 문제. \( \frac { denom } { \sqrt {N} - minuend } \) 형태의 항의 다음 항을 계산하는 식만 찾으면 다음은 간단하다. \( \frac {denom} { \sqrt {N} - minuend } = \frac {denom ( \sqrt{N} + minuend ) } { N - minuend ^ 2 } = \frac { \sqrt {N} + minuend } {(N - minuend ^ 2) / denom} \)가 되는데, 이 식의 정수해가 다음 항이 된다. 즉,..
최근 공유기 2대를 사용해오면서 모두 DD-WRT를 설치해서 사용해왔다. 이로써 순정 펌웨어에서 느낄 수 없는 다양한 기능들을 마음껏 사용할 수 있었다. DD-WRT에는 Mesh 기능도 갖춰져있고, 공유기가 두 대라 이를 적용할 수도 있었다. 그런데, 막상 적용을 해보려니 무엇부터 시작해야될지 알 수 없었다. 내친 김에 많이들 추천하는 Mesh 구성을 나도 해보고 싶었다. 요즘은 심지어 ipTIME에서도 Mesh를 지원하는 공유기들이 많이 나와서 선택의 여지도 많은 편이다. 내가 선택한 것은 tp-link의 Deco X20. 이 시리즈는 아예 Home Mesh 라는 이름을 달고 나와서 무진장 편한 Mesh 설정을 제공해준다. 박스를 벗기면 이렇게 두 대가 나란히 들어있다. 이 제품은 일단 심플하고 작다...
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 문자열 검색 등에 대한 다양한 성능 개선 등이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2020.11.1: 4.20.10 r3397 공개 - 대소문자 구별하지 않는 ASCII 텍스트 검색 최적화 (관련 링크) - 문자열 검색시 부문자열(substring)을 반복해서 검색하여 속도가 지연되던 코드 수정 (관련 링크) - 대소문자 구별한 문자열 검색시 Boyer-Moore-Horspool-Sunday 알고리즘 적용으로 성능 개선 (관련 링크) - 기타 다양한 성능 개선
역률(Power Factor)이란 부하가 사용하는 유효전력과 부하에 공급되는 피상전력에 대한 비율을 의미한다. 간단하게 적으면 \( 역률 cos \phi = \frac {유효전력 P}{피상전력 Pa} \)으로 나타낼 수 있다. 발전기/인버터 단위에서 유효전력이 양수인 경우만 다루기 때문에 \(cos\phi\)는 항상 양수라 볼 수 있다. IEC 61850-7-520 국제전기협회(IEC)에서 사용하는 역률의 부호는 위에서 말한 설명과 수학적 이론에 부합한다. 그런데, 실제 인버터를 역률로 제어하려면 이것으론 부족하다. 지상(lagging, inductive) 또는 진상(leading, capacitive)을 구분해서 발전시킬 수 없기 때문이다. IEC 표기법으로는 무효전력에서는 역률을 계산할 수 있지만, ..
들어가기에 앞서... Endianness 라는 개념이 있다. 보통 Big-endian과 Little-endian 두 가지가 있는데, 메모리에 여러 바이트 연속된 자료가 저장되는 순서를 말한다. 다른 표현으로는 바이트 오더(Byte Order)라고도 한다. Cortex-M4에서의 Endianness // Reverses the byte order in unsigned integer value. // For example, 0x12345678 becomes 0x78563412. __STATIC_FORCEINLINE uint32_t __REV(uint32_t value) { #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) return __builti..
얼마전 HEIF 변환 프로그램인 iTrans HEIF를 3.03으로 업데이트 하면서 GPAC를 다운그레이드 했었다. 정확한 원인을 찾지는 못했지만, 뭔가 변환 중에 문제가 발생하는 건 확실했기 때문이었다. 현상을 제대로 파악하기 위해, 시간을 들여서 mp4box를 버전별로 테스트를 해보기로 했다. 오류 현상 식별 테스트 조건과 목표는 다음과 같이 구성했다. 1. 아이폰으로 촬영한 HEIF 파일들을 변환하면서 문제 추적 2. 공식 사이트에서 다운받은 버전과 직접 컴파일한 버전을 모두 테스트 3. 목표는 깃헙에 공개된 릴리즈 번호를 기준으로 문제가 발생한 첫 릴리즈를 찾는 것 일단, 모든 mp4box가 사진들의 정보를 이상 없이 읽어냈다. 문제가 발생하는 HEIF에서도 아래와 같이 정보를 제대로 읽는다. m..
FFmpeg은 그야말로 거의 모든 미디어 파일을 변환하는데 사용 가능한 만능 도구이다. 그리고, 이를 윈도우에서 쉽게 활용할 수 있도록 Zeranoe라는 분이 정기적으로 릴리즈 버전을 공개해왔다. 원한다면 직접 컴파일할 수도 있고, 컴파일을 지원하는 도구들도 있지만, 쉬운 일이 아니다... 그런데, 얼마 전 Zeranoe가 배포를 중단하고, 자신의 사이트를 폐쇄하겠다는 공지를 했다. Zeranoe @Zeranoe ·9월 1일 http://ffmpeg.zeranoe.com will close on Sep 18, 2020, and all builds will be removed. If you're using Zeranoe @FFmpeg Builds in your product, please ensure th..