Thủ thuật công nghệ

Đồng bộ dữ liệu hệ thống media với XBMC

Đồng bộ dữ liệu hệ thống media với XBMC

Quản Trị mạng - Hiện tại, XBMC đang là 1 trong những giải pháp tạo và chia sẻ trung tâm dữ liệu media phổ biến nhất hiện nay. Nhưng nếu mô hình này bị dàn trải quá 1 diện tích bất kỳ nào đó, thì các thông tin về thư viện, danh sách dữ liệu media sẽ không kịp cập nhật. Trong bài viết dưới đây, chúng tôi sẽ giới thiệu với các bạn một số thao tác cơ bản để khắc phục vấn đề này.

<>

<>XBMC đã được tích hợp sẵn nhiều thư viện hệ thống để giúp người dùng dễ dàng theo dõi được các file media nào đã được trình chiếu. Tuy nhiên, quá trình này lại chỉ diễn ra ở chế độ mặc định và ở mức local – hệ thống nội bộ. Nếu bạn đã có sẵn thiết bị hỗ trợ <>XBMC trong phòng khách và phòng ngủ thì quá trình giao tiếp khi được bố trí như vậy sẽ không thể thực hiện được. Ví dụ, nếu bạn xem 1 chương trình TV nào đó trong phòng khách và phòng ngủ, sau đó đánh dấu lại bằng chức năng của XBMC, thì hệ thống sẽ chỉ hiển thị những chương trình đã xem trên 1 vài kênh nào đó. Tùy chọn <>Pause/Resume và <>Bookmark cũng chỉ hoạt động trong mô hình local. Nếu bạn tạm dừng 1 bộ phim hoặc đánh dấu bằng <>Bookmark thì không thể truy cập và xem lại bộ phim đó, trừ khi bạn thực hiện bằng chính hệ thống đã tạo ra trước đó.

Tuy nhiên, không nên áp dụng những bước dưới đây trong trường hợp:

 - Bạn chỉ có 1 mô hình XBMC trong nhà

 - Lưu trữ dữ liệu media trên 1 ổ cứng local có liên quan tới XBMC và không áp dụng bất cứ phương thức chia sẻ nào

 - Đang sử dụng XBMC dựa trên thiết bị phần cứng Xbox

Những ưu điểm khi áp dụng:

 - Có nhiều hệ thống XBMC trong nhà

 - Lưu trữ dữ liệu trên server

Cơ chế hoạt động của XBMC:

Phần cốt lỗi của quá trình đồng bộ hóa này dựa trên kiến thức cơ bản về <>MySQL, tuy nhiên các bạn cũng không nên quá lo lắng nếu không nắm rõ kiến thức về <>MySQL. Để thực hiện, chúng ta sẽ cài đặt bản <>Free của <>MySQL, tạo cơ sở dữ liệu lưu trữ thông tin dành cho <>XBMC, và sau đó “hướng dẫn” <>XBMC ghi lại toàn bộ hoạt động, thành phần có liên quan vào cơ sở dữ liệu đó. Những yếu tố cần thiết cần sử dụng:

 - Nhiều hơn một trung tâm xử lý media với ứng dụng XBMC đã được cài đặt (phiên bản 10.0 hoặc mới hơn)

 - Phiên bản Free của MySQL (trong bài thử nghiệm này là 5.5)

Cài đặt và cấu hình MySQL với XBMC:

Trong bài thử nghiệm này, chúng tôi sẽ tiến hành cài đặt <>MySQL trên media server sử dụng <>Windows Home Server. Khá đơn giản và dễ dàng, giữ nguyên các tùy chọn mặc định, đánh dấu vào ô <>Launch the MySQL Instance Configuration Wizard trước khi nhấn <>Finish tại màn hình cuối cùng. Tiếp đó là quá trình thiết lập <>MySQL, đầu tiên là 2 chế độ <>Detailed và <>Standard Configuration. Các bạn chọn <>Standard Configuration và nhấn <>Next:

Đánh dấu check vào ô <>Install As Windows Service, đặt tên cho dịch vụ để dễ quản lý, tiếp tục chọn ô <>Launch the MySQL Server Automatically để đảm bảo rằng <>server MySQL luôn luôn hoạt động mỗi khi chúng ta cần đến:

