Sau khi client và server thực hiện xong bắt tay, client gửi một thông điệp kết nối. Trong thông điệp này client yêu cầu được kết nối vào một phòng có sẵn hoặc là tạo một phòng mới.
Trong thông điệp trả về của server, server sẽ trả về thông điệp kết nối thành công nếu client yêu cầu kết nối vào một phòng đã tồn tại, hoặc yêu cầu tạo một phòng mới chưa có trên server. Server sẽ gửi về thông điệp báo lỗi, nếu yêu cầu kết nối vào phòng chưa có sẵn hoặc tạo một phòng đã tồn tại trên server.
Hình 4.18: Sơđồ gửi, trả lời thông điệp kết nối giữa client và server.
4.3.4. Chat giữa các client
Việc kết nối client và server thành công ngay lập tức chức năng chat được kích hoạt, phục vụ cho việc giao tiếp và thiết lập cấu hình khi truyền và nhận video , âm thanh.
4.3.5. Chia sẻ âm thanh, hình ảnh và lưu trữ tại Server
Sau khi thực hiện xong việc kết nối, nếu client muốn yêu cầu server chuyển dữ liệu video của nó đi tới các client khác để hiện thị thì client sẽ gửi thông điệp publish kèm theo tên của dữ liệu video đó.
Khi nhận được thông điệp publish, server sẽ kiểm tra xem tên gửi kèm với thông điệp publish đã được sử dụng chưa nếu chưa thì server gửi trả thông điệp thành công. Ngược lại thì server gửi trả thông điệp lỗi. Tên gửi kèm với thông điệp publish của client dùng để nhận diện các dữ liệu của từng client với nhau, tránh nhầm lẫn dữ liệu giữa các client.
Khi client bắt đầu nhận được thông điệp thành công gửi trả từ server, liền ngay sau đó client sẽ gửi dữ liệu video đến cho server. Server sẽ nhận dữ liệu video này rồi làm trạm trung gian cho các client khác.
Hình 4.19: Sơđồ gửi, trả lời thông điệp publish giữa client và server.
Một client muốn nhận dữ liệu video của một client nào đó, thì client này cần gửi thông điệp play kèm theo tên của dữ liệu video muốn hiển thị.
Khi nhận được thông điệp play, server sẽ kiểm tra xem tên gửi kèm với thông điệp này đã tồn tại hay chưa, nếu đã tồn tại server gửi trả thông điệp thành công rồi tiếp sau đó server sẽ chuyển dữ liệu video đã nhận được tương ứng với tên của client gửi lên về cho client hiển thị. Ngược lại thì server gửi trả thông điệp lỗi.
Hình 4.20: Sơđồ gửi, trả lời thông điệp play giữa client và server.
Như vậy, cuối cùng thì luồng dữ liệu giữa server và các client sẽ như sau
Hình 4.21: Mô hình luồng dữ liệu giữa client và server khi chuyển dữ liệu video
Trong quá trình chia sẻ âm thanh, hình ảnh giữa các Client, Server còn có thể lưu trữ những dữ liệu này lại. Do đó người dùng có thể xem dưới dạng một đoạn Video có sẵn trên Server. Và lúc này Server hoạt động như một streaming Server.
Chương 5: Kết luận – Kiến nghị 5.1. Kết quả đạt được.
Đề tài đã xây dựng thành công hệ thống DVTS sử dụng Server mã nguồn mở RED5 tích hợp sẵn chuẩn nén hình ảnh MPEG-4/H264, chuẩn nén âm thanh HE- AAC và giao thức truyền thời gian thực RTMP chạy trên đường truyền với tốc độ bit thấp cho kết quảđạt được như sau:
• Hình ảnh nhận từ camera có độ nét tốt.
• Hình ảnh nhận từ server nét, độ rựt hạn chế hơn.
• Âm thanh nhận tốt không thông qua âm ly chỉnh.
• Thực hiện truyền text(chat giữa các điểm kết nối).
• Lưu trữ Video và xem lại video.
Bảng đánh giá:
DVTS của nhật bản LHDVTS
Cổng nhận camera Chỉ nhận IEEE 1394 Nhận IEEE 1394, USB 2.0 camera Video độ nét tốt độ nét tốt, độ rựt hạn chế
Âm thanh Thông qua âm li Không cần thông qua âm li
Chat không Tích hợp chat
Lưu trữ Không Lưu trữ
Xem lại video Không Xem lại video
Khung hình Một điểm Xem nhiều điểm truy cập
5.2. Hướng phát triển
Hiện tại hệ thống đã hoạt động việc nhận hình ảnh, âm thanh và truyền text(chat) chạy ổn định nhưng xét thấy hình ảnh nhận được vẫn còn rựt. Trong thời gian tới sẽ tìm hiểu giải pháp nén hình ảnh tốt hơn tăng độ mịn cho hình ảnh.
- Theo tính toán ra được đối với chuẩn nén H.264 khi Video có độ phân giải 700x525 và tốc độ frame là 30 frame/sec thì băng thông yêu cầu nhỏ hơn 1.5 Mbps. Do đó để thực hiện việc truyền âm thanh, hình ảnh tốt đường truyền 1.5 Mbps trở lên.
- Mô hình xây chạy Client - Server truyền theo dạng unicast có nghĩa là có bao nhiêu Client kết nối tới Server thì có bằng bấy nhiêu phản hồi từ Server về. Để trành tình trạng quá tải yêu cầu trang bị phần cứng Server phải trang bị cấu hình mạnh đủ mạnh.
TÀI LIỆU THAM KHẢO
[1]. Trần Anh Khoa, Bùi Hồng Phúc, Ngô Anh Tuấn “Xây dựng hệ thống truyền tải video chất lượng cao giữa phòng mổ và hội trường” viện cơ học và tin học ứng dụng, TP.Hồ Chí Minh 06/2010 .
[2]. Cao Đức Minh, Phạm Thanh Sơn, Trần Việt Tiến “Ứng dụng hệ thống truyền kỹ thuật số chất lượng cao trong hoạt động triển khai mạng vinaren”.
[3]. Adobe Systems Inc, "Action Message Format - AMF 0", June 2006.
[4]. Adobe Systems Inc, "Action Message Format -- AMF 3", June 2006.
[5]. Gerald Moser, “MPEG-4 aacPlus - Audio coding for today’s digital media world”, Coding Technologies, November 2005.
[6]. Iain E. G. Richardson, “H.264 and MPEG-4 Video Compression Video Coding for Next-generation Multimedia”, John Wiley & Sons Ltd, 2003.
[7]. VinaRen, http://www.vinaren.com
[8]. Gnash, http://wiki.gnashdev.org/RTMP
Trước hết em xin cảm ơn Khoa công nghệ thông tin học trong thời gian qua đã tạo điều kiện cho em được làm việc và nghiên cứu tại khoa. Em xin được gửi lời cảm ơn chân thành nhất đến thầy Nguyễn Vũ Duy Quang . Thầy là người trực tiếp hướng dẫn em từng bước tìm tòi, và phát triển đề tài, cung cấp những kinh nghiệm quý báu, hỗ trợ em trong suốt thời gian thực hiện luận văn. Em cũng xin gửi lời cảm ơn đến các thầy tại phòng mạng máy tính của trường đã giúp đỡ em nhiều trong khoảng thời gian này.
Em xin gửi lời cám ơn chân thành đến quý thầy cô trường đại học Lạc Hồng đã tận tình giảng dạy, cung cấp cho em những kiến thức quý báu trong suốt thời gian học tập tại trường.
Em xin cảm ơn đến gia đình và bạn bè đã luôn động viên, giúp đỡ
em trong khoảng thời gian thực hiện luận văn đầy khó khăn và thử
thách vừa qua.
Sinh Viên thực hiện Trần Tiến Đề
1 AAC Advanced Audio Coding 2 AMF Action Message Format 3 DCT Discrete Cosine Transform 4 DVTS Digital Video Transport System 5 HE-AAC High Efficiency AAC
6 JPEG Joint Photographic Experts Group 7 LC Low Complexity
8 MDCT Modified Discrete Cosine Transform 9 MPEG Moving Picture Experts Group
10 PACS Picture Archiving & Communication System 11 PS Parametric Stereo
12 RLC Run Length Coding
13 RTMP Real Time Messaging Protocol 14 RTP Realtime Transport Protocol 15 SBR Spectral Band Replication 16 SSR Scalable Sampling Rate Profile 17 TCP Transmission Control Protocol 18 UDP User Datagram Protocol
19 VLC Variable Length Coding
Lời cảm ơn
Hình ảnh và bảng biểu Danh mục các từ viết tắt
LỜI NÓI ĐẦU...Error! Bookmark not defined.
Chương 1: Tổng quan về hệ thống DVTS...2
1.1. Hội nghi truyền hình(video conferencing) ...2
1.2. Digital Video Transport System...2
1.2.1 Khái niệm...2
1.2.2. Khả dụng của DVTS mang lại ...4
1.2.2.1. Kết nối toàn cầu...4
1.2.2.2. Ứng dụng trên thế giới ...4
1.2.2.3. Ứng dụng mạng nghiên cứu và đào tạo VinaREN...5
Chương 2: Mô hình hệ thống và máy chủ Red5...9
2.1. Mô hình hệ thống...9
2.1.1. Mô hình Peer to Peer...9
2.1.2. Mô hình Client – Server...10
2.1.3 Kiến trúc Server ...11
2.2 Máy chủ Red5...12
Chương 3: Giao thức truyền và các chuẩn nén...14
3.1. Giao thức truyền tải dữ liệu thời gian thực ...14
3.1.1. Giới thiệu ...14
3.1.2. Giao thức RTP (Real Time Transport Protocol)...15
3.1.3.2. Các chếđộ hoạt động của RTMP...18
3.1.3.3. Quá trình bắt tay...18
3.1.3.4. Tiêu đề RTMP...19
3.1.3.5. Truyền tải nhiều đối tượng AMF trên cùng một kết nối...21
3.1.4. So sánh giữa RTP và RTMP ...23
3.2. Chuẩn mã hoá dữ liệu - AMF (Action Message Format) ...24
3.2.1. AMF0 ...24 3.2.1.1 Giới thiệu...24 3.2.1.2 Kiểu dữ liệu AMF0 ...24 3.2.2. AMF3 ...26 3.2.2.1 Giới thiệu...26 3.2.2.2 Kiểu dữ liệu AMF3 ...26
3.3. Chuẩn nén âm thanh HE-AAC...29
3.3.1. Số hóa âm thanh...29
3.3.2. Chuẩn AAC...29
3.3.2.1 Giới thiệu...29
3.3.2.2 Đặc tính âm học của tai người...30
3.3.2.3 Hoạt động của thuật toán nén âm thanh AAC...32
3.3.2.4 Mô tả chi tiết về AAC ...35
3.3.3. Chuẩn HE-AAC ...43
3.3.3.1. Giới thiệu...43
3.4.3. Phép biến đổi Cosine rời rạc (Discrete Cosine Transform)...49
3.4.4. Mã hóa chiều dài thay đổi VLC (Variable Length Coding) ...52
3.4.4.1. Giới thiệu chung...52 3.4.4.2. Mã Huffman ...54 3.4.5. Kĩ thuật nén ảnh JPEG...55 3.4.6. Kĩ thuật nén Video H.264 ...56 3.4.6.1. Bộ mã hóa và giải mã...56 3.4.6.2. Cơ bản về H.264...58
Chương 4. Xây dựng chương trình...64
4.1. Mô hình ...64 4.1.1. Chương trình Server...65 4.1.2. Chương trình Client ...65 4.2. Xây dựng ứng dụng ...66 4.2.1. Ứng dụng server...66 4.2.2. Chương trình client ...72
4.2.2.1 Module giao tiếp thiết bị và truyền dữ liệu lên Server...72
4.2.2.2 Module hiện thị âm thanh, hình ảnh từ server gửi đến ...73
4.2.2.3 Module truyền text ...74
4.2.2.4 Moudule coi lại video...75
4.3. Hoạt động Client và Server ...76
4.3.1. Giới thiệu ...76
4.3.2. Bắt tay trên giao thức RTMP ...76
5.1. Kết quảđạt được...82
5.2. Hướng phát triển...82
5.3. Kiến nghị...82
Hình 1.1: Minh họa phần mềm DVTS ...3
Hình 1.2: mô hình mạng nghiên cứu thế giới...4
Hình 1.3: mô hình tích hợp chuẩn nén HE-AAC ...7
Hình 1.4: mô hình chia nhỏ hình ảnh cosine trong MPEG-4/H264...7
Hình 1.5: gói tin rtmp được cắt nhỏ trong các dạng đường truyền. ...8
Hình 2.1: Mô hình Peer to Peer trong DVTS ...9
Hình 2.2: Mô hình Client – Server ...10
Hình 2.3: Kiến trúc của Server ...11
Hình 3.1: Vùng đệm dùng cho việc playback ...14
Hình 3.2: Khuôn dạng giao thức RTP ...16
Hình 3.3: Minh họa đóng gói tiêu đề RTP ...17
Hình 3.4: RTMP ở chếđộ tiêu chuẩn...18
Hình 3.5: RTMP ở chếđộđường hầm ...18
Hình 3.6: Quá trình bắt tay giữa Client và Server trong giao thức RTMP ...19
Hình 3.7: Tiêu đề RTMP 12 byte ...20
Bảng 3.8: Một số giá trị trong trường Content Type...21
Hình 3.9: Các khối dữ liệu của một đối tượng AMF có chỉ số là 0x03 ...22
Hình 3.10: Truyền các khối dữ liệu xen kẽ nhau. ...23
Bảng 3.11: Kiểu dữ liệu trong AMF0 ...25
Hình 3.12: Kiểu dữ liệu của AMF3...27
Hình 3.13: Ngưỡng âm thanh của tai người phụ thuộc vào tần số...31
Hình 3.14: Ngưỡng âm thanh của tai người phụ thuộc vào thời gian ...32
Hình 3.15: Ngưỡng âm thanh theo tần số, thời gian, và biên độ...32
Hình 3.19: Bộ giải mã âm thanh AAC ...38
Hình 3.20: Module mã hoá và giải mã điều chỉnh khuếch đại...39
Hình 3.21: Tập 12 dải tần số và đặc tả...40
Hình 3.22: Mức tần số giới hạn cho thuật toán dựđoán ...42
Hình 3.23: Họ chuẩn nén AAC ...44
Hình 3.24: Việc chuyển đổi trong quá trình tạo ra dãy tần số cao ...44
Hình 3.25: Chỉnh đường biên của dãy tần số cao...45
Hình 3.26: Nguyên lý cơ bản của quá trình xử lý PS...46
Hình 3.27: Biểu đồ bộ mã hoá HE-AAC...47
Hình 3.28: Biểu đồ bộ mã hoá HE-AAC...47
Hình 3.29: So sánh hiệu quả của các chuẩn nén họ AAC ...48
Hình 3.30: So sánh hiệu quả giữa chuẩn nén HE-AAC và các chuẩn nén khác ...48
Hình 3.31: Minh họa cách chia ảnh thành các khối trước khi biến đổi Cosine...49
Hình 3.32: Phép biến đổi hai chiều được phân thành bước biến đổi một chiều...51
Hình 3.33: Ví dụ về một bảng mã ...53 Hình 3.34: Sơđồ nén ảnh JPEG ...56 Hình 3.35: Sơđồ giải nén ảnh JPEG...56 Hình 3.36: Sơđồ bộ mã hóa MPEG-4/H.264 ...57 Hình 3.37: Sơđồ bộ giải mã MPEG-4/H.264 ...58 Hình 3.38: Thứ tự khối ảnh được mã hóa ...59 Hình 3.39: Các cách chia khối ảnh nhỏ hơn...60
Hình 4.1: mô hình truyền phòng mổ và hội trường ...64
Hình 4.2 : Server RED5 checkout source...67
Hình 4.3: Tạo một project java...67
Hình 4.4: Lưu project java với đường link chỉ dẫn ...68
Hình 4.5: Tạo gói lưu file nguồn java ...68
Hình 4.6: giao diện viết code java trong IDE eclipse...69
Hình 4.7: giao diện client kiểm tra kết nối tới server...71
Hình 4.8: Khởi động dịch vụ server RED5 ...71
Hình 4.9: kết nối từ client tới server thành công ...72
Hình 4.10: Máy tính kết nối trực tiếp với Microphone ...72
Hình 4.11: kết nối camera trực tiếp vào máy tính qua cổng DV, USB...73
Hình 4.12: Kết nối camera vào máy tính qua Video Capture Card đối với các chuẩn giao tiếp AV, S-Video, HDMI ...73
Hình 4.13: Giao diện chính chương trình...74
Hình 4.14: giao diện coi lại video ...75
Hình 4.15: Bắt tay RTMP giai đoạn một...76
Hình 4.16: Bắt tay giai đoạn 2...77
Hình 4.17: Bắt tay giai đoạn 3...78
Hình 4.18: Sơđồ gửi, trả lời thông điệp kết nối giữa client và server. ...79
Hình 4.19: Sơđồ gửi, trả lời thông điệp publish giữa client và server. ...80
Hình 4.20: Sơđồ gửi, trả lời thông điệp play giữa client và server. ...81