Digital Living Network Alliance (DLNA) cho phép chia sẻ nội dung số giữa các thiết bị đa phương tiện (multimedia devices). DLNA dùng UPnP để quản trị, phát hiện và kiểm soát nội dung số.
DLNA giúp được các việc sau
- Sắp xếp và lưu trữ thông tin về các file audio, picture và video.
- Cung cấp dữ liệu theo yêu cầu của DNLA client, không bao gồm việc giải mã âm thanh/hình ảnh
Các thành phần có thể ảnh hưởng đến tốc độ truyền dữ liệu
- Mạng (có dây hay không dây): bao gồm tốc độ truyền qua mạng, mạng có dây nhanh hơn mạng không dây.
- USB port: Các ổ đĩa nối với rPI qua cổng USB 2.0 nhờ vào board HDD-USB (box ổ cứng rời). Có board truyền dữ liệu nhanh hơn board khác, board 3.0 nhanh hơn 2.0 một ít mặc dù cùng giao tiếp với cổng USB 2.0 trên rPI
- Hệ thống file của ổ đĩa: rPI mặc định làm việc với Ext4, với Ntfs cần cài đặt ntfs-3g. Mặc dù ntfs-3g đã cải tiến tốc độ đọc/ghi trên hệ thống file Ntfs nhưng vẫn chậm hơn so với Ext4.
MiniDLNA là phần mềm máy chủ hoàn toàn tương thích với các máy khách DLNA/UPnP. MiniDLNA phục vụ các file đa phương tiện (nhạc, hình ảnh, phim) cho các máy khách trong mạng. MiniDLNA đơn giản, tương đối nhẹ nhưng ít tính năng hơn MediaTom.
1. Cài đặt MiniDLNA
sudo apt-get install minidlna
2. Kết nối ổ đĩa vào MiniDLNA
Ta thiết lập qui luật mount tự động mỗi phân vùng gắn vào RPI với một thư mục con trong /media, tên thư mục con là cố định với mỗi partition của đĩa. Nhờ vậy việc cắm/rút ổ đĩa không cần phải quét lại toàn bộ nội dung số trên đĩa.
MiniDLNA dùng user minidlna trong hệ thống unix nên ta gán quyền cho user này trên thư mục /media và các thư mục con
sudo chown minidlna:minidlna -R /media
3. Cấu hình MiniDLNA
Dùng lệnh sau để soạn thảo file cấu hình
nano /etc/minidlna.conf
Ta bắt đầu với việc chỉ ra các thư mục chứa các file media bằng các dòng bắt đầu với media_dir= , các tiền tố A, P và V tương ứng với audio, picture và video. Có thể dùng nhiều dòng A, P hay V.
media_dir=P,/media/HDD1/Picture media_dir=V,/media/HDD2/Cartoon media_dir=V,/media/HDD3/Music db_dir=/var/cache/minidlna log_dir=/var/log/minidlna inotify=yes notify_interval=300
Ta cần DLNA định kỳ quét các thư mục media để cập nhật các file mới, khi đó ghi inotify=yes và định kỳ bao nhiêu lâu quét một lần notify_interval=giây
Để DLNA tạo lập lại cơ sở dữ liệu về các file media, chạy lệnh
sudo service minidlna force-reload
Việc quét thư mục để tìm file media có thể rất lâu nếu có rất nhiều file media, trung bình DLNA trên RPI có thế quét hơn 50 file video trong 1 phút, quét file audio nhanh hơn gấp nhiều lần.
DLNA và Windows
Trong Network, chúng ta có thêm mục Media Devices, trong đó liệt kê tên của DLNA
- View device webpage mở trang web của miniDLNA, trong đó đếm số file được thêm vào CSDL
- Open Media Player mở Windows Media Player để phát nhạc hay phim. Cho đến phiên bản 2.1.3, VLC vẫn bị lỗi khi mở file từ DLNA.