Tại màn hình tiếp theo, đánh dấu vào ô <>Modify Security Settings, điền mật khẩu vào ô <>New root password và chọn <>Enable root access from remote machines. Tiếp tục nhấn <>Next tại các bước tiếp theo. Và bây giờ là thời điểm để tạo cơ sở dữ liệu trên server <>MySQL, truy nhiên có 1 điểm khá quan trọng cần chú ý trước khi chúng ta tiếp tục, đó là <>XBMC không lưu trữ dữ liệu profile trong cơ sở dữ liệu và mỗi profile có thư viện riêng. Có nghĩa là chúng ta phải tạo cơ sở dữ liệu MySQL đối với mỗi profile sử dụng. Ví dụ như:

 - Nếu sử dụng profile đơn thuần trên mỗi XBMC hoặc chỉ tập trung vào việc đồng bộ thư viện: tạo 1 bộ cơ sở dữ liệu và áp dụng với từng profile trên mỗi XBMC.

 - Nếu sử dụng nhiều profile thì bạn hãy tạo riêng 1 bộ cơ sở dữ liệu đối với từng profile để đồng bộ dữ liệu qua hệ thống mạng.

Trước tiên, chúng ta sẽ tạo profile đầu tiên, mở <>MySQL và gõ lệnh:

C:Program FilesMySQLMySQL Server 5.5binmysql.exe” “–defaults-file=C:Program FilesMySQLMySQL Server 5.5my.ini” “-uroot” “-p”

Khi cửa sổ dòng lệnh hiển thị yêu cầu nhập mật khẩu, việc tiếp theo là tạo tài khoản user dành cho cơ sở dữ liệu trên server và trên hệ thống. Cụ thể tại đây chúng ta sẽ tạo 2 <>database dành riêng cho thư viện <>video và <>music. Bắt đầu bằng việc tạo tài khoản user chính và cơ sở dữ liệu:

Gõ lệnh dưới đây để tạo tài khoản user trên database server:

CREATE USER ‘xbmc’ IDENTIFIED BY ‘xbmc’;

Tham số trong dấu ngoạc đơn đầu tiên là tên tài khoản user, thông tin trong phần ngoặc đơn thứ 2 là mật khẩu. 1 hệ cơ sở dữ liệu <>MySQL trên 1 server riêng biệt sẽ ghi lại toàn bộ dữ liệu về chương trình TV hoặc bộ phim nào đó bạn muốn xem:

CREATE database xbmc_video CHARACTER SET latin1 COLLATE latin1_general_ci;
CREATE database xbmc_music CHARACTER SET latin1 COLLATE latin1_general_ci;

2 câu lệnh trên sẽ tạo ra 2 cơ sở dữ liệu dành cho video và music, đồng thời khởi tạo tiền tố phân biệt dành riêng cho cơ sở dữ liệu, còn <>latin1 là yếu tố cần thiết dành cho <>XBMC để ghi dữ liệu vào database bình thường. Nếu gặp lỗi và muốn xóa cơ sở dữ liệu thì các bạn chỉ cần dùng lệnh <>DROP DATABASE databasename;

GRANT ALL ON xbmc_video.* TO ‘xbmc’;
GRANT ALL ON xbmc_music.* TO ‘xbmc’;

Trong bước này, chúng ta sẽ gán user <>xbmc toàn quyền truy cập tới cả 2 cơ sở dữ liệu. Còn nếu muốn sử dụng XBMC để chuyển tiếp giữa các file khác nhau trong album ca nhạc hoặc video thì sử dụng thêm 1 số lệnh như dưới đây:

ALTER TABLE xbmc_music.song ADD INDEX idx_idArtist(idArtist);
ALTER TABLE xbmc_music.song ADD INDEX idx_idGenre(idGenre);
ALTER TABLE xbmc_music.song ADD INDEX idx_idAlbum(idAlbum);

Cú pháp trên có chức năng “tăng tốc” truy cập cho người dùng với đầy đủ chức năng trong khi vẫn sử dụng <>XBMC như 1 công cụ <>Media Player. Trong trường hợp bạn chỉ dùng profile đơn thuần thì đến đây là chúng ta đã hoàn tất, còn nếu muốn tạo thêm profile khác thì chỉ cần làm lại những bước như trên, thay thế tên user và mật khẩu theo nhu cầu.

Trước khi hoàn tất bước này, các bạn hãy kiểm tra lại tài khoản và database đã được tạo và hoạt động ổn định bên trong MySQL server hay chưa:

SELECT host,user from mysql.user;

SHOW DATABASES;

Nếu chuẩn xác, hệ thống sẽ hiển thị kết quả trả về tương tự như hình trên, và chỉ còn lại 1 bước duy nhất trước khi cấu hình XBMC: đảm bảo rằng cổng <>3306 (cổng của MySQL server) đã được mở sẵn trên hệ thống Firewall của máy tính đã cài đặt MySQL.