Ðề: [Cheap Home NAS] - Hướng dẫn tự build một NAS cho mục đích HD/Lossless Music/Torrent
Như các bạn đã biết mục đích bác Meg2k lập nên các topic này là để thiết lập một server tương đối, chạy 24/7 và ít hao điện nhất do vậy em viết bài viết này để có thể làm sao tận dụng được server làm HTPC luôn, do vậy nó sẽ có những mặt mạnh và mặt yếu em sẽ chỉ ra trong quá trình viết. Việc so sánh giữa HTPC thuần tuý, Media box, với cái PC NAS HTPC có lẽ sẽ không được chuẩn lắm, thứ nhất là về cấu hình thứ 2 là về giá tiền thứ 3 là về sự tiện lợi nên nếu các bác đừng có mắng mỏ gì em khi thấy mức độ phức tạp của việc cài đặt này nhé. Cái lợi của việc kết hợp này là tiết kiệm nguồn lực. Nếu các bác chỉ chạy server cho torrent thôi thì hầu như không tốn mấy, theo như bác Meg2k trình bày ở các bài trước thì chỉ độ khoảng 45W - 60W, nếu các bác xem film và nghe nhạc thì lúc này CPU mới hoạt động, khi sử dụng xong log out ra thì máy lại trở về chế độ không tải. Bất cập hiện nay là để xem được bluray/hddvd thì bắt buộc phải có card màn hình rời hoặc nâng cấp CPU lên mạnh tí, mà em nghĩ với giá thành của bluray player bây giờ, thì chắc em cũng sẽ dẹp luôn cái ổ bluray của em để chuyển sang dùng stand alone bluray player.
Phần 1- Cấu hình:
Em phải nói lại về cấu hình và giá cả hiện thời (không chính xác lắm) của em đang dùng cho cái PC NAS + HTPC này:
Mainboard: GA-MA78GM-S2H RS780 mATX (Card màn hình ATI Radeon HD 3200 onboard và 8 kênh audio ra cổng HDMI) ($60)
CPU: Athlon 64 X2 5200 ($50)
Memory: 2G ($30)
PSU: Thermaltake 430W ($25)
HDD: 30G chạy OS (Không nhờ bác Meg2k là em đem vứt rồi

) )
HDD chứa film và nhạc không tính đến vì cái này thì bác nào cũng cả rổ rồi
Case: hồi làm server thì em gắn case cùi vứt lăn lóc trong kho từ ngày chuyển nó thành HTPC thì em sắm một case tương đối đẹp (Antec 900), may quá mua được second hand nên rẻ ($60). Em khoái case này vì mẫu mà đẹp, khoang chứa HDD thông thoáng mát mẻ và quan trọng là để được nhiều HDD, em đang để 6HDD và dùng autofs (thanks bác neoone) không dùng nữa tự động tắt còn HDD nào đang chạy thì nhiệt độ tối đa có 32 độ thôi.
Hệ điều hành: Ubuntu server 32bit Karmic 9.10
Rồi bắt tay vào thiết lập cái HTPC.
Các bước chuẩn bị:
- Gắn thiết bị: Em chỉ nối 1 dây HDMI từ PC NAS vào TV cho cho cả hình ảnh và âm thanh. Từ TV bác có thể nối HDMI out vào HDMI in của receiver hoặc optical để ra âm thanh đều được (em dùng optical, vì receiver cùi của em không có HDMI)
- Cài đặt ubuntu-desktop: (Hiện giờ em vẫn đang remote từ máy khác vào PC NAS server nên các thao tác hiện giờ em vẫn đang dùng putty trên máy workstation là một máy windows)
Mã:
sudo apt-get update
sudo install ubuntu-desktop
sau khi cài đặt xong các bác restart lại máy tính, lúc này các bác sẽ thấy trên màn hình TV sẽ hiện ra bảng log in của Gnome. Khi các bác log in vào ngay từ màn hình chính này thì gnome mới khởi động, còn không thì vẫn như là server, điều khiển remote từ máy khác. Sau khi log in, tuỳ theo TV và độ phân giải TV các bác có thể sẽ hoặc không thấy hết màn hình hoặc là sẽ có khung viền đen xung quanh, tuy nhiên cũng có khi các bác sẽ thấy màn hình hiện lên đẹp luôn rồi. Cho dù trường hợp nào đi nữa thì các bác cũng phải cài đặt driver card màn hình và trình điều khiển card màn hình
- Cài đặt card màn hình:
Nếu bác dùng mainboard có card màn hình ATI (kể cả onboard và card rời) thì dùng cách này, em chưa thử cài đặt cho card Nvidia, để khi nào em cài thử em sẽ update bài viết
Download catalyst 9.10 từ website của ATI
http://support.amd.com/us/gpudownlo...spx?type=2.4.1&product=2.4.1.3.5&lang=English :
Mã:
cd
wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-9-10-x86.x86_64.run
sh ./ati-driver-installer-9-10-x86.x86_64.run
Lúc này bác nhìn lên màn hình TV sẽ thấy hộp thoại
ATI Proprietary Linux Driver Setup xuất hiện, các bác chọn lựa chọn đầu tiên, nhấn Continue sẽ hiện ra bảng
ATI License Agreement, các bác nhấn Agree thì nó sẽ hiện ra tiếp phương thức install Automatic hay Custom, các bác cứ chọn Automatic và bắt đầu install. Install xong sẽ có bảng thông báo
ATI Proprietary Linux Driver Installation is Complete
Config ATI video card và reboot:
Mã:
sudo /usr/bin/aticonfig --initial
sudo reboot
Sau khi reboot và login vào GNOME, các bác vào Application/Catalyst Control Center phần Display Manager chỉnh lại độ phân giải cho hợp lý với TV của các bác.
- Thiết lập sound card:
Khi các bác khởi động GNOME nếu các bác chưa nghe thấy âm thanh gì lúc khơi động tức là Ubuntu chưa hiểu được phần điều khiển âm thanh của mainboard. Các bác vào xem các thiết bị âm thanh hiện nay của mình như sau:
Như của em sẽ hiện ra như sau:
Mã:
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC889A Analog [ALC889A Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC889A Digital [ALC889A Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
Tức là máy em hiện nay máy em có thể phát âm thanh ra 3 đường: Analog, Digital (coaxial hoặc optical), và ATI HDMI (em dùng cái này).
Mặc định trình sound của ubuntu là mute, các bác phải bật lên thì mới hoạt động. Bác khởi động trình điều khiển sound của ubuntu:
một bảng điều khiển hiện lên như sau:
Như các bác thấy ở cái ô vuông gần cuối, sẽ thấy 2 chữ MM, có nghĩa là Mute, bây giờ các bác nhấn m để nó chuyển thành oo như thế này
Các bác thiết lập tiếp file cấu hình cho sound như sau, tạo file cấu hình bằng dòng lệnh:
Mã:
sudo nano /etc/asound.conf
Tuỳ theo các bác phát âm thanh từ tín hiệu nào mà các bác phải chỉnh file cấu hình cho đúng với tín hiệu đó. Như của em, nối âm thanh từ HDMI thì em viết vào file asound.conf thế này:
Mã:
pcm.!default {
type hw
card 1
device 3
}
Nếu các bác dùng cổng SPDI/F thì phần device chỉnh thành số 2.
Rồi bây giờ các bác khởi động lại xem có âm thanh chưa nhé.
Như vậy là các bác đã sẵn sàng cho cái PC NAS thành HTPC rồi. Bây giờ cài đặt phần mềm.
Phần 2: Cài đặt phần mềm
- Phần nhìn: Yêu cầu: Xem tốt các film theo chuẩn nén h264 ở cả 720p và 1080p
1. Mplayer và SMplayer
Đối với các bác có cấu hình như của em hoặc như cấu hình như của bác Meg2k thì các bác cài
MPlayer và
SMplayer để xem được các loại 720p, 1080p ở mức độ ổn nhất và nhẹ nhàng nhất. Phần mềm này tương tự như MPC-HC để chạy trong windows. Codec được dùng sẽ là CoreAVC nên các bác có thể tin tưởng ở chất lượng hình ảnh.
Bước 1: Download Sources
Mã:
cd
mkdir ~/mplayer-with-coreavc
cd ~/mplayer-with-coreavc
sudo apt-get install build-essential subversion pkg-config xorg-dev
sudo apt-get install gcc-4.3 # Karmic users
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
svn checkout http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux
Cài đặt bộ Codec các loại:
Mã:
sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list \
--output-document=/etc/apt/sources.list.d/medibuntu.list &&
sudo apt-get -q update &&
sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring &&
sudo apt-get -q update
Install codec
Mã:
sudo apt-get install w32codecs #cái này cho 32bit
Bước 2: Cài đặt DShowServer, phần mềm cho phép mplayer có thể dùng CoreAVC
Mã:
cd coreavc-for-linux/dshowserver
make
sudo cp dshowserver registercodec /usr/local/bin
Bước 3: Cài đăt và register CoreAVC. CoreAVC hiện nay em đang dùng là bản 1.9.5.
Mã:
cd
wget http://download797.mediafire.com/g7zzjn4ygfog/emkmjuj2zoh/CoreAVCDecoder.ax
sudo mkdir /usr/local/lib/win32/
sudo cp ~/CoreAVCDecoder.ax /usr/local/lib/win32/
Nhập registration code vào registry
Mã:
test -d ~/.mplayer || mkdir ~/.mplayer
registercodec -r ~/.mplayer/registry32 -k "HKLM\\Software\\CoreCodec\\CoreAVC Pro\\Serial" -v "D82WN-54ZIO-CORE-CUHAU-FIMHF"
Kiểm tra xem có hoạt động chưa
Mã:
dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449
Nếu mọi việc trôi chảy thì kết quả sẽ hiện ra như sau:
Mã:
-b 12 -f 0x34363248 -o 0x30323449
No id specified, assuming test mode
Opening device
Called unk_IsDebuggerPresent
len: 992
ProductVersion: 1.9.5
Win32 LoadLibrary failed to load: nvcuvid.dll, /usr/lib/win32/nvcuvid.dll, /usr/local/lib/win32/nvcuvid.dll
Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
Decoder is capable of YUV output (flags 0x2b)
Setting fmt
Starting
Initialization is complete
Bước 4: Compile và cài đặt mplayer
Mã:
cd
cd ~/mplayer-with-coreavc/mplayer
./configure
CC=gcc-4.3 ./configure
Nếu không thấy báo lỗi gì là compile thành công, bây giờ phải nhúng coreAVC vào Mplayer như sau:
Mã:
wget http://paste.ubuntu.com/197237/plain/ -qO - | patch -p0
Kết quả nếu tốt sẽ ra như sau:
Mã:
(Stripping trailing CRs from patch.)
patching file libmpcodecs/vd.c
Hunk #1 succeeded at 25 (offset -4 lines).
Hunk #2 succeeded at 57 (offset -5 lines).
(Stripping trailing CRs from patch.)
patching file Makefile
Hunk #2 succeeded at 519 (offset 295 lines).
(Stripping trailing CRs from patch.)
patching file libmpcodecs/vd_dshowserver.c
Cài đặt mplayer:
Copy file codec vào cấu hình
Mã:
test -f ~/.mplayer/codecs.conf || cp etc/codecs.conf ~/.mplayer
Mã:
sudo nano ~/.mplayer/codecs.conf
Copy phần này vào file đó
Mã:
videocodec coreserve
info "CoreAVC DShow H264 decoder 1.3 for x86 - http://corecodec.org/"
status working
format 0x10000005
fourcc H264,h264 H264
fourcc X264,x264
fourcc avc1,AVC1 AVC1
fourcc davc,DAVC
fourcc VSSH
driver dshowserver
dll "CoreAVCDecoder.ax"
guid 0x09571a4b, 0xf1fe, 0x4c60, 0x97, 0x60, 0xde, 0x6d, 0x31, 0x0c, 0x7c, 0x31
out YV12,IYUV,I420,YUY2
bây giờ đến lượt cài SMPlayer, SMplayer chỉ lầ phần GUI tương tác với Mplayer mà thôi.
Mã:
sudo nano /etc/apt/sources.list
Thêm 2 dòng sau vào phần cuối
Mã:
deb http://ppa.launchpad.net/rvm/testing/ubuntu karmic main
deb-src http://ppa.launchpad.net/rvm/testing/ubuntu karmic main
chạy tiếp dòng lệnh
Mã:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com E130B2A5
Mã:
sudo apt-get update
sudo apt-get install smplayer
Rồi, bây giờ bạn tạm rời màn hình putty, nhìn vào màn hình TV và khởi động SMPlayer ở phần Application/Sound & Video (sorry là vẫn chưa biết cách nào chụp màn hình trong GNOME được nên vẫn chưa có hình mình hoạ)
Nhấn Ctrl + P để vào Preferences:
- Tab General: Mplayer Executable: Mplayer
Video: Output driver: xv
Audio: alsa (HDMI nếu bạn dùng HDMI)
- Tab Performance: Bỏ hết các tuỳ chọn mặc định như: Allow frame drop, allow hard frame drops (những tuỳ chọn này sẽ làm máy chậm đi)
Threads for decoding: 3 (nếu duocore)
Chọn use CoreAVC if no other codec specified
- Tab Advance: Options for Mplayers
phần options thêm vào dòng sau: -af channels=6:6:0:0:1:4:2:3:3:5:4:1:5:2
Mục đích của dòng này là để cho ra đúng âm thanh 5.1
Rồi bây giờ các bác thử bật một film xem sao nhé. Các bác có thể bật trực tiếp từ file film. SMPlayer đã có sẵn phụ đề, và mặc định của nó là subtitle on nên các bác không lo gì về việc không hiện phụ đề nhé
2. XBMC
Ưu điểm của XBMC là đẹp và quản lý thư viện film, nhạc tiện lợi, nhược điểm là nặng chạy trên máy mạnh mạnh tí còn mượt mà chứ chạy trên cái PC NAS của em thì hơi chậm. Xem 720p thì được, chứ xem 1080p thì cà giựt cà giựt. Lý do hiện nay vì bộ codec của XBMC sử dụng có 1 thread để xử lý đồ hoạ, trong khi ưu thế của SMPlayer là sử dụng được nhiều threads hơn, giảm tải cho CPU. Chính vì vậy, XBMC sẽ thích hợp hơn đối với các bác có cấu hình tường đối một tí hoặc bác gắn thêm card màn hình rời (Hiện nay đối với linux thì chỉ có card NVidia là có hỗ trợ hardware acceleration nên để hôm nào em kiếm cái card 8400 về test thử). Nếu bác nào đã sử dụng qua XBMC trong Windows rồi thì sẽ thấy là nó cũng sẽ chơi được các loại định dạng video và audio, do vậy, nếu ai có máy mạnh thì nên dùng XBMC thì thật là hoàn hảo.
Phần cài đặt
Các bác có thể cài đặt trực tiếp trên nền GNOME trong synaptic, tuy nhiên em thích dùng remote desktop hơn nên lại Putty các bác nhé
thêm thư viện của xbmc vào sources:
Mã:
sudo nano /etc/apt/sources.list
Chèn 2 dòng sau vào sources.list
Mã:
deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/team-xbmc/ppa/ubuntu karmic main
Cài key bằng dòng lệnh
Mã:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 91E7EE5E
update kho phần mềm và cài đặt
Mã:
sudo apt-get update
sudo apt-get install xbmc
Sau khi cài đặt xong, các bác vào Applications/Sound & Video/XBMC Media Center. Skin default của XBMC PM3.HD, bác nào máy mạnh hơn tí nữa thì copy skin aeon vào. Các bác copy skin vào thư mục sau ~/.xbmc/skin/ . Các bác có thể download skins ở đây:
http://xbmc.org/forum/forumdisplay.php?f=67
Em không hướng dẫn kỹ cách sử dụng vì đã có nhiều bài hướng dẫn cách sử dụng XBMC rồi nên em bỏ qua bước này. Bác nào cảm thấy khó khăn thì tham khảo thêm ở trang
này nhé.
Tuy nhiên để chạy được thì các bác chỉnh setting một tí, vì setting default theo kinh nghiệm của em là không chạy được. Sau khi màn hình chính của XBMC hiện lên, các bác vào mục Settings, vào tiếp Video --> Player -->Render Method. Các bác chọn render method là
Advanced Shaders (GLSL). Nếu bác nào dùng card Nvidia thì chọn
VPDAU để tận dụng hardware acceleration.
Tiếp theo các bác lại vào mục Settings chọn System và vào phần Audio Hardware. Các bác chỉnh Audio Output Device cho đúng với cái mà các bác đang xài. Em dùng qua HDMI nên em chọn HDMI, bác nào dùng qua SPDI/F thì chọn Digital.
Như vậy mọi việc đã sẵn sàng cho việc xem và nghe rồi ạ. Các bác quay trở ra màn hình chính (Nhấn Esc liên tục thì sẽ thấy). Các bác vào Videos add files videos vào, vào Music add music vào rồi thế là nghe và xem thôi ạ.
Nếu các bác muốn khi log in vào, ubuntu sẽ chạy thẳng vào XBMC thay vì vào GNOME thì trong màn hình log in, các bác nhìn xuống phía dưới. Ở phần Select Session, các bác đổi lại XBMC thay vì GNOME. Như vậy bây giờ các bác đã có một HTPC đúng nghĩa ạ
- Phần nghe : Yêu cầu chơi được các loại nhạc lossless trên máy cấu hình yếu
Không như phần nhìn, phần nghe cài đặt khá đơn giản, tuy nhiên là nếu các bác google music players cho ubuntu thì sẽ thấy vô vàn các loại phần mềm, không biết nên chọn cái nào. Nói chung em cũng nghiên cứu rồi, không có cái player nào hay như foobar hết, nhưng cũng có một vài cái em thấy tạm được, như Amarok, qmmp, và Exaile. Phần này em chỉ giới thiệu phần mềm em đang xài và thấy khá ổn, chơi được các loại định dạng và có hiện cover, đó là Exaile. Các bác có thể tìm hiểu thêm về Exaile thông qua trang chủ của nó là
http://www.exaile.org/ . Nói thêm là nếu bác nào có thể sử dụng XBMC thì em thấy nên dùng cài Music của XBMC luôn cho đẹp
Tương tự như việc cài đặt các phần mềm khác, các bác cũng phải add vào source list thư viện của Exaile 2 dòng sau:
Mã:
deb http://ppa.launchpad.net/exaile-devel/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/exaile-devel/ppa/ubuntu karmic main
Và nhập key
Mã:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 43CBFCC0
sau đó install:
Mã:
sudo apt-get update
sudo apt-get install exaile
Bây giờ các bác vào Application/Sound&Video/ bật Exaile lên và add toàn bộ folder chứa music của các bác vào. Exaile sẽ tự động phân ra theo artists, theo album, phần cover thì có thể lấy ngay từ folder music hoặc nếu album nào không có folder thì Exaile sẽ tự download xuống từ fm. Bây giờ mời các bác thưởng thức thành quả.
Version 0.0.0.1