멀티미디어/코덱(Codec) 2017. 4. 3.
FFmpeg을 직접 컴파일 해보자
윈도우에서 FFmpeg을 컴파일하려면 Visual Studio에서 하는 방법과 MinGW의 gcc로 컴파일하는 방법이 있다. Visual Studio를 사용하는 방법이 쉽다고 되어있는데, 막상 해보니 잘 되지 않고… 윈도우 환경에서 gcc로 컴파일 하려면 MinGW와 yasm이 필요하다. 1. MinGW 다운 및 설치 MinGW를 설치하려면 여기에서 mingw-get-setup.exe를 다운받아 실행하면 된다. 설치 화면에서 mingw32-base와 msys-base를 선택한 뒤에 Installation - Apply Changes를 클릭하면 설치가 진행된다. 설치가 되는 기본 폴더의 위치는 c:\MinGW이다. 2. pr.exe 설치 컴파일할 때 pr.exe가 필요한데, 위에서 설치한 내용에선 이 파일..
멀티미디어/코덱(Codec) 2014. 4. 9.
ffmpeg window build 빌드하기
1단계 : download 1.1 MinGW download : MinGW-5.1.4.exe [w32api] w32api-3.13-mingw32-dev.tar.gz 1.2 MSYS download : MSYS-1.0.11-2004.04.30-1.exe [msys_dll] MSYS-1.0.11-20080821-dll.tar.gz [bash] bash-3.1-MSYS-1.0.11-1.tar.bz2 [Coreutil] coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 [Make] make-3.81-MSYS-1.0.11-2.tar.bz2 1.3 FFMPEG의 source download : download page source download ( direct ) 2단계 : insta..
멀티미디어/코덱(Codec) 2013. 10. 28.
FFMpeg windows build
1. MinGW 설치 Minimalist GNU for Windows 윈도우 환경에서 GNU 컴파일 환경을 구성해 준다.(cross compile) http://sourceforge.net/projects/mingw/files/ 에서 설치파일을 다운 받고 설치한다. 설치 옵션 중 C Compiler, C++ Compiler, MSYS Basic System, MinGW Developer Toolkit을 필수로 체크. 설치경로는 원하는 곳 아무데나. 2. yasm Assembler 설치 asm 컴파일러로 MinGW 시스템에 lilbrary형태로 설치한다. http://yasm.tortall.net/Download.html 여기서 시스템에 맞는 exe파일을 다운받는다. ex) 시스템이 64bit window..
멀티미디어/코덱(Codec) 2013. 2. 20.
FFMpeg build for Windows & vs20xx(2010기준) - ( FFMpeg 빌드 성공)
0. ffmpeg source export by SVN svn://svn.ffmpeg.org/ffmpeg/trunk 1. download "MinGW" http://sourceforge.net/projects/mingw/files/ 2. MinGW설치 c,c++컴파일러와(c++은 안해도 될듯하지만) MSYS포함 3. add Path 환경변수에 추가 C:\MinGW\msys\1.0\bin C:\MinGW\bin 4.http://yasm.tortall.net/Download.html 에서 적당한 yasm을 다운. C:\MinGW\msys\1.0\bin에 넣는다. 이때 파일의 이름을 yasm.exe로 해준다. 5. export한 ffmpeg을 C:\MinGW\msys\1.0로 이동(혹은 복사) 6.C:\Min..
멀티미디어/일반 자료 2012. 4. 6.
[ 배포 ] Setup Project 설치프로그램 만들기 1
해보면 쉽고 안해보면 뭐가 몬지 몰라서 헤메게 되는 Setup 프로젝트 입니다. VS 에는 클릭원스라는 퍼블리싱도구가 있어서 편리하긴 한데요. 클릭원스는 설치 폴더지정이나 설치 전 후 작업 과정이 어려워서... 셋업 프로젝트를 선택하였습니다. 이번 포스팅에는 Setup 프로젝트를 만들고 msi 파일을 만들어 Setup 파일을 다운받고 설치하고 바탕화면에 바로가기를 만들고, 설치될 폴더를 지정해 주고, 아이콘을 지정하는 등 설치에 관련된 작업을 알아보려 합니다. 작업 환경은 Visual Studio 2008 입니다. 먼저 새 프로젝트를 클릭하고 셋업 프로젝를 만들어 봅시다. 후에 우리가 배포할 솔루션을 추가해 줍니다. 1. 솔루션 탐색기에서 솔루션 마우스 오른쪽 클릭 -> 추가 -> 기존의프로젝트(우리가 ..
멀티미디어/일반 자료 2012. 4. 6.
인스톨 프로그램 만들기 (설치 프로그램 만들기)
https://m.blog.naver.com/cas1205/223823001799 블로그 만들고 처음으로 강의성 있는(?) 글을 써보네요,,게임, 유틸 등을 설치 할 때 파일을 받으면 설치를 시작하는데요그런 설치 프로그램을 만드는 방법에 대해 글을 써봅니다.1. 인스톨 팩토리 이용하기 저녀석이 인스톨 팩토리 입니다.옛날에는 저걸로 설치당하는(?) 일이 많았는데요즘은 보기 힘들어졌습니다.이유는 잘 모르겠네요;; 네 바로바로 이게 Install Factory 입니다!간단합니다. 쉽게쉽게 만들 수 있게 해놨어요,이정도면 꽤 쉬운 프로그램이죠^^뭐 그래서 더 이상 말할 것도 없구요,압축률 : 162MB (169,913,272 바이트) -> 85.9MB (90,148,050 바이트) 다운로드(출처 : 알..
멀티미디어/일반 자료 2009. 3. 18.
Chapter 06. DVD와 DivX
Chapter 06. DVD와 DivX 1. DVD와 DivX DivX가 처음 선보였을 당시에 많은 유저들이 DVD와 혼동을 일으키는 웃지 못할 상황이 있었습니다. 그만큼 기존의 VCD에서는 상상할 수 없었던 화질을 보여주었기 때문입니다. 지금도 DivX를 DVD와 동일시하는 경우를 종종 볼 수 있는데, 이는 엄청난 착각입니다. DivX 동영상의 화질은 인코딩시 사용한 프로그램이나 작업 방법 등에 따라 달라지기도 하지만, 근본적으로 원본 화질에 가장 큰 영향을 받습니다. 본래 DivX는 동영상을 다루는 코덱일 뿐이므로, 여러 가지 형태의 동영상을 원본으로해서 작업이 가능합니다. 대부분의 DivX들이 화질이 좋은 것은 원본이 화질 좋은 DVD이기 때문이며, 만약 원본이 화질이 좋지 않은 경우라면 DivX코..
멀티미디어/일반 자료 2009. 3. 18.
Chapter 05. 오디오(Audio)
Chapter 05. 오디오(Audio) 1. 오디오의 형식 1) AC3 (돌비 디지탈) DVD의 표준 사운드 형식으로 2채널(좌/우) 또는 5.1채널(전방 좌/우/센터, 후방 좌/우, 우퍼)을 기본으로 합니다. DivX 동영상에서는 이런 AC3 파일을 2채널 스테레오 형태인 MP3 파일로 다운믹스해서 용량을 줄이는 방법을 사용해 왔습니다. 그러나, 최근에는 사운드 부분을 강화하려는 경향 때문에 AC3 파일을 그대로 DivX 동영상에 적용하는 방법도 사용되고 있습니다. AC3 파일을 그대로 사용하는 것이 당연히 음질이 좋겠지만, AC3 파일의 5.1채널 분리를 제대로 감상하기 위해서는 5.1채널 디지탈 사운드를 재생할 수 있는 사운드카드와 스피커 시스템이 필요하기 때문에 이런 시스템을 갖추지 않은 대부분..
멀티미디어/일반 자료 2009. 3. 18.
Chapter 04. DivX 인코딩과 Deinterlacing / IVTC
Chapter 04. DivX 인코딩과 Deinterlacing / IVTC ♣ 앞에서는 DVD의 일반적인 제작/재생 과정에서의 Telecine, Deinterlacing, IVTC 등에 대해 다루었다면, 지금부터는 DivX 인코딩 작업에서의 Deinterlacing과 IVTC에 대한 기본 원리를 설명합니다. ♣ 1. IVTC와 Deinterlacing 중에서 어떤 것을 선택하는가? 동영상은 다양한 원본을 이용해 만들어질 수 있습니다. DivX인코딩시 소스로 주로 사용되는 DVD도 그 형식이나 DVD제작시 사용된 소스 및 제작 방식이 천차 만별입니다. 본래는 영화 필름을 원본으로해서 Progressive 방식으로 제작되어야 정상이겠으나, 국내에 유통되는 DVD들 중에는 원본이 도대체 무엇인지조차 가늠하기..
멀티미디어/일반 자료 2009. 3. 18.
Chapter 03. Telecine & IVTC
Chapter 03. Telecine & IVTC ♣ 이 부분의 내용은 매우 복잡하게 생각되실 수도 있습니다만, 그리 복잡한 것은 아닙니다. 또한, 이 부분의 이해가 선행되지 않고는 깨끗한 동영상을 만들어내기 어렵습니다. ♣ 1. 개요 1) Telecine 영화 필름을 VHS, VCD, DVD 등의 매체용 동영상으로 변환하는 과정을 Telecine 라고 합니다. 보통 Telecine 라고 하면 24 fps 인 영화 영상을 30 fps(29.97 fps)로 프레임수를 늘리는 것을 지칭하는 말로 사용되고도 있으나, 엄밀하게는 프레임수를 늘리는 것을 뜻하는 것은 아닙니다. 하지만, 우리나라나 미국에서 사용되는 NTSC방식의 표준 프레임수가 30 fps 이기 때문에 영화의 24 fps 와는 맞지 않고, 따라서 ..
멀티미디어/일반 자료 2009. 3. 18.
Chapter 02. 동영상의 압축원리
Chapter 02. 동영상의 압축원리 1. 압축방식 동영상도 어차피 "연속적인 그림"이라고 볼 수 있는데, 이를 압축하지 않는다면 1분 정도의 동영상을 저장하면 그 용량이 1GB 정도가 될 것입니다. 따라서, 동영상은 필수적으로 압축과정을 거칠 수 밖에 없습니다. 1) 비손실 압축과 손실 압축 압축방식에는 비손실 압축과 손실 압축이 있습니다. 비손실 압축이란, 프로그램이나 데이터등의 압축에 사용되는 zip, rar 등등의 압축방식이 있으며 원본 그대로를 압축하기 때문에 압축을 풀면 원본에서 전혀 손상되지 않은 데이터를 그대로 복원하게 됩니다. 손실 압축이란 압축되지 않은 그림 파일인 BMP파일을 JPG로 압축하는 경우를 생각하시면 되겠습니다. 이런 형태의 압축은 원본의 일부분을 변경하는 식으로 압축이 ..
멀티미디어/일반 자료 2009. 3. 18.
Chapter 01. 프레임(Frame)
Chapter 01. 프레임(Frame) 1. 프레임(frame)이란? 동영상의 기본이 되는 영화를 기준으로 생각해 보면, 영화 영상은 결국 필름에 연속적으로 찍힌 한 장 한 장의 사진을 일정한 속도로 돌려가면서 영사해 움직이는 영상을 만들어 내는 것입니다. 이 때 한 장 한 장의 사진을 본다면 당연히 정지된 상태일 것입니다. 이렇게 동영상을 구성하고 있는 정지된 화면 하나 하나를 프레임이라고 합니다. 2. 프레임 레이트(frame rate) 정해진 시간 동안에 몇 프레임을 보여주느냐 하는 것을 frame rate라고 하는 데 대체로 fps(frame per second; 초당 프레임수)로 표시하며, 이는 동영상 매체별로 다릅니다. 영화의 경우 24fps이며, 우리나라나 미국의 표준방식인 NTSC방식의 ..
멀티미디어/이미지 프로세싱 2009. 3. 18.
YCbCr과 YPbPr
YCbCr과 YPbPr 색상신호를 RGB Color Space 상의 R, G, B의 색상 요소로 분해할 수 있는데, 우리는 눈에 보이는 대로 인식되는 이른바 "빛의 삼원색"에 너무나 익숙하다. 그런데, YCbCr이나 YPbPr은 색상신호가 아니라 휘도(Luminance) Y와 색차신호 Cb(Pb), Cr(Pr)에 기반한 색 표현 방식이다. 인간의 눈이 색상보 다 밝기에 더 민감하기 때문에 색차신호를 이용해서 처리하는 것이 효과적이다. 신호 표준들을 보면 Pb, Pr은 아날로그 색차신호를 호칭할 때 사용하는 용어이고 Cb, Cr은 디지털 신호로 부호화했을 때 사용하는 용어이다. 그런데 이를 혼용해서 부르는 경우가 많아졌다. Cb/Cr과 Pb/Pr의 차이는 NTSC(480i)레벨의 신호단자를 [Y/Cb/Cr..
멀티미디어/이미지 프로세싱 2009. 3. 18.
YUV420을 RGB로 변환하기
// RGB 값을 얻기위한 YUV 테이블을 만든다. // YUV_B, YUV_R, YUV_G 배열은 사용하기 전에 YUV_lookup_table() 함수로 초기화해야 한다. double YY[256], BU[256], GV[256], GU[256], RV[256]; unsigned char YUV_B[256][256]; unsigned char YUV_R[256][256]; unsigned char YUV_G[256][256][256]; void YUV_lookup_table() { int i, j, k; double i_value; for( i=255; i>=0; i-- ) { YY[i] = (1.164*(i-16.0)); BU[i] = (2.018*(i-128.0)); GV[i] = (0.831*(i..
멀티미디어/이미지 프로세싱 2009. 3. 18.
YUV420(YV12)
참조 사이트: http://www.fourcc.org YUV에도 여러 가지 종류가 있다. 그 중에서 YUV420(YV12)에 대해서 알아보도록 하겠다. YUV420(YV12) This is the format of choice for many software MPEG codecs. It comprises an NxM Y plane followed by (N/2)x(M/2) V and U planes. Horizontal Vertical Y Sample Period 1 1 V Sample Period 2 2 U Sample Period 2 2 Positive biHeight implies top-down image (top line first) ATI says they have a download whic..
멀티미디어/이미지 프로세싱 2009. 3. 18.
Modeling AWGN channel
Section 2: Modeling an Additive White Gaussian Noise Channel This section models noise at the output y(t) of the channel in Section 1. h(t) in figure 1.1 is used to represent the combined effect of modulator, demodulator and channel. In this course, only discrete-input modulators are of interest. Hence, input symbols X take their values in a finite sample while the channel output value Y can tak..
멀티미디어/이미지 프로세싱 2009. 3. 18.
영상 처리 용어 해설
AAchromatic 색상이 없음. 색상이 없다는 것은 검정색에서 흰색의 범위에 해당하는 회색을 의미한다. Adaptive algorithm(적응적 알고리즘) 어떤 자료를 그 자료에 대한 사전 지식없이 처리하는 알고리즘. Additive color(부가적 컬러) 서로 다른 주파수 분포를 가지는 빛의 조합으로 생성되는 색상. 기본색상은 빨강, 녹색, 파랑이다. 부가 시스템은 방사성이므로 빛을 생성한다. Affine Transform(어파인 변환) 회전, 전이, 크기 변화와 이들의 조합으로 이루어지는 선형 기하 변환. Algorithm(알고리즘) 어떤 문제를 해결하거나 작업을 수행하기 위한 단계들의 집합. Aliasing(에일리어싱) 영상의 최고 공간 주파수의 두 배 보다 적은 비율로 영상을 샘플링했을 경우..
