Plex, Emby, Jellyfin를 다 써봤는데 처음에 스캐너니, 메타데이터니 트랜스코딩이니...개념 잡는게 참 어려웠습니다. 초보 입장에서 딱
윈도우 탐색기 켜서 영상 찾아서 시청하면 끝이겠구나 생각했는데 막상 이렇게 구현을 시켜놓고 나니 영상에 대한 화려한 정보(메타데이터)가 아쉬워 다시 Plex, Jellyfin을 주력으로 사용중입니다. 다 좋은데...이게 또 경우에 따라 서버 사양을 따지니 이에 대한 고민을 하고 있던 찰나에 Streama라는 도커서비스가 눈에 들어왔습니다. 몇몇 Plex외 대표적인 서비스들과 다른 특징 및 단점 그리고 설치법을 정리했으니 관심있으신 분들은 한 번 시도해 보시기 바랍니다.
특징)
1. 메타데이터 소스 : TMDB라는 사이트에 가입하고 설정에 있는 API를 받아와 사용합니다. Plex처럼 다음에이전트 설치 X
2. UI : 복잡하지 않습니다. (아래)
3. 기본적으로 모든 영상이 직접 재생입니다. -> 사양을 덜 탑니다만 설치페이지에는 최소사양으로 2g램, 멀티코어이며 라즈베리파이등에는 작동을 안하는 걸로 되어있네요. ;;;
4. 무료입니다.
5. 각 영상에 트레일러 영상을 유튜브 링크로 심을 수 있습니다.
단점)
1. PC에서는 웹기반 재생인데 일부 브라우저(파이어폭스)에서는 codec문제로 재생안되는게 있습니다. 크롬,엣지는 이상 무!
2. 한글화 및 인식 : 영상 등록은 manual방식과 bulk create방식이 있는데 여러 영상을 한번에 등록하는 방법인 bulk create를 사용했을때 한글이름으로 되어 있는 파일들이 인식이 안됩니다. 언어설정을 한글로 했음에도 불구하고!-> manual 방식으로 등록해야함 (노가다 ㅠ)
3. 메뉴의 한글화 빈약함.
4. 영상 등록시 비슷한 유형의 영화의 링크가 생성되는데 깨진 링크처럼 보입니다. (이건 직접해보시면 알듯...)
설치방법
대략적인 내용은 아래 링크에서 참고하세요.
https://docs.streama-project.com/getting-started/installing/
1) 준비
docker-compose.yml, application.yml 그리고 streama.jar파일이 필요한데 .jar파일은 아래 링크에서 미리 받아놓으시고 실행가능한 파일 및 파일명도 streama.jar로 변경해놓으세요.
https://github.com/streamaserver/streama/releases/download/v1.10.4/streama-1.10.4.jar
chmod +x streama-X.Y.jar
cp streama-X.Y.jar
streama.jar
2) docker-compose.yml
version: '3'
services:
streama:
image: anapsix/alpine-java:8
volumes:
- ./streama.jar:/app/app.jar
- ./application.yml:/app/application.yml
- ./volumes/streama/uploads:/app/uploads
- ./volumes/streama/local-files:/app/local-files
working_dir: /app
command: java -jar app.jar
ports:
- "127.0.0.1:8080:8080" ## 서버 내부 ip로 변경
depends_on:
- db
environment:
- VIRTUAL_HOST=streama.your-host.net ## url 입력
- VIRTUAL_PORT=8080
db:
image: mariadb:10
volumes:
- ./volumes/db:/var/lib/mysql
restart: always
command: --max_allowed_packet=256M --innodb_log_buffer_size=32M --innodb_buffer_pool_size=128M
environment:
- MYSQL_ROOT_PASSWORD=INSERT_SEC_PASSWORD ## 임의로 변경
- MYSQL_DATABASE=streama
- MYSQL_USER=streama
- MYSQL_PASSWORD=INSERT_ANOTHER_SEC_PASSWORD ## 임의로 변경
ports:
- 127.0.0.1:3306:3306 ## 서버 내부 ip로 변경
mail:
image: bytemark/smtp
restart: always
3) application.yml
environments:
production:
dataSource:
driverClassName: 'com.mysql.jdbc.Driver'
url: "jdbc:mysql://db/streama"
username: streama
password: 'ANOTHER_SEC_PASSWORD' ## MYSQL db password입력
server:
port: 8080
streama:
uploadtypes: ['video/h264', 'video/mp4', 'video/mpeg', 'video/quicktime', 'video/webm', 'video/x-ms-wm', 'video/x-ms-wmv',
'video/x-msvideo', 'image/bmp', 'image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/svg+xml',
'image/x-icon', 'image/x-png', 'application/x-subrip', 'text/plain', 'text/vtt', 'text/plain', 'application/octet-stream']
grails:
mail:
host: mail
4) docker-compose up -d로 실행
설치에 시간이 좀 걸리니 느긋하게 기다려 주시고 최초 로그인시 화면에 나온대로 admin / admin으로 로그인 하시고 몇가지 설정을 바꿔주시면 됩니다. 중요한 설정은 아래 참고하세요.
- 계정 추가
- 호스트 볼륨 설정 및 validate
- TMDB API 등록
- 언어설정 en -> ko로 변경
- manage content에서 영상을 등록하시면 됩니다.
5) 모바일 앱 (셋탑에서 어떻게 작동하는지는 확인 못해봤습니다)