Windows7 64bit, Visual Studio 10 기준으로 기술하였습니다.
GStreamer 1.10.4 설치
1. 다운로드
2. gstreamer-1.0-x86_64-1.10.4.msi / gstreamer-1.0-devel-x86_64-1.10.4.msi 설치
※ 설치 경로를 기억하세요. 저는 D:\gstreamer에 설치하였습니다.
환경변수 등록
1. 내 컴퓨터 > 속성 > 고급시스템 설정 > 환경변수 > 시스템 변수 > Path [편집]
2. ..;D:\gstreamer\1.0\x86_64\bin 덧붙이고 [확인]
SDK 템플릿 Visual Studio로 복사
1. D:\gstreamer\1.0\x86_64\share\vs\2010\wizard의 파일 3개 복사
- gst-sdk-template.ico
- gst-sdk-template.vsdir
- gst-sdk-template.vsz
2. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcprojects에 붙여넣기
3. D:\gstreamer\1.0\x86_64\share\vs\2010\gst-template 폴더 복사
4. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VCWizards에 붙여넣기
Windows DDK 7.1.0 설치
1. 다운로드
2. 설치 후 경로 확인 (C:\WinDDK\7600.16385.1)
Visual Studio 10 설정
1. Visual Studio 10 실행
2. New > Project > Visual C++ > gstreamer template 선택하고 프로젝트 생성
3. 프로젝트 속성 > 구성 속성 > 디버깅 > 작업 디렉토리 > 편집 > $(GSTREAMER_1_0_ROOT_X86_64)\bin 입력 > 확인
4. 프로젝트 속성 > 구성 속성 > C/C++ > 일반 > 추가 포함 디렉터리 > 편집에서 GStreamer 경로가 포함된 것을 확인
만약 포함되어 있지 않다면, 속성 관리자 > 프로젝트 > 기존 속성 시트 추가 > D:\gstreamer\1.0\x86_64\share\vs\2010\msvc 폴더의 x86.props(32비트) 또는 x86_64.props(64비트) 열기
5. 속성 관리자 > Debug > x86_64 > config > DDK 경로 들어간 것을 확인
6. Hello World 코드 빌드 및 실행
#include <gst/gst.h>
int main(int argc, char *argv[]) {
GstElement *pipeline;
GstBus *bus;
GstMessage *msg;
/* Initialize GStreamer */
gst_init (&argc, &argv);
/* Build the pipeline */
pipeline = gst_parse_launch ("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm", NULL);
/* Start playing */
gst_element_set_state (pipeline, GST_STATE_PLAYING);
/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline);
msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
/* Free resources */
if (msg != NULL)
gst_message_unref (msg);
gst_object_unref (bus);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}
참고
- https://gstreamer.freedesktop.org/documentation/installing/on-windows.html
'GStreamer' 카테고리의 다른 글
[GStreamer] Push, Pull 방식 (2) | 2017.04.05 |
---|---|
[GStreamer] RTSP의 H264 영상 Dump 방법 (1) | 2017.03.29 |
[GStreamer] 디버깅 로그 출력하기 (0) | 2017.03.29 |
[GStreamer] h264 profile 확인하는 방법 (0) | 2017.03.27 |
[GStreamer] Pad-added Signal (0) | 2017.03.06 |