웹 기반 미디어 관리 시스템 Jinzora
소개
웹기반 미디어 관리 시스템인 Jinzora를 소개한다.
가지고 있는 음악이나 동영상과 같은 미디어 파일들을 웹을 통하여 쉽게 관리할 수 있고, 스트리밍으로 여러 재생기로 재생할 수 있다.
요구 사항
요구 사항 역시 간단하다.
- PHP 4.2.0 이상 (4.3.0 이상을 권장)
- MySQL 3.23.32 이상 (SQLite, PostgreSQL 등 다른 DB도 이용가능)
- 아파치나 IIS (다른 웹서버도 가능하지만 지원하지 않음)
설치
설치 역시 어렵지 않다. STANDALONE과 CMS 설치가 있는데 STANDALONE 설치에 대해서만 써 본다.
- 웹 서버 경로에 압축된 파일을 푼다.
-
압축을 풀고
sh configure.sh
를 실행한다. 이것은 퍼미션을 설정하는 역할을 하는데, 윈도 사용자는 하지 않아도 된다. - 브라우저를 이용하여 페이지에 접근한다. 즉, index.php에 접근하면 된다.
- 브라우저에 나타난 설치 페이지에 필요한 정보를 입력하면 설치가 완료된다.
- 설치가 끝나면 설정에 대한 정보를 Jinzora 측에 제공할 수 있는데 정보는 익명으로 전송되며, Jinzora의 개선을 위하여 이용된다.
인코딩 관련
인코딩 관련하여 문제가 있을 수도 있다. Jinzora는 ID3v2를 지원하므로 utf-8로 인코딩 된 태그를 제대로 읽을 수 있다.
설치하기 전에 소스 코드의 일부를 수정하여야 한다. utf-8은 가능하지만
eucKR의 경우 php의 htmlentities()
함수가 eucKR을 지원하지 않으므로
불가능하다. 직접 eucKR용 htmlentities()
함수를 작성할 수 있다면
이것이 가능해진다.
jinzora2/services/services/tagdata/getid3/getid3.php
파일을
수정한다. ID3v2 태그를 변환하는 인코딩이다.
var $encoding = 'UTF-8'; // CASE SENSITIVE! - i.e. (must be supported by iconv()) // Examples: ISO-8859-1 UTF-8 UTF-16 UTF-16BE
만약 코딩 시스템이 eucKR이라면 이것을 EUC-KR로 바꾸어야 한다. 그리고 ID3v1의 인코딩이 eucKR이라면 그 아래쪽에 다음과 같이 해 준다.
var $encoding_id3v1 = 'EUC-KR'; // Should always be 'ISO-8859-1', but some tags may be written // in other encodings such as 'EUC-CN'
EUC-KR을 이용했다면 인코딩 변환시 지원하지 않는 인코딩이라고 오류가
날 것이다. 실제로 iconv() 모듈이 지원하는 것이기 때문에
jinzora2/services/services/tagdata/getid3/getid3.lib.php
파일을
수정하면 된다. 1100번째 줄 근처에 보면 인코딩 목록이 나오는데 여기에
EUC-KR을 추가하여 준다. 그리고 htmlentities()
를 대신할 수 있는
루틴을 작성해 주어야 한다.
case 'EUCJP': $HTMLstring = htmlentities($string, ENT_COMPAT, $charset); break; case 'EUC-KR': case 'EUCKR': // 여기에 eucKR용 htmlentities를 작성하여 결과를 $HTMLstring에 넣어준다. break; case 'UTF-8':
이제 jinzora2/jukebox/jukeboxes/mpd.php
파일을 수정한다. 이것은
파일 이름이 utf-8로 되어 있을 경우에 필요하다.
/* PLAdd() * * Adds the file <file> to the end of the playlist. <file> must be a track in the MPD database. */ function PLAdd($fileName) { if ( $this->debugging ) echo "mpd->PLAdd()\n"; if ( ! is_null($resp = $this->SendCommand(MPD_CMD_PLADD,utf8_decode($fileName)))) $this->RefreshInfo(); # if ( ! is_null($resp = $this->SendCommand(MPD_CMD_PLADD,$fileName))) $this->RefreshInfo(); if ( $this->debugging ) echo "mpd->PLAdd() / return\n"; return $resp; }
jinzora2/frontend/display.php
파일을 수정한다. 이것은 웹 페이지의
인코딩을 변경한다. 페이지를 eucKR로 하고 싶다면 euc-kr을 넣어주면
된다. 여기에 들어가는 것은 htmlentities()
의 지원여부와는
상관없다.
# echo '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">'. "\n"; echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'. "\n";
그 외 설정
선택하는 인터페이스에 따라서 기능이 달라지기도 한다.
음악 플레이를 m3u 등의 파일을 내려받을 수 있게 하는 식으로 할 수도 있고 웹 브라우저에 윈도 미디어 플레이어를 내장시키거나 플래시 미디어 재생기들을 내장시킬 수도 있다. 이것 모두 웹 페이지의 설정 인터페이스를 통하여 가능하다.
앨범 표지나 태그 관리 등의 설정을 할 수 있다.
댓글 없음:
댓글 쓰기