ng Unreal có thể broadcast video từ nhiều nguồn nhiề ên một vài sơ ñồ có 3 cái server khác nhau, nhưng chúng ta c à Unreal Live Server cùng trên một máy chủ: ẽ chạy một phần mềm ULiveSer
Trang 1Hướng dẫn cài ñặt và cấu hình Stream Media Server với Unreal
1 Giới thiệu Unreal Streaming Media Server
Unreal Media Server là một phần mềm Streaming Media Server miễn phí của Unreal Streaming
Technologies Hệ thống ñược ứng dụng phát các chương trình media, truyền hình trực tuyến trên Website, hội nghị truyền hình, ñào tạo từ xa, giám sát video, internet Radio/TV, giải trí và kết hợp streaming các nội dung Media qua mạng internet
Unreal 9.5 mới nhất hỗ trợ các giao thức Streaming sau:
• UMS protocol cho streaming ñể play Unreal Streaming Media trên máy hệ ñiều hành
Windows
• RTMP/RTMPT protocol cho play streaminh với Flash Player
• Apple Http Live Streaming cho play streaming trên hệ ñiều hành iOS and và các thiết bị HLS-enabled
• MS-WMSP protocol cho play streaminh với Silverlight, Windows Media Player
• MS Smooth streaming protocol cho streaming với Silverlight
• MPEG2-TS protocol cho streaming với Set-Top boxes
Unreal SDK cho phép chúng ta có thể lập trình phát triển thêm các chức năng bổ sung cho hệ thống Unreal hỗ trợ tất cả các ñịnh dạng media tương thích Microsoft DirectX như: VI (DivX, XVid), MPEG-1, MPEG-2, MPEG-4, MPA, WMV, WMA, ASF, MP3, MOV, QuickTime Ngoài ra, chương trình có thể tự ñộng dò tìm và nhận dạng nhiều loại thiết bị kỹ thuật số hoặc các thiết bị media khác như máy quay kỹ thuật số, microphone, headphone, card TV-tunner, các thiết bị analog gắn với card Video hay card FrameGrabber
Unreal Streaming Media sever có các ñặc ñiểm sau:
• Người dùng có thể xem video bằng PC hoặc các thiết bị di ñộng
• Có thể broadcast video và audio từ các nguồn camera kỹ thuật số, microphones, TV-tuners, webcam v.v Live video sẽ ñược mã hóa bằng MPEG-4 codec H264 và audio sẽ ñược
mã bằng MPEG Layer-3 hoặc GSM 6.10
• Có thể phát video qua các kết nối mạng Modem, Slow DSL, DSL, T1, T3, LAN Nội dung phát có thể ñược record lại theo thời gian ñịnh sẵn hoặc khi phát hiện có chuyển ñộng
(motion detection)
• Dùng các protocols sau ñể phát video TCP, HTTP và RTP Multicast
Trang 2• Có cơ chế bảo mật Cho phép truy c
quyền truy cập theo role (Ví d
còn husband mới ñược xem bedroom v
ñộng của user
• Có SDK ñể lập trình tùy bi
Dưới ñây là sơ ñồ của hệ thống
Theo sơ ñồ trên thì hệ thống Unreal có th
nhau Chúng ta có thể thấy trên m
thể cài cả Unreal Media Server và Unreal Live Server cùng trên m
• Live source computers sẽ ch
camera, TV tuner v.v
• Media server sẽ chạy phần m
Video có thể là live capture t
máy chủ
t Cho phép truy cập anonymous hoặc hỏi username & password Phân
p theo role (Ví dụ visitor chỉ ñược phép xem video capture t
c xem bedroom và kitchen) Có cơ chế logging ñểình tùy biến và tự ñộng hóa server
ng Unreal có thể broadcast video từ nhiều nguồn (nhiề
ên một vài sơ ñồ có 3 cái server khác nhau, nhưng chúng ta c
à Unreal Live Server cùng trên một máy chủ:
ẽ chạy một phần mềm ULiveServer ñể capture video t
y phần mềm UMediaServer ñể broadcast video và audio lên m
à live capture từ ULiveServer hoặc các file video hay music
i username & password Phân
c phép xem video capture từ phòng khách,
logging ñể theo dõi các hoạt
n (nhiều camera) khác
ưng chúng ta cũng có ủ:
capture video từ webcam,
à audio lên mạng
c các file video hay music ñược lưu trữ trên
Trang 32 Cài ñặt và cấu hình Unreal Streaming Media Server
2.1 Cài ñặt máy chủ Unreall Stream Media Server
Yêu cầu phần cứng và phần mềm cho máy chủ Unreal Streaming Media Server
- Unreal không ñòi hỏi cấu hình máy chủ cao, bạn chỉ cần một máy chủ cấu hình tối thiểu PIV, Ram 1Gb và dung lượng ổ cứng sẽ tùy thuộc vào việc bạn có yêu cầu lưu giữ Media hay không Hiện mình ñang sử dụng một máy PC cấu hình Core dual , RAM 3Gb, HDD 500GB ñể làm máy chủ Stream Media cho 4 Camera
- Thiết bị Media thì chúng ta cần có Camera hoặc webcam cũng ñược, nếu sử dụng camera thì bạn cần có một thiết bị chuyển ñổi từ tín hiệu Analog của máy quay thành digital ñể ñưa vào máy tính, các bạn có thể tham khảo các thiết bị :
Dazzle DVD Recorder của Pinnacle
- Chúng ta Download Unreal Media Server và Unreal Live Server ñể cài ñặt
Sau khi download chương trình về, chúng ta giải nén file download và chạy file UMediaServer.msi
ñể cài ñặt Unreal Media Server
Trong cửa sổ màn hình giao diện Welcome > click chọn Next
Trang 4Trong cửa sổ màn hình giao diện
Next
Trong cửa sổ màn hình giao diện
cài ñặt chương trình bằng các nhậ
ện License Agreement > click chọn I Agree
ện Seclect Installation Folder > chúng ta có th
ng các nhập ñường dẫn và ô Folder hoặc Click chọn nút Browse
> rồi click chọn
> chúng ta có thể thay ñổi thư mục
n nút Browse ñể tìm
Trang 5Trong cửa sổ màn hình giao diện Confirm Installation
Sau khi chương trình cài ñặt xong, trong c
Close ñể ñóng cửa sổ cài ñặt lại
ện Confirm Installation > click chọn Next ñể tiế
t xong, trong cửa sổ giao diện Installation Completed
ñể tiếp tục
Installation Completed > click chọn
Trang 6- Cũng tương tự như quá trình cài ñ
ULiveServer.msi ñể cài ñặt chươ
- Nếu bạn public stream với IIS bạ
bạn run file UHttpProxy.msi ñề c
streaming video qua port 80 (tức l
mà chì cho ở ngoài truy cập vào webserver bên trong Ch
2.2 Cấu hình Unreal Stream Media Server
2.2.1 Cấu hình Unreal Live Server
Vào menu Star > Unreal Streaming
hình chương trình Unreal Live Server
Sources là 01 - Default, bạn xóa source n
và chọn Remove
i ñặt Unreall Media Server chúng ta giải nén file v
ương trình Unreal Live Server
i IIS bạn cần Download UHttpProxy và giải nén file UHttpProxy.zip,
ñề cài plugin cho IIS (máy bạn phải có cài IIS trư
ức là port web) nếu như mạng của bạn có firewall ch
ào webserver bên trong Chấp nhận các thông số m
u hình Unreal Stream Media Server
ình Unreal Live Server
Unreal Streaming > bạn chọn Live server configurator Unreal Live Server Trong cửa sổ chương trình lúc này bạn th
n xóa source này ñi bằng các click chuột phải lên item 01
i nén file và chạy file
Trang 7Bây giờ chúng ta tiến hành thêm Camera c
Sources chọn Add new media source
các thiết bị video capture device củ
camera sources nhưng một ñang ñ
chọn camera ñang Available Click ch
ành thêm Camera của chúng ta vào bằng cách click chu
Add new media source Check vào mục vào Add video channel
video capture device của bạn tên gì sẽ hiện ra trong list trong ví dụ
ang ñược sử dụng bởi một ứng dụng khác vì vậy chúng ta chClick chọn camera source > và bấm nút Next
ách click chuột phải lên Live Add video channel chúng ta sẽ thấy
n ra trong list trong ví dụ này tôi ñang có 2
ậy chúng ta chỉ có thể
m nút Next ñể tiếp tục
Trang 8Trong hộp thoại "Select caupter Media Type" n
cho phép chọn, nhưng nếu không th
chọn Next ñể tiếp tục
Trong hộp thoại Set Video Provider Paramenters chúng ta có th
Frame Size hoặc cũng có thể chọn m
chọn vào Choose Size ñể mở hộp t
Next ñể tiếp tục
• Trong Set Provider Paramenters m
giây, chúng ta nên chọn frame rate cao h
chuyển ñộng mượt mà hơn
i "Select caupter Media Type" nếu bạn có thiết bị hỗ trợ nén video th
u không thì mặc nhiên phần mềm chọn nén bằng chính Unrea
i Set Video Provider Paramenters chúng ta có thể chọ các kích c
chọn một frame size riêng với tùy chọn Custome Fram Size
ộp tùy chọn Frame Size > sau khi chọn Frame Size xong b
Trong Set Provider Paramenters mặt ñịnh chương trình chọn Frame Rate l
ọn frame rate cao hơn mức này ví dụ 25 hình trên giây
à hơn
nén video thì phần mềm sẽ
ng chính Unrea > click
các kích cở chuẩn từ Native
n Custome Fram Size > click
n Frame Size xong bạn chọn
n Frame Rate là 15 hình trên ình trên giây ñể hình ảnh
Trang 9Trong hộp thoại Add video transformer chúng ta có th
Video
• Click chọn tùy chọn Blend Logo
file logo, sau khi chọn vị trí hi
i Add video transformer chúng ta có thể add logo (1), thời gian (2) v
n Blend Logo > Config > trong logo path bấm chọ
ị trí hiện logo lên vide và mày sắc chúng ta bấm ch
i gian (2) và chữ (3) trên
ấm chọn nút ñể chỉ ñến
c chúng ta bấm chọn OK
Trang 10• Ckicl chọn tùy chọn Blend timestamp
của thời gian mà chúng ta mu
• Click chọn tùy chọn Blend Text
do2nh chữ mà chúng ta mu
video transformer
n Blend timestamp > click chọn Config ñể cấu hình màu s
à chúng ta muốn hiện trên video > xong rồi click chọn ok
n Blend Text > Config sau ñó chúng ta nhập nội dung d
à chúng ta muốn hiện trên video > click chọn ok ñể quay v
Trang 11• Sau khi add video transformation xong b
ñã xong bấm chọn Next ở h
Trong hộp thoại Add audio provider
thiết bị ngõ vào audio cho chúng ta ch
chọn ngõ vào audio tương ứng cho thi
audio chúng ta click chọn Next ñể
ormation xong bạn bấm vào View ñể xem trướ
n Next ở hộp thoại Add video transformer ñể tiếp tục
i Add audio provider > click chọn add audio channel > xuất hi
chúng ta chọn, tương tự như chọn video channel ở ñ
ng cho thiết bị video và cũng phải là available > sau khi ch
Trang 12Cũng tương tự như Video ở ñây chúng ta c
chúng ta không có thiết bị nén âm thanh chuy
click chọn Next ñể tiếp tục
Trong hộp thoại Set audio provider paramenters chúng ta ch
audio channel bên trên cho âm thanh,
âm thanh xong click chọn Next ñể
ñây chúng ta cũng có thể chọn chế ñộ nén âm thanh ho
nén âm thanh chuyên dụng, nên chọn nén âm thanh b
i Set audio provider paramenters chúng ta chọn ngõ vào Input caudio channel bên trên cho âm thanh, ñể nghe thử trước bạn bấm chọn Test Sau khi ch
n Next ñể tiếp tục
nén âm thanh hoặc không, do
n nén âm thanh bởi phần mềm >
õ vào Input của thiết bị ñã chọn ở
n Test Sau khi chọn input cho
Trang 13Trong hộp thoại Choose encoding profile, chúng ta chọn chế ñộ trong Stream delivery mode :
• Real time : cho những chương trình yêu cầu truyền thời gian thực có ñộ trễ thấp
• buffered : cho ứng dụng truyền thanh hoặc truyền hình TV
Trong phần Select encoding profile codecs and birate:
• Chọn ñường truyền dữ liệu internet tương ứng của hệ thống
• Chọn codecs cho video và âm thanh ñể bảo ñảm khả năng tương thích với ứng dụng player của ñầu cuối hỗ trợ
chọn lựa trên hình là một ví dụ của hệ thống của mình cho ñường truyền FTTH của VNPT và ứng dụng ñầu cuối ñược xem trên trình duyệt web với Flash layer
Với chọn lựa trên chúng ta sẽ thấy ñược với Encoding video H264 380kbps + ACC audio 96kbps tổng cộng là 380 + 96 = 476kbps vậy chúng ta phải có 1 ñường truyền tối thiểu là 512kbps
Trang 14Trong hộp thoại Source info thì Provider ID s
nhập Provider Description > click ch
• Nếu có nhiều camera thì m
Broadcasts Media ở phần sau chúng ta mu
ñó
Nếu như bạn không có yêu cầu lư
mà bấm Next ñể tiếp tục
Nhưng nếu bạn cần phải lưu Live Media l
ì Provider ID sẽ ñặt một số ID cho Media Source này, chúng ta c
> click chọn Next ñể tiếp tục
ì mỗi một camera sẽ có 1 Provider ID ñược gán, v
ần sau chúng ta muốn broadcasts camera nào sẽ
ưu giữ Live Media thì bạn có thể bỏ qua bước Configure Recording
u Live Media lại thì bạn chọn Enable Recording for this source trong
Trang 15Chọn Configure Storage ñể cấu h
• trong hộp thoại Recording Storage paramenters
chọn Root folder nếu muố
ñặt LiveServer
• file duration mặc ñịnh là 60 phút s
media bằng cách thay ñổi thông s
• all recorded files reside in root folder : ch
cùng 1 thư mục gốc
• creat daily directory structure : ch
trữ với tên thư mục là ngày l
trong hộp thoại configure recording b
• chọn archive live content when it's being streamed th
ñầu stream
• chọn creat schedule recording
ấu hình lưu media :
i Recording Storage paramenters
u muốn thay ñổi thư mục gốc của lưu media, mặc ñị
à 60 phút sẽ cắt lưu file mới, bạn có thể thay ñổ
ñổi thông số này
all recorded files reside in root folder : chọn tùy chọn này ñể lưu tất cả các file media tr
creat daily directory structure : chọn tùy chọn này ñể Unreal tự tạo mỗi ng
à ngày lưu file
i configure recording bên trên :
n archive live content when it's being streamed thì chương trình sẽ tự
n creat schedule recording > chọn add ñể qui ñịnh lịch lưu media
ặc ñịnh là thư mục cài
thay ñổi thời gian lưu 1 file
ất cả các file media trên
ỗi ngày 1 thư mục lưu
ẽ tự ñộng lưu khi bắt
u media
Trang 16Sau khi cấu hình Configure recording xong click ch
ULiveServer
vào menu Start -> Unreal Streaming
2.2.2 Cấu hình Unreal Media S
ình Configure recording xong click chọn Finish ñể hoàn tất quá tr
> Unreal Streaming > Live Server Config ñể khởi ñộng chươ
u hình Unreal Media Server
t quá trình cấu hình
ương trình
Trang 17vào Start > Unreal Streaming
Server Configuration
Click chuột phải vào Live broadcasts
Trong hộp thoại New Live Broadcasts
Static Live Broadcast, còn nếu bạ
Dynamic live broadcast > Click ch
> click chọn Unreal Media Server ñể khởi ñộ
ào Live broadcasts > click chọn New Live Broadcast
i New Live Broadcasts > ở bài Lab này sử dụng IP tĩnh do ñó chúng ta ch
ếu bạn không xác ñịnh ñược IP của Live Server th
> Click chọn OK
ởi ñộng Unreal Media
nh do ñó chúng ta chọn chọn
a Live Server thì bạn có thể chọn
Trang 18Trong cửa sổ hộp thoại New live broadcasts bạn có những tham số cần cấu hình như
• Live broadcast Alias: bạn có thể ñặt tên tùy ý cho live broadcast này của bạn
• Live source IP address and ID: ñịa chỉ IP hay host của máy chủ Unreal Live Server và ID
là mã số của Live media provider ID trong phần Source ID ở trên
• Unicast delivery: chọn chỉ tùy chọn này nếu như bạn chỉ có nhu cầu truyền Media từ
Source ñến cho 1 máy tính xem
• Multicast delivery: chọn tùy chọn này nếu bạn muốn phát Media từ source ñến nhiều người
xem trên internet ví dụ như truyền hình internet
• Limit per-user playback time: giới hạn thời gian mà một người ñược xem media
• allow delegate media server to connect: cho phép các máy chủ media khác kết nối ñến máy chủ media của bạn với Access Restrictions ñể cấp quyền cho các máy chủ nào ñược
phép
User authentication method cấu hình cấp quyền truy cập media
• Anonymous access: chọn tùy chọn này ñể cho phép bất kì ai cũng ñược phép xem (ñây là
cấu hình mặc ñịnh)
• Internal authentication: Chọn tùy chọn này ñể yêu cầu người dùng phải ñăng nhập trước
khi coi video, lúc này phải chọn thêm là gán quyền truy cập cho user thuộc group nào Basic users, Medium users và Advanced users
• Session-based authentication: Chọn tùy chọn này ñể khi bạn viết một ứng dụng web có
tích hợp với hệ thống này, người dùng login vào web rồi thì web sẽ tạo một session cho phép người dùng truy cập vào media thay vì phải login thêm một lần nữa
Limit player connections to this broadcast: giới hạn số lượng người xem kết nối ñến kênh phát này
• Limit total concurrent connections number: tùy chọn và thông số này nhằm giới hạn mức
tối ña cho phép tổng số kết nối ñồng thời ñến kênh media này
• Limit concurrent connections per each authenticated user: tùy chọn và thông số này giới
hạn số người dùng có ñăng nhập ñồng thời tối ña
• Do not accept new connections if throughput exceeds: tùy chọn và thông số này cho hệ
thống biết ngừng không cho phép người xem mới nếu dung lượng truyền vượt số qui ñịnh