CHƯƠNG 1. BÀI TOÁN XÂY DỰNG HỆ THỐNG DỊCH VỤ TRUYỀN HÌNH DI ĐỘNG TRÊN SÓNG 3G – MOBILETV 1.1 Tổng quan chung về MobileTV và Streaming MobileTV là dịch vụ cho phép người dùng 3G tiếp cận các phương tiện giải trí chất lượng cao mọi lúc mọi nơi như xem các kênh truyền hình trực tiếp (LiveTV), các bộ phim hay các video clip theo yêu cầu (VOD) chỉ với chiếc điện thoại hòa mạng 3G. Khách hàng có thể sử dụng dịch vụ qua wapsite của dịch vụ hay qua ứng dụng được cài đặt trực tiếp trên điện thoại. Tính năng dịch vụ: - Xem các kênh truyền hình đặc sắc trong nước và ngoài nước.
- Xem video theo yêu cầu với nội dung phong phú thuộc các lĩnh vực khác nhau như ca nhạc, thời sự, hài hước, phim… - Xem lịch phát sóng của các kênh trong hệ thống - Quản lý kênh yêu thích - Đăng ký/Hủy dịch vụ, các kênh đặc sắc nâng cao. Streaming trong dịch vụ MobileTV là truyền tải nội dung số một cách liên tục đến các máy điện thoại của người dùng với chất lượng cao nhất. Streaming tiết kiệm thời gian cho người dùng bằng cách sử dụng các công nghệ giải nén kết hợp với player hiển thị dữ liệu đồng thời trong lúc vẫn tiếp tục download. Quá trình này được gọi là buffering.
Ban đầu máy điện thoại người dùng sẽ lấy về một phần chia nhỏ đó của dữ liệu trước khi hiển thị, đồng thời trong lúc hiển thị các gói dữ liệu còn lại sẽ lần lượt được lấy về để kịp cho việc hiển thị tiếp theo. Thay vì được gửi một lần duy nhất, dữ liệu streaming sẽ được truyền đi thành các gói nhỏ đến cho người dùng. Ngay cả các giao thức mới như adaptive streaming hay http smooth streaming thì dữ liệu cũng được chia nhỏ trước khi gửi tới các máy điện thoại. Dịch vụ streaming cho truyền hình di động có 2 loại là Streaming video theo yêu cầu và Streaming kênh truyền hình.
Video theo yêu cầu (Video on demand): là các dữ liệu Video được lưu trữ trên các máy chủ lưu trữ (SAN Storage) và được truyền đến người dùng khi có yêu 4 cầu, người dùng có toàn quyền để hiển thị cũng như thực hiện các thao tác (tua, dừng, quay …) với các đoạn dữ liệu này. Xem truyền hình thời gian thực (livetv): là các tín hiệu được mã hóa trực tiếp từ các nguồn cung cấp dữ liệu theo thời gian thực (máy camera, microphone, thiết bị phát dữ liệu Video, luồng tín hiệu truyền hình…).2 Các yêu cầu của dịch vụ này MobileTV phục vụ cho các máy điện thoại sử dụng dịch vụ 3G. Hiện nay trên thị trường các dòng điện thoại 3G là vô cùng phong phú. Theo thống kê thì có đến 20% người dùng đang sử dụng mạng 3G.
Tuy nhiên các điện thoại này lại hỗ trợ các chuẩn mã hóa (codec) khác nhau đòi hỏi hệ thống MobileTV phải hỗ trợ toàn bộ các dòng máy này. Về phía nhà cung cấp dịch vụ - content provider, các tệp video được upload lên hệ thống cũng có các chuẩn mã hóa - codec khác nhau, kích thước khác nhạu, bitrate lớn và hầu như là không thể xem được trên tất cả các dòng máy. Về phía nhà cung cấp dịch vụ, với băng thông mạng hiện có thì để người dùng xem với chất lượng tốt nhất thì đòi hỏi tệp video phải có bitrate nhỏ hơn băng thông hiện có cũng như chuẩn mã hóa (codec) hợp lý. Hệ thống cần chia tập máy điện thoại 3G trên thị trường theo tiêu chí là các chuẩn mã hóa (codec) để có thể đối xử tốt với các dòng điện thoại.
Việc phân chia các dòng điện thoại theo codec này hiện tại được chia thành 6 nhóm khác nhau gọi là 6 profile. Các Profile này được đặc trưng bởi các thông tin codec như: Video codec, video bitrate, video size, audio codec, audio channel, audio birate … Chính vì vậy mà các tệp video hay luồng tín hiệu từ phía đài truyền hình hay các content provider cần được encode lại theo đúng thông tin profile đã được xác định sẵn. Mặt khác, các dòng điện thoại này cũng support các chuẩn treaming khác nhau như RTSP cho các dòng máy cũ chạy android, Symbian … Hay các chuẩn streaming mới được Apple, Microsoft đưa ra như: http adative streaming, http smooth streaming. Để phân phát nội dung số sau khi encode đến được người dùng cuối hệ thống cũng phân loại thành 3 hệ thống streaming hỗ trợ tất cả các chuẩn streaming hiện này.3 Những vấn đề kỹ thuật – công nghệ chủ yếu 5 Công nghệ mã hóa – giải mã video, mã hóa trực tuyến luồng tín hiệu truyền hình Công nghệ streaming theo giao thức RTSP, HTTP Adaptive streaming của Apple, HTTP smooth streaming của Microsoft.
Công nghệ Cache trong streaming sử dụng cho các mô đun streaming. Công nghệ load balancing sử dụng cho toàn bộ hệ thống Công nghê ảo hóa của Citrix sử dụng cho các máy chủ ngoại trừ máy chủ chạy Database và máy chủ chạy mã hóa trực tuyến (Live encoder). KIẾN TRÚC TỔNG THỂ HỆ THỐNG HẠ TẦNG KỸ THUẬT CHO DỊCH VỤ MOBILETV 2.1 Kiến trúc ứng dụng Hệ thống MobileTV bao gồm các phân hệ là SMS, WAP/WEB, phân hệ trừ tiền (Billing service), phân hệ dịch vụ chung MobileTV (MobileTV service), phân hệ Streaming và phân hệ xử lý media (Media process). Các phân hệ được phân theo chức năng như hình vẽ dưới: Provider Call Center NV Kinh doanh Teco core network Mobile TV System WAP Web SMS Send/Receive SMS Service frontend Service CMS SMSC ws ws Exchange Check 2/3G Web Service Gateway NV Giám sát MobileTV Services API HLR ws Media Storage Database ws ws Charging gateway Offline Encode M&M server Read Generate CDR Register 3G rtsp/rtp, udp Web Service http Streaming Process ws VTC, IPTV, HTVC Hình 1: Kiến trúc tổng thể hệ thống - Chức năng người dùng: Bao gồm những chức năng cho phép người dùng tương tác vụ dịch vụ như đăng ký, hủy, xem truyền hình LiveTV, xem video theo yêu cầu, tải video … Bao gồm hai hình thức: qua tin nhắn SMS hoặc qua WAP.
- Chức năng CSKH: Cho phép nhân viên chăm sóc khách hàng có thể tra cứu giải đáp cho khách hàng hoặc hỗ trợ khách hàng đăng ký dịch vụ, hủy dịch vụ cho khách hàng. - Chức năng quản trị hệ thống: Cho phép người quản trị hệ thống có thể quản lý người dùng, quản lý kênh, quản lý lịch phát sóng… - Chức năng thống kê, báo cáo: cho phép nhân viên kinh doanh biết được tình trạng sử dụng dịch vụ của khách hàng, doanh thu từ dịch vụ. - Chức năng trừ tiền dịch vụ (Billing service): là chức năng xử lý liên quan đến tiền, giờ xem của khách hàng. 7 - Chức năng dịch vụ MobileTV (MobileTV service): Cung cấp các dịch vụ cho các module chức năng khác trong hệ thống.
- Chức năng streaming: Truyền tín hiệu theo giao thức RTSP hay HTTP đến cho khách hàng. - Chức năng xử lý media: Chuyển đổi luồng dữ liệu video, tín hiệu đầu vào từ các luồng khác nhau phục vụ cho người dùng đầu cuối.2 Mô hình phân lớp 2.1 Phân hệ SMS Hệ thống hỗ trợ đăng ký dịch vụ qua tin nhắn SMS. Khách hàng cần phải nhắn tin đúng cú pháp của dịch vụ và gửi đến đầu số để đăng ký dịch vụ hoặc mua thêm kênh, mua thêm thời gian. Hệ thống cung cấp kết nối đến SMSC của các công ty dịch vụ viễn thông.
SMS SMPP SMS Khách hàng SOAP SMSC TCP/IP SMS Gateway Communication Layer XML-RPC/HTTP Reveiver Sender Process Layer Mobile TV Service Data Access Layer JDBC MobileTV SMS TCP/IP System Data Hình 2: Mô hình phân lớp phân hệ SMS Hệ thống chia làm 3 lớp: Lớp giao tiếp truyền thông (Communication Layer) Đảm nhận việc giao tiếp với SMS Gateway để nhận / gửi tin nhắn từ khách hàng. Bao gồm 2 mô đun chính: Receiver: Nhận tin nhắn từ SMS Gateway qua giao thức TCP/IP Sender: Gửi tin nhắn đến SMS Gateway qua giao thức SOAP. Lớp xử lý (Process Layer) Bao gồm các tiến trình xử lý tin nhắn. 8 Gửi yêu cầu tới Mô đun dịch vụ MobileTV để thực hiện yêu cầu của thuê bao như: đăng ký, hủy, mua thêm giờ.
Lớp dữ liệu (Data Access Layer) Thực hiện kết nối tới hệ thống CSDL để lưu trữ giao dịch tin nhắn của khách hàng. Cung cấp service thực thi giữa tầng process layer và comunication layer để lấy dữ liệu từ CSDL hoặc chuyển dữ liệu vào CSDL. Sử dụng JDBC để connect tới CSDL.2 Phân hệ Web, WAP Khách hàng CSKH, Quản trị hệ thống, Quản trị nội dung CP, báo cáo thống kê Wap gateway Internet XML-RPC/HTTP Controller View Symphony Framework Mobile TV Service Model (PDO) Web server (Apache) Database server (MySQL) Hình 3: Mô hình phân lớp phân hệ Web, WAP. Sử dụng nền tảng symfony (dựa trên mô hình MVC) phân chia thành 3 lớp như 9 sau: Mô hình (Model): là lớp chứa các câu lệnh thao tác trực tiếp đến CSDL Khung nhìn (View): làm nhiệm vụ thể hiện trang web từ các hành động do bộ điều hành (controller) truyền sang cùng với dữ liệu từ nhận được từ lớp mô hình (model) (có thể hiểu nó như là template render).
Trình điều khiển (Controller): chính là phần cốt lõi, điều hành trang web, giao tiếp với mô đun mô đun dịch vụ MobileTV 2.3 Phân hệ người dùng cuối (Mobile Client ) Phân hệ Web frontend JSON/HTTP Android framwork Controler Model press key commandAction Object display Polish Android device Memory Card View Screens (displayable) Hình 4: Mô hình phân lớp phân hệ Người dùng cuối (Mobile Client). Phân hệ Người dùng cuối (Mobile Client) cho phép người dùng tương tác với mô đun dịch vụ MobileTV qua ứng dụng mobile do dịch vụ cung cấp được cài đặt trên điện thoại di động. Người dùng cài đặt, chạy ứng dụng mobile do dịch vụ cung cấp. Ứng dụng hỗ trợ người dùng tương tác, sử dụng dịch vụ: đăng ký/hủy dịch vụ, thêm/xóa kênh, thêm/xem giờ, xem/tải/tặng VOD, xem LiveTV… Phân hệ Người dùng cuối (Mobile Client) giao tiếp với phân hệ Web Frontend (Web Frontend sẽ giao tiếp với Mô đun dịch vụ MobileTV hoặc truy vấn trực tiếp CSDL): Lấy dữ liệu theo định dạng JSON từ API mà Website cung cấp qua giao thức HTTP (HTTP request).4 Phân hệ Web cho người dùng (Frontend) Mobile Client Web server(Apache) Controler Model Symfony Action Doctrine Action Request Process View MySQL php Style sheets html Hình 5: Mô hình phân lớp phân hệ Web Frontend.
Phân hệ Wapsite cho phép người dùng tương tác với mô đun dịch vụ MobileTV qua ứng dụng client được cài trên thiết bị di động. Người dùng truy cập tới website của dịch vụ bằng thiết bị di động.