MySQL을 사용하여 여러 장치에서 Kodi 라이브러리를 동기화하는 방법

게시 됨: 2022-01-29

Kodi는 여전히 주변에서 가장 강력한 미디어 센터 응용 프로그램 중 하나이며 강력한 미디어 PC에서 작은 Raspberry Pi에 이르기까지 모든 분야에서 작동합니다. 그러나 집에 여러 대의 TV가 있는 경우 모두 동기화되어 있으면 좋지 않을까요?

기본적으로 여러 Kodi 컴퓨터가 있는 경우 서로를 인식하지 못합니다. 한 TV에서 시청한 에피소드가 다른 TV에서는 "시청"으로 표시되지 않습니다. 그러나 침실 Kodi 상자가 거실에서 본 것을 알고 있고 그 반대의 경우에도 좋지 않을까요? 거실에서 영화 감상을 멈추고 집안의 다른 곳에서 중단한 부분부터 다시 볼 수 있다면 좋지 않을까요?

가능합니다. 약간의 설정만 있으면 됩니다. 방법은 다음과 같습니다.

필요한 것

우리가 수행하려는 동기화 마술의 핵심은 MySQL 데이터베이스입니다. 한 번도 사용해 본 적이 없다면 당황하지 마십시오! 약간의 기술적 노하우가 필요하지만 모든 단계를 안내해 드리겠습니다. 잘 따라하시면 ​​문제 없으실 겁니다.

우리가 할 일은 무료 버전의 MySQL 서버를 설치한 다음 모든 Kodi 시스템에 해당 서버의 데이터베이스를 라이브러리로 사용하도록 지시하는 것입니다(각 개별 컴퓨터에 있는 별도의 데이터베이스 대신). 그 시점부터 Kodi가 특정 TV 프로그램 에피소드 또는 영화를 보았는지, 미디어를 일시 중지했는지 또는 책갈피를 설정했는지 확인하면 앞에 서 있는 특정 미디어 센터에만 응답하지 않습니다. , 그러나 집안의 모든 미디어 센터에 적용됩니다.

이 프로젝트의 경우 다음이 필요합니다.

  • Kodi가 설치된 둘 이상의 미디어 센터(모두 동일한 기본 버전의 Kodi여야 합니다. 이 가이드에서는 v17 "Krypton"을 사용합니다).
  • MySQL Community Server의 무료 사본 - Kodi wiki는 최신 버전 5.7 대신 버전 5.5를 사용할 것을 권장하므로 이 튜토리얼에서 사용할 것입니다.
  • MySQL 서버를 실행하기 위해 항상 켜져 있거나 거의 항상 켜져 있는 컴퓨터.
광고

미디어 센터를 사용하는 동안 지속적으로 켜져 있는 모든 컴퓨터에 MySQL 서버를 설치할 수 있습니다. 우리의 경우 영화와 TV 쇼를 저장하는 동일한 상시 작동 홈 서버에 MySQL을 설치할 것입니다. 그렇게 하면 Kodi에서 미디어를 사용할 수 있고 데이터베이스도 마찬가지입니다.

1단계: MySQL 서버 설치

이 자습서에서는 Windows 10을 실행하는 미디어 서버에 MySQL을 설치합니다. 설치 지침은 모든 Windows 버전과 일치해야 합니다. 다른 운영 체제의 경우 MySQL 5.5 설명서를 참조하십시오.

MySQL 설치는 간단합니다. 서버 설치 앱을 다운로드하고 실행하기만 하면 됩니다. 라이센스 계약과 "일반" 설치에 동의합니다. 완료되면 "Launch the MySQL Instance Configuration Wizard(MySQL 인스턴스 구성 마법사 시작)"가 선택되었는지 확인하고 Finish(마침)를 클릭합니다.

MySQL 구성 마법사가 시작되고 세부 구성과 표준 구성 중에서 선택할 수 있는 옵션이 표시됩니다. 표준 구성을 선택하고 다음을 클릭합니다.

