Wednesday, January 17, 2018

Windows 10을 위한 GStreamer 이미지 빌드

다른 방법: GStreamer 릴리즈 버전을 Windows 10에서 사용하는 방법

GStreamer 최신 버전은 릴리즈 버전과 다르게 새로운 기능들을 많이 포함하고 있어 기능을 테스트 해보기에는 좋으나  Windows 10에서 빌드는 생각보다 쉽지 않아 Docker를 통해 빌드 하는 방법을 포스팅합니다.

주의점:
  • 테스트 목적으로 사용할 것을 권고
  • 실행 시점의 GStreamer master 브랜치를 사용하기 때문에 항상 다른 결과물을 얻게됨

Docker 이미지 빌드


아이러니하게도 현재 가능한 방법 중 가장 쉬운 빌드 방법은 리눅스를 이용하여 크로스 컴파일 하는 것입니다. 크로스 컴파일 환경 구성부터 사용자 별로 다를 수 있기 때문에 테스트 가능한 환경을 Dockerfile로 작성해보았습니다.

  $ curl -o Dockerfile \
    https://gist.github.com/justinjoy/df218013356815ad6e3d0211458a4214
  $ docker build  -t joykim/cerbero-build .

Docker 이미지 실행


위 명령으로 생성된 Docker 이미지를 손쉽게 사용하기 위한 docker-compose.yml은 다음과 같습니다.

version: '3'
services:
  cerbero-build:
    image: joykim/cerbero-build:latest
    hostname: cerbero-build
    volumes:
      - ./work:/work

혹은 다음 명령으로 다운로드 할 수 있습니다.

  $ curl -o docker-compose.yml \
    https://gist.github.com/justinjoy/1641cd0d65f7ea285e144e3b615f3431

Docker 이미지에서 bash를 실행하여 빌드가 가능한 쉘을 실행하도록 합니다.

  $ docker-compose run cerbero-build bash

cerbero 빌드

Docker 내부에 cerbero를 가져와서 빌드를 시작합니다.
  worker@cerbero-build:~$ git clone git://anongit.freedesktop.org/gstreamer/cerbero
  worker@cerbero-build:~$ cd cerbero
  worker@cerbero-build:~/cerbero$ ./cerbero-uninstalled -c config/cross-win64.cbc bootstrap
  worker@cerbero-build:~/cerbero$ ./cerbero-uninstalled -c config/cross-win64.cbc package gstreamer-1.0

빌드가 성공적으로 끝나면, 생성된 두 파일을 Windows 10 으로 복사하여 사용할 수 있습니다.

  • gstreamer-1.0-windows-x86_64-1.13.0.1-devel.tar.bz2 (헤더와 정적 라이브러리)
  • gstreamer-1.0-windows-x86_64-1.13.0.1.tar.bz2 (동적 라이브러리)