Quảng bá thông tin đa phương tiện trong ngành công nhiệp nội dung số với kỹ thuật Streaming Quảng bá thông tin đa phương tiện trong ngành công nhiệp nội dung số với kỹ thuật Streaming Quảng bá thông tin đa phương tiện trong ngành công nhiệp nội dung số với kỹ thuật Streaming luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
NGUYỄN TUẤN KHANG BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI CÔNG NGHỆ THÔNG TIN NGÀNH: CÔNG NGHỆ THÔNG TIN - LUẬN VĂN THẠC SĨ KHOA HỌC QUẢNG BÁ THÔNG TIN ĐA PHƯƠNG TIỆN TRONG NGÀNH CÔNG NGHIỆP NỘI DUNG SỐ VỚI KỸ THUẬT STREAMING (Media Streaming in Digital Content Industry) NGUYẾN TUẤN KHANG 2005 - 2007 Hà Nội 2007 HÀ NỘI 2007 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SĨ KHOA HỌC QUẢNG BÁ THÔNG TIN ĐA PHƯƠNG TIỆN TRONG NGÀNH CÔNG NGHIỆP NỘI DUNG SỐ VỚI KỸ THUẬT STREAMING (Media Streaming in Digital Content Industry) NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ:3.04.3898 NGUYẾN TUẤN KHANG Người hướng dẫn khoa học: TS QUÁCH TUẤN NGỌC HÀ NỘI 2007 LỜI MỞ ĐẦU Để thực luận văn này, trước tiên em xin gửi lời cảm ơn sâu sắc tới thầy giáo, Tiến sĩ Quách Tuấn Ngọc định hướng, hướng dẫn góp ý thầy suốt trình làm Luận văn Em xin chân thành cảm ơn thầy/cô giáo khoa CNTT, trường Đại học Bách Khoa Hà Nội cung cấp, trang bị cho em kiến thức tảng để thực tốt Luận văn Xin chân thành cảm ơn cán Trung tâm Đào tạo Bồi dưỡng Sau Đại học, trường Đại học Bách Khoa Hà Nội nhiệt tình hỗ trợ tạo điều kiện thuận lợi cho suốt trình học tập trình thực Luận văn Hà nội, ngày 18 tháng 09 năm 2007 Học viên Nguyễn Tuấn Khang THUẬT NGỮ Là tệp đa phương tiện (audio/video), Clip nhạc hay đoạn phim Multimedia files Các tệp tin đa phương tiện, bao gồm đoạn phim (video clip) hay nhạc, âm (audio clip) Là hành động xem lại tệp tin đa phương tiện (clip) Playback tạo sẵn ứng dụng đó, ghi lại kỹ thuật live streaming DCI Ngành công nghiệp nội dung số (Digital Content Industry) Giao thức mức ứng dụng hỗ trợ truyền tải phân phối HTTP trang Web mạng internet TCP Giao thức truyền tải nội dung, thành phần cốt lõi (Transmission giao thức hoạt động Internet Đây giao thức Control Protocol) hướng kết nối, lưu giữ trạng thái đường truyền kiểm sốt tồn gói tin truyền qua mạng UDP Giao thức truyền tin sử dụng gói liệu theo mơ hình khơng đồng bộ, khơng hướng kết nối, phù hợp cho toán truyền tin theo thời gian thực RTSP (RealTime Protocol) Giao thức sử dụng để điều khiển luồng liệu đa Session phương tiện (media streaming) truyền client server, sử dụng giao thức truyền tin theo thời gian thực đó, ví dụ với RTP RTP Giao thức truyền tin theo thời gian thực, sử dụng để truyền phát gói tin tệp tin đa phương tiện (RealTime Protocol) Streaming Kỹ thuật truyền tải nội dung tệp tin đa phương tiện theo luồng liên tục (Streaming) Dữ liệu phân chia nhỏ thành gói tin để hỗ trợ trình vừa truyền tải máy người dùng, vừa thưởng thức liệu với Media Player mà khơng cần phải chờ kết thúc q trình tải Streaming Server Phần mềm máy chủ ứng dụng chuyên dụng hỗ trợ kỹ thuật streaming Web Server Phần mềm máy chủ Web, hỗ trợ giao thức HTTP ngôn ngữ HTTM Progressive Một loại kỹ thuật “giả streaming”, cho phép người dung download vừa tải vừa thưởng thức tệp tin âm hay hình ảnh sử dụng Media Player On-demand Kỹ thuật chia tệp tin liệu đa phương tiện thông Audio/Video qua liên kết trang web, trỏ tới tệp tin có sẵn Live Streaming Kỹ thuật streaming trực tuyến, truyền hình trực tuyến, hội thảo trực tuyến… Bit-rate Với kỹ thuật streaming, bit-rate độ nén liệu theo đơn vị thời gian tệp tin đa phương tiện Khái niệm đồng với việc liệu phải truyền theo tốc độ để đảm bảo tín hiệu streaming không bị giật chạy nhanh Codec Là phần mềm thiết bị sử dụng để mã hóa giải mã (encode/decode) luồng liệu số tín hiệu số MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU CHƯƠNG MỞ ĐẦU: TỔNG QUAN vÀ PHẠM VI LUẬN VĂN 10 CHƯƠNG I CÔNG NGHIỆP NỘI DUNG SỐ & VAI TRÒ CỦA DỮ LIỆU ĐA PHƯƠNG TIỆN 13 I.1 Tổng quan ngành công nghiệp nội dung số (CN-NDS) 13 I.2 Vai trò liệu đa phương tiện ngành CN-NDS 16 I.3 Tổng quan kỹ thuật truyền tải nội dung đa phương tiện 18 CHƯƠNG II TỔNG QUAN VỀ KỸ THUẬT STREAMING 24 II.1 Kỹ thuật streaming sử dụng Web Server Streaming Server 24 II.2 Kỹ thuật Streaming sử dụng Web Server 25 II.2.1 Mơ hình hoạt động 25 II.2.2 Quản lí tệp tin đa phương tiện máy chủ .26 II.2.3 Kỹ thuật truyền tải 27 II.2.4 Giao thức (HTTP/TCP) 28 II.3 Kỹ thuật Streaming sử dụng Streaming Server 29 II.3.1 Mơ hình hoạt động 29 II.3.2 Quản lí tệp tin đa phương tiện máy chủ .30 II.3.3 Kỹ thuật truyền tải 31 II.3.4 Giao thức (UDP) 31 II.4 Một số tiêu chi lựa chọn kỹ thuật streaming 32 II.5 Ưu điểm kỹ thuật Streaming sử dụng Streaming Server 34 CHƯƠNG III NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG STREAMING 36 III.1 Nguyên lí hoạt động hệ thống Streaming 36 III.2 Tổng quan mã hóa giải mã tín hiệu 39 III.2.1 Khái niệm codec 39 III.2.2 Họ Codec MPEG-4 40 III.3 Mơ hình truyền thơng đa phương tiện 44 III.3.1 Mơ hình cung cấp thông tin đa phương tiện 44 III.3.2 Phương pháp truyền phát thông tin đa phương tiện 45 III.4 Các dạng nội dung sử dụng kỹ thuật Streaming 47 III.5 Các Kiến trúc công nghệ hỗ trợ Streaming 49 III.6 Điều khiển hoạt động Streaming Server thông qua Metafiles 51 III.6.1 RealPlayer Metafiles (.RAM) 52 III.6.2 Windows Metafiles (.ASX) .53 III.6.3 QuickTime Metafiles (.QTL) 55 III.6.4 Flash ActionScript (.FLA) .57 CHƯƠNG IV MỘT SỐ LOẠI STREAMING SERVER 60 IV.1 Tổng quan hình thành & phát triển 60 IV.2 Các Kiến trúc công nghệ Streaming tảng (Streaming Middlware) 64 IV.2.1 Helix Mobile Server (RealNetworks) 64 IV.2.2 Darwin Streaming Server (Apple) 65 IV.2.3 Windows Media Server (Microsoft) 67 IV.2.4 Flash Media Server (Adobe Systems Macromedia) .69 IV.2.5 Peering Portal thành công bước đầu 73 IV.2.6 Công nghệ streaming không sử dụng streaming server 75 IV.2.7 Một số so sánh mặt kỹ thuật .76 IV.3 Các dịch vụ streaming 78 IV.3.1 Truyền hình, phát trực tuyến 79 IV.3.2 Streaming trực tuyến (Live Streaming) 80 IV.3.3 Chia sẻ liệu đa phương tiện (Video sharing) 81 IV.3.4 Dịch vụ hosting 82 CHƯƠNG V GIAO THỨC HỖ TRỢ KỸ THUẬT STREAMING 84 V.1 Các giao thức truyền tin (Transport protocols) 84 V.2 Giao thức quản lý phiên làm việc RTSP 86 V.2.1 Tổng quan giao thức RTSP 86 V.2.2 Định dạng gói liệu (RTSP Data Packet Format ) 88 V.2.3 Mơ hình hoạt động giao thức RTSP 89 V.2.4 Cách thức sử dụng lệnh RTSP 94 V.3 Các giao thức độc quyền khác: MMS, RTMP 98 CHƯƠNG VI GIẢI PHÁP DEMO VỚI NỀN TẢNG STREAMING99 VI Tổng quan ứng dụng 99 VI Kiến trúc ứng dụng 100 VI.2.1 Nguyên lý hoạt động 100 VI.2.2 Sơ đồ triển khai hệ thống 102 VI Demo tính 104 VI.3.1 Trang chủ .104 VI.3.2 Khả tương tác người dùng với kỹ thuật streaming 105 VI.3.3 Các tính hỗ trợ người dùng .106 VI.3.4 Tải clip lên hệ thống (Upload) .108 VI.3.5 Chia sẻ hình ảnh trực tuyến qua webcam (Live streaming) 109 DANH MỤC HÌNH VẼ Hình I.1: Ứng dụng thực tế việc chia sẻ liệu đa phương tiện 17 Hình I.2: Mơ hình hoạt động hệ thống truyền tải tệp tin đa phương tiện .19 Hình I.3: Mơ hình hoạt động theo kỹ thuật progressive downloading 20 Hình I.4: Mơ hình hoạt động theo kỹ thuật streaming 21 Hình I.5: So sách kỹ thuật chia sẻ tệp tin đa phương tiện .23 Hình II.1: Minh họa kỹ thuật “Chơi Tải” “Streaming” 24 Hình II.2: Mơ hình hoạt động kỹ thuật “Chơi Tải” 26 Hình II.3: Mơ hình kỹ thuật Streaming 30 Hình III.1: Mơ hình hoạt động kỹ thuật Streaming 37 Hình III.2: Các thành phần mơ hình Streaming 38 Hình III.3: Mơ hình cung cấp thơng tin theo u cầu (On-demand Streaming) 44 Hình III.4: Mơ hình cung cấp thơng tin trực tuyến (Live Streaming) 45 Hình III.5: Phương pháp truyền thông Unicast 46 Hình III.6: Phương pháp truyền thơng Multicast .46 Hình IV.1: Thị phần Streaming năm 1990-2000 (theo Media Primer) 60 Hình IV.2: Thị phần Streaming năm 2000 (theo Nielsen) 61 Hình IV.3: Thị phần Streaming năm 2006 (theo comStore Video Metrix) .62 Hình IV.4: Giao diện quản trị Helix Mobile Server 65 Hình IV.5: Giao diện quản trị Darwin Streaming Server 66 Hình IV.6: Giao diện Window Media Player 69 Hình IV.7: Giao diện quản trị Flash Media Server 72 Hình IV.8: Cyworld Đài Loan sử dụng công nghệ Peering Portal 74 Hình IV.9: Biểu đồ đánh giá kỹ thuật công nghệ Streaming .78 Hình IV.10: Truyền hình trực tuyến 79 Hình IV.11: Streaming trực tuyến - webcast (Stickam) 80 Hình IV.12: Kiến trúc mạng truyền nội dung (CDN) .83 Hình V.1: Các giao thức kỹ thuật duyệt Web Streaming 86 Hình V.2: Sơ đồ trạng thái giao thức RTSP .90 Hình V.3: Luồng hoạt động Player Streaming Server sử dụng RTSP .91 Hình V.4: Các gói tin kênh truyền sử dụng RTSP 93 Hình VI.1: Nguyên lý hoạt động hệ thống demo 100 Hình VI.2: Sơ đồ triển khai hệ thống demo .102 Hình VI.3: Trang chủ hệ thống demo 104 Hình VI.4: Điều khiển hoạt động clip trình streaming 105 Hình VI.5: Tính My Favorites .106 Hình VI.6: Các tính tương tác người dùng với clip 107 Hình VI.7: Tìm kiếm clip thơng qua tính Most Viewed 108 Hình VI.8: Tải clip lên hệ thống .109 Hình VI.9: Tính Webcast với Live Streaming 110 99 CHƯƠNG VI GIẢI PHÁP DEMO VỚI NỀN TẢNG STREAMING VI Tổng quan ứng dụng Để minh họa cho kiến trúc streaming khả sử dụng công nghệ streaming việc cung cấp nội dung số, phần demo ứng dụng hỗ trợ cộng đồng việc chia tệp audio video sử dụng kỹ thuật streaming Đây ứng dụng hỗ trợ người dùng đăng ký gửi tệp tin đa phương tiện lên hệ thống thông qua tính upload Hệ thống nhận biết cấu trúc tệp tin (codec) chuyển sang dạng codec khác hỗ trợ Streaming Server (Flash Streaming Server) Để đảm bảo vấn đề an ninh, tệp tin gửi lên server cần qua công đoạn xét duyệt người quản trị thức Ngồi việc kiểm tra xem nội dung có video hay audio có “sạch sẽ” khơng, người quản trị phân nhóm video thành category khác “giải trí”, “thể thao”, “văn hóa”… Người dùng sau thưởng thức đoạn phim hay nhạc thành viên khác đưa lên, người dùng thiết lập album cho riêng (favourist album) nhận xét đánh giá clip (thơng qua tính rating) Để hỗ trợ người dùng kết nối từ nhiều nơi khác nhau, với băng thơng đường truyền khác nhau, Streaming Server có tính kiểm tra băng thơng đường truyền người dùng cụ thể từ đưa định gửi clip có chất lượng phù hợp cho người dùng, đảm bảo người chơi vừa có clip có chất lượng tốt chất lượng âm hình ảnh khơng bị giật ngắt qng 100 Trong trường hợp người dùng có webcam, họ gửi tín hiệu (âm hình ảnh) thơng qua tính webcast hệ thống Nhờ đó, người dùng khác xem hình ảnh trao đổi với họ theo thời gian thực Tính bản, tảng để hỗ trợ tốn phức tạp ví dụ hội thảo, dạy học hay trình chiếu trực tuyến… VI Kiến trúc ứng dụng Nguyên lý hoạt động VI.2.1 Ứng dụng xây dựng phạm vi tập trung vào kỹ thuật streaming, hỗ trợ nhóm người dùng “Quản trị hệ thống” “Người dùng bình thường” Nguyên lý hoạt động thành phần hệ thống minh họa sau: Quản trị Server Xét duyệt Phân loại Quản lý nội dung Chuyển đổi codec Streaming Server Đánh giá (rating) Upload Tải lên Lập album Webcast Live Streaming (encoding) Kiểm tra băng thơng Streaming (Bit-rate) Browser ` Chú thích Người dùng Người dùng ` Media Player Quản trị Hệ thống Hình VI.1: Người dùng Nguyên lý hoạt động hệ thống demo Người dùng 101 Nhóm chức Người dùng Người dùng tải lên nhạc hay phim (clip) u thích lên hệ thống với mục tiêu chia sẻ cho cộng đồng Tuy nhiên clip họ chưa công khai cho cộng đồng người quản trị duyệt nội dung chấp nhận clip Ngồi việc tải lên, người dùng xem đánh giá clip theo quan điểm cá nhân mình, lựa chọn clip u thích để lập cho riêng album, để sau đỡ phải tìm kiếm lại tồn hệ thống Với người dùng có Webcam, họ chia hình ảnh lên hệ thống thơng qua thành phần ghi nhận mã hóa hình ảnh họ gửi tới streaming server Người dùng khác truy cập vào xem hình ảnh trực tuyến webcam (live streaming) Nhóm chức Quản trị Người quản trị có nhiệm vụ đơn giản xét duyệt clip gửi lên người dùng, clip đảm bảo tiêu chí cộng đồng clip cơng khai cho người thưởng thức Trong trình xét duyệt, Quản trị phân loại cá clip thành nhóm cụ thể (ví dụ “giải trí”, “văn hóa”,…) để tiện việc quản lý tìm kiếm clip sau (cho quản trị lẫn người dùng) Nhóm chức Hệ thống Hệ thống thực số tính mà khơng cần tham gia nhóm người dùng Đầu tiên chức chuyển đổi khuân dạng liệu clip gửi lên từ cộng đồng Do Streaming Server hỗ trợ số khuân dạng media định 102 (codec), cụ thể hệ thống sử dụng Flash Streaming Server hỗ trợ khuân dạng *.flv, clip sử dụng khuân dạng khác AVI, MPEG, ASF, WMV… chuyển đổi lại cho phù hợp với Streaming Server Tính thứ hai quan trọng khơng khả kiểm tra băng thơng đường truyền người dùng q trình thưởng thức clip Do chất lượng băng thông không đồng cộng đồng, nên tùy chất lượng đường truyền cụ thể, Streaming Server gửi clip có bit-rate phù hợp Cuối khả cung cấp dịch vụ streaming trực tuyến với tính webcast Người dùng sử dụng webcam để chia hình ảnh âm thành với người khác VI.2.2 Sơ đồ triển khai hệ thống Sơ đồ triển khai hệ thống mơ hình hóa sau: LAN Email Server DBMS (mySQL) Web Server (Apache) Streaming Media Server (Flash Server, Linux Redhat) Internet/LAN ` Người dùng Hình VI.2: ` Người dùng Quản trị hệ thống Sơ đồ triển khai hệ thống demo 103 Hệ thống phát triển theo kiến trúc công nghệ Flash hãng Macromedia Máy chủ web server Apache máy chủ streaming server Flash Streaming Server, chạy hệ điều hành Linux Redhat Thực tế server chạy hệ điều hành khác Ngồi hệ thống cịn sử dụng tới máy chủ sở liệu (sử dụng mySQL) để quản lý lưu trữ thông tin mô tả clip, thông tin người dùng…; máy chủ để gửi mail Người dùng sử dụng trình duyệt thơng thường để truy cập vào hệ thống, trình media player tự động tải cài đặt (plug-in) vào trình duyệt Ngơn ngữ lập trình web PHP ngơn ngữ lập trình flash ActionScript 104 VI Demo tính VI.3.1 Trang chủ Hệ thống website cấp loại nội dung số báo, hay tệp tin đa phương tiện bao gồm âm hình ảnh Tuy nhiên phạm vi luận văn này, hệ thống mơ tả góc độ ứng dụng chia tệp tin đa phương tiện, khả chơi tệp tin theo kỹ thuật streaming trình bày phần trước tiện lợi người dùng trình chia clip cộng đồng người dùng (clip thuật ngữ chung nhạc hay đoạn phim hệ thống này) Hình VI.3: Trang chủ hệ thống demo 105 VI.3.2 Khả tương tác người dùng với kỹ thuật streaming Sau đăng ký đăng nhập, người dùng dễ dàng chơi clip mà u thích Giả thiết người dùng chọn clip có độ lớn vài chục MB tới hàng trăm MB, người dùng ấn nút “Play” thưởng thức ngày mà không cần phải chờ đợi trình tải máy người dùng Trong trình thưởng thực đoạn clip, người dùng sử dụng nút tua tua lại (>>