다음 화면에서 "Windows 서비스로 설치"를 선택하고 이름을 MySQL로 지정합니다. 또는 어떤 목적으로 여러 MySQL 서버를 실행하는 경우 고유한 이름을 지정하고 "MySQL 서버 자동 시작"을 선택하여 MySQL이 제대로 작동하는지 확인합니다. 서버는 필요할 때 항상 켜져 있습니다.

다음 화면에서 보안 설정 수정을 선택하고 새 루트 암호를 연결한 다음 원격 시스템에서 루트 액세스 활성화를 선택합니다.

광고

마지막 화면까지 클릭하고 실행을 눌러 마법사가 지정한 매개변수로 모든 것을 설정할 수 있도록 합니다. 완료되면 2단계로 이동합니다.

2단계: MySQL 사용자 설정

다음으로 미디어 센터용 MySQL 서버에 사용자 계정을 생성할 차례입니다. 이를 위해서는 약간의 명령줄 작업이 필요합니다. 시작하려면 MySQL 명령줄 클라이언트를 실행하십시오. 시작 메뉴에 해당 항목이 있어야 합니다.

콘솔이 열리면 이전 단계에서 생성한 암호를 입력합니다. 그러면 MySQL 서버 프롬프트에서 자신을 찾을 수 있습니다.

프롬프트에서 다음 명령을 입력하고 각 명령 다음에 Enter 키를 눌러 데이터베이스 서버에 사용자를 만듭니다.

 CREATE USER 'kodi'는 'kodi'로 식별됩니다.
 'kodi'에 *.* 모두를 부여합니다.
 플러시 권한;

첫 번째 명령의 첫 번째 부분은 사용자를 만들고 두 번째 부분은 암호를 만듭니다. 동일한 로그인/비밀번호는 일반적으로 보안이 매우 중요하지만 이 경우에는 단순함을 위해 일치하는 쌍을 사용하는 것이 좋습니다. 당신이 본 Dexter의 에피소드를 추적하는 개인 서버의 MySQL 데이터베이스는 위험이 높은 설치가 아닙니다.

지금은 명령줄에서 수행해야 하는 작업의 전부입니다. 그러나 MySQL 서버에 대해 명령 프롬프트를 열어 두는 것이 좋습니다. 그러나 Kodi가 데이터베이스를 생성한 후에는 나중에 체크인하고 살펴볼 것입니다. 우리를.

광고

Kodi를 구성하기 전에 마지막 작업이 하나 있습니다. MySQL을 설치한 시스템의 방화벽에서 포트 3306(MySQL 서버 포트)이 열려 있는지 확인하십시오. 기본적으로 Windows 설치 프로그램 은 자동으로 포트를 열어야 하지만 그렇지 않은 상황을 보았습니다. 포트를 여는 가장 쉬운 방법은 PowerShell 명령을 사용하는 것입니다. 시작 메뉴에서 PowerShell을 검색한 다음 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택합니다.

그런 다음 다음 명령을 실행하고 Enter 키를 누릅니다.

 New-NetFirewallRule -DisplayName "MySQL용 인바운드 TCP 포트 3306 허용" -방향 인바운드 -LocalPort 3306 -프로토콜 TCP -작업 허용

아래와 같이 명령이 성공했다면 계속 진행하시면 됩니다.

3단계: 현재 Kodi 라이브러리 백업(선택 사항)

관련: Kodi 아트워크를 비디오와 동일한 폴더에 저장하는 방법

기본적으로 Kodi는 내부 SQLite 데이터베이스를 사용합니다. Kodi가 홈 네트워크에서 효과적으로 통신하려면 외부 MySQL 데이터베이스를 사용하도록 지시해야 합니다. 그러나 그 단계에 도달하기 전에 실행 결정을 내려야 합니다. 현재 라이브러리를 백업하고 나중에 복원하거나(때로는 까다로울 수 있음) 새 라이브러리로 새로 시작할 수 있습니다( 쉽지만 쇼에서 시청 상태를 재설정해야 하며 로컬에 저장하지 않는 경우 아트웍을 다시 선택해야 합니다.

현재 라이브러리를 백업하려면 Kodi 내에서 백업할 수 있습니다. 한 컴퓨터에서만 이 작업을 수행하십시오. 최신 라이브러리가 있는 컴퓨터를 선택하십시오. Kodi를 열고 설정 > 미디어 설정 > 라이브러리 내보내기로 이동합니다. (이 옵션이 표시되지 않으면 메뉴가 Kodi에서 "고급" 또는 "전문가"로 설정되어 있는지 확인하십시오.)

라이브러리를 단일 파일 또는 개별 파일로 내보낼 수 있습니다. 단일 파일을 사용하면 백업을 한 곳에 저장할 수 있고 여러 파일을 사용하면 추가 JPG 및 NFO 파일을 미디어 폴더에 분산시킬 수 있습니다. 이것은 더 안정적이지만 상당히 복잡합니다. 원하는 옵션을 선택하십시오.

라이브러리가 백업되면 다음 단계를 계속합니다.

4단계: 새 MySQL 서버를 사용하도록 Kodi 구성

라이브러리를 백업했다면(또는 이에 대해 걱정하지 않고 처음부터 시작하도록 선택) Kodi가 MySQL 서버를 가리키도록 할 준비가 된 것입니다. Kodi를 실행하는 모든 컴퓨터에서 이 단계를 수행해야 하지만 먼저 한 컴퓨터에서 설정하는 것이 좋습니다.

광고

Kodi가 MySQL을 가리키도록 하려면 Kodi의 advancedsettings.xml 파일을 편집해야 합니다. 기본적으로 이 파일은 존재하지 않습니다(설치 프로세스 중에 Kodi가 특정 구성 문제를 처리하기 위해 파일을 만들 수도 있음). advancedsettings.xml 파일이 있는 경우 OS에 따라 다음 위치에 있습니다.

  • Windows : C:\Users\[사용자 이름]\AppData\Roaming\Kodi\userdata
  • Linux 및 기타 Kodi 라이브 버전 : $HOME/.kodi/userdata
  • macOS : /Users/[사용자 이름]/Library/Application Support/Kodi/userdata

해당 폴더를 체크인하십시오. 거기에 advancedsettings.xml 파일이 있습니까? 네? 열어봐 아니? 텍스트 편집기를 열고 하나 만들어야 합니다. 기존 항목을 편집하든 새 항목을 작성하든 상관없이 다음 텍스트를 잘라내어 파일에 붙여넣습니다(참고: advancedsettings.xml 파일에 일부 항목이 이미 있는 경우 해당 항목을 그대로 두고 이 값을 올바른 섹션):

<고급 설정>
<비디오 데이터베이스>
<type>mysql</type>
<호스트>192.168.1.10</호스트>
<포트>3306</port>
<사용자>코디</사용자>
<pass>코디</pass>
</비디오 데이터베이스>

<음악 데이터베이스>
<type>mysql</type>
<호스트>192.168.1.10</호스트>
<포트>3306</port>
<사용자>코디</사용자>
<pass>코디</pass>
</음악 데이터베이스>
</고급 설정>

LAN에 있는 서버의 IP 주소와 MySQL 데이터베이스의 사용자 이름/비밀번호를 반영하도록 위의 텍스트를 편집하십시오(이 예에서는 kodi/kodi일 뿐입니다). 이 기본 설정은 비디오 및 음악 라이브러리를 동기화해야 하지만 Kodi의 다른 부분을 동기화하고 여러 프로필을 사용하는 경우 이름 태그와 동기화할 수도 있습니다.

advancedsettings.xml 파일을 사용할 준비가 되면 해당 컴퓨터에서 Kodi를 엽니다. 라이브러리를 가져오거나(설정 > 미디어 설정 > 라이브러리 가져오기에서) MySQL 데이터베이스를 처음부터 채우기 시작하려면 소스를 다시 검색해야 합니다. 지금 하세요.

완료되고 라이브러리가 제자리로 돌아오면 MySQL 명령 프롬프트로 이동하여 Kodi가 데이터베이스를 생성하고 채웠는지 확인할 수 있습니다. mySQL 주석 프롬프트에서 다음을 실행합니다.

 데이터베이스 표시
광고

현재 MySQL 서버에 있는 모든 데이터베이스를 출력합니다. 최소한 information_schema , mysql , performance_scheme 데이터베이스가 있어야 합니다. 이들은 MySQL 설치 자체의 일부이기 때문입니다. Kodi의 기본 데이터베이스 이름은 myvideos107mymusic60 (이 예에서는 음악 데이터베이스를 사용하지 않으므로 비디오 데이터베이스만 목록에 나타납니다).

MySQL 서버에서 데이터베이스를 제거해야 하는 경우 다음 명령을 사용할 수 있습니다.

 DROP DATABASE 데이터베이스 이름;

빈 데이터베이스는 공간을 거의 차지하지 않으며 동기화 시스템의 성능에 부정적인 영향을 미치지 않지만 깔끔하게 유지하는 것이 좋습니다.

데이터베이스가 있다면 좋은 시작이지만 Kodi가 데이터베이스를 적절하게 채우고 있는지 확인하기 위해 간단한 검사를 수행할 가치가 있습니다. MySQL 명령 프롬프트에서 다음 명령을 실행합니다( databasename 을 비디오 데이터베이스 이름으로 대체).

 databasename.movie에서 SELECT COUNT(*);
 databasename.tvshow에서 SELECT COUNT(*);

각 쿼리는 라이브러리에 포함된 총 영화 및 TV 프로그램 수를 각각 반환합니다(MySQL 데이터베이스에 따라). 보시다시피, 우리의 경우 182개의 영화와 43개의 TV 프로그램이 있는 라이브러리를 인식하고 있습니다.

항목 수가 0이면 라인 어딘가에 문제가 있는 것입니다. 다음은 일반적인 실수에 대한 빠른 문제 해결 체크리스트입니다.

  • Kodi를 시작하고 라이브러리를 다시 채우기 전에 advancedsettings.xml 파일을 컴퓨터에 복사했습니까?
  • GRANT ALL 명령을 사용하여 Kodi 계정에 MySQL 서버에 대한 액세스 권한을 부여했습니까?
  • MySQL 호스트 시스템의 방화벽에서 포트 3306을 열었습니까?
  • advancedsettings.xml 파일을 제거하고 로컬 데이터베이스로 되돌릴 때 소스가 유효하고 스캔 가능합니까? 그렇지 않은 경우 MySQL 문제와 별도로 소스 문제를 해결해야 합니다.
광고

모든 것이 좋아 보이고 SELECT COUNT 쿼리가 실행되면 미디어 센터 간 동기화를 활용할 준비가 된 것입니다.

5단계: 다른 Kodi 컴퓨터에 대해 4단계 반복

어려운 부분은 끝났습니다! 이제 다른 Kodi 컴퓨터 각각으로 이동하여 4단계에서 수행한 것과 동일한 텍스트를 advancedsettings.xml 파일에 배치하기만 하면 됩니다. 그렇게 하고(해당 시스템에서 Kodi를 다시 시작하면) MySQL 서버에서 라이브러리 정보를 즉시 가져와야 합니다(라이브러리를 다시 채울 필요가 없음).

LibreELEC를 실행하는 Raspberry Pi와 같은 일부 장치에서는 네트워크 설정으로 이동하여 "Kodi를 시작하기 전에 네트워크 대기"가 켜져 있는지 확인해야 제대로 작동합니다.

또한 비디오가 암호가 필요한 공유에 있고 새 컴퓨터에서 advancedsettings.xml을 설정한 후 오류가 발생하면 "파일" 보기로 이동하여 "비디오 추가"를 클릭해야 할 수 있습니다. Kodi가 자격 증명을 묻는 메시지를 표시하도록 공유 폴더에 액세스합니다. 그런 다음 "취소"를 클릭하거나 "없음" 유형의 미디어가 포함된 소스를 추가할 수 있습니다.

거기에서 하나의 상자에서 비디오를 시청하십시오. 완료되면 다른 Kodi 장치에서도 "시청"으로 표시됩니다! 한 컴퓨터에서 비디오를 중지한 다음 다른 컴퓨터에서 재생하도록 선택하여 중단한 부분부터 다시 시작할 수도 있습니다. 새로운 집 전체 라이브러리 동기화를 즐기십시오!

이미지 크레디트: FLIRC Kodi Edition 라즈베리 파이 케이스