Nghiên cứu thực nghiệm bộ đệm cho video

43 343 0
Nghiên cứu thực nghiệm bộ đệm cho video

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu thực nghiệm bộ đệm cho video

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU THỰC NGHIỆM BỘ ĐỆM CHO VIDEO (VIDEO CACHE) HỖ TRỢ CHO CHƯƠNG ĐÀO TẠO TỪ XA HỘI ĐỒNG : HỆ THỐNG THÔNG TIN GVHD : TS BÙI HOÀI THẮNG GVPB : Th.S ĐẶNG TRẦN TRÍ -o0o SVTH : ĐẶNG XUÂN HIẾU (50700731) TP HỒ CHÍ MINH, THÁNG 01/2012 LỜI CAM ĐOAN Ngồi tài liệu tham khảo liệt kê xin cam đoan tồn phần nghiên cứu trình bày luận văn thực hướng dẫn thầy Bùi Hồi Thắng, khơng có chép từ nguồn tài liệu cơng trình nghiên cứu khác Nếu có sai phạm nào, xin chịu trách nhiệm trước Hội đồng bảo vệ, Ban chủ nhiệm khoa Ban giám hiệu Nhà trường Tp.Hồ Chí Minh, tháng 01 năm 2012 LỜI CẢM ƠN   Sau mười bốn tuần thực đề tài, bên cạnh nỗ lực cá nhân, chúng tơi cịn nhận hỗ trợ nhiệt tình từ thầy thành viên khác lớp Điều giúp nhiều việc bắt kịp tiến độ đề hoàn thiện đề tài Tơi xin gửi lời cám ơn chân thành đến thầy Bùi Hoài Thắng, giáo viên hướng dẫn trực tiếp đề tài Thầy người theo suốt, cung cấp tài liệu, góp ý, sửa chữa sai sót Tôi xin cảm ơn quý thầy cô khoa Khoa Học & Kỹ Thuật Máy Tính tận tình giảng dạy tạo điều kiện thuận lợi cho học tập, nghiên cứu thực đề tài Ngồi ra, tơi khơng qn động viên, quan tâm giúp đỡ gia đình bạn bè Tp.Hồ Chí Minh, tháng 01 năm 2012 TĨM TẮT LUẬN VĂN Sự phát triển nhanh chóng ngành khoa học, đặc biệt ngành máy tính góp phần lớn phát triển nhiều linh vực kinh tế, xã hội, văn hóa… có phát triển giáo dục Với phát triển lĩnh vực cơng nghệ thơng tin hình thức học trực tuyến dần quan tâm phát triển hơn, hình thức phổ biến nhiều nơi giới hạn chế Việt Nam Có rất nhiều loại tài nguyên học tập sử dụng quá trình đào tạo, có những tài liệu định dạng video Ngày nay, việc quản lý, phân phối bảo vệ quyền video thách thức lớn Hiện nay, đa số dịch vụ trình chiếu video trực tuyến sử dụng tập tin tạm hệ thống công cụ trung gian để trình chiếu tập tin video phía máy khách Như chương trình hỗ trợ download IDM, Flashget… dễ dàng ghép nới và lưu trữ tập tin video lại máy tính Mục tiêu đề tài dùng nhớ đệm (buffer) phía máy khách làm cơng cụ trung gian để trình chiếu tập tin video Những đoạn video sau chạy qua xóa khỏi bợ đệm để ngăn cản chương trình hỗ trợ download lưu trữ lại Về phía server, đưa kỹ thuật video caching vào hỗ trợ máy chủ đáp ứng với số kết nối lớn, giải vấn đề tải băng thông mạng tải máy chủ, để tăng tốc độ truyền tải video đến người dùng mà không hạn chế dung lượng hay đường truyền, với mạng dial-up xem video với chất lượng tốt mà không bị gián đoạn   MỤC LỤC MỤC LỤC HÌNH   MỤC LỤC BẢNG GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI Chương I: GIỚI THIỆU ĐỀ TÀI GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu Đặt vấn đề Ngày này, việc trình chiếu Video website trở nên phổ biến, bên cạnh việc sử dụng giảng điện tử cho chương trình đào tạo từ xa phù hợp, giúp nâng cao chất lượng hiệu đào tạo Tuy nhiên, việc trình chiếu Video trực tuyến vẫn nhiều hạn chế: ngày băng thông mạng mở rộng đường truyền đáp ứng nhu cầu sử dụng ngày tăng lưu lượng truy cập, chất lượng Video; bản quyền của Video không được đảm bảo vì người dùng dễ dàng sử dụng chương trình tự động kết nối tải Video Việc xây dựng hệ thống hỗ trợ trình chiếu và quản lý để bảo vệ quyền của Video tuân thủ luật áp dụng bảo vệ trách nhiệm cung cấp tổ chức uy tín là thực sự cần thiết Mục tiêu đề tài Mục tiêu cơng trình nghiên cứu hiện thực một hệ thống ứng dụng video caching theo mô hình client-server để hỗ trợ việc trình chiếu video trực tuyến Ba vấn đề quan tâm lĩnh vực trình chiếu Video bảo vệ bản quyền Video cho người cung cấp, nâng cao chất lượng trình chiếu Video cho người sử dụng giảm tải cho máy chủ Với tốc độ phát triển công nghệ thông tin Việt Nam, việc trình chiếu Video trực tuyến quan tâm để đáp ứng nhu cầu học tập giải trí người dùng Cũng việc tích hợp bài giảng Video trực tuyến vào những hệ thớng phục vụ chương trình đào tạo từ xa trường đại học ngày càng trở nên phổ biến Khi nghiên cứu và xây dựng cơng trình này, chúng tơi mong muốn thành cơng trình góp phần vào c̣c chiến chớng vi phạm bản qùn lĩnh vực công nghệ thông tin, cụ thể là bảo vệ quyền Video Bên cạnh đó, là việc áp dụng một giải pháp mới (video caching) nhằm đáp ứng số lượng người dùng lớn thời điểm, nâng cao chất lượng trình chiếu Video đáp ứng tốt nhu cầu học tập giải trí người dùng Phương pháp thực Đầu tiên, để hiểu về mô hình hoạt động của các ứng dụng trình chiếu Video, chúng tiến hành tìm hiểu và thử nghiệm số giải mã (decode) Video mã nguồn mở Hiện thực tác vụ đọc tập tin Video có dung lượng nhỏ đưa vào bợ nhớ đệm, sau thử nghiệm việc trình chiếu tập tin lấy từ bộ nhớ đệm dựa các bộ giải mã đó, để chọn giải mã phù hợp với mục tiêu đề tài Nghiên cứu việc truyền nhận liệu thông qua đường truyền mạng, để từ đó tiếp tục mở rộng hệ thống theo mô hình client-server giải mã chọn Hiện thực bộ quản lý dữ liệu và việc truyền tải dữ liệu ở cả hai phía hệ thống Chương I: GIỚI THIỆU ĐỀ TÀI 10 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu 1.3 Kiến trúc hệ thống Hình : Kiến trúc hệ thống Hệ thống gồm thành phần: - Web server(W): o Web Server máy chủ có dung lượng lớn, tốc độ cao, là nơi lưu trữ thông tin các website có cung cấp dịch vụ chia sẻ video trực tuyến (những Website này nhúng phần mã embeded player (do nhà cung cấp dịch vụ lưu trữ và quản lý tập tin (S) cung cấp) với thông tin liên quan khác) o Khi Web Server nhận yêu cầu từ Client việc xem video có danh sách video mà Website cung cấp, gởi liệu Client nội dung video đó.(2’) Chương IV: GIẢI QUYẾT VẤN ĐỀ 29 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI - SVTH: Đặng Xuân Hiếu Server(S): o Server máy chủ gồm có: Hard disk (D) chứa liệu, thành phần quản lý máy chủ(SM) quản lý trình kết nối máy trạm (thông qua cổng định) o Hard Disk(D): Lưu trữ tập tin video nhà cung cấp o Server Manager(SM):  Tạo Server với port lựa chọn, chờ người dùng kết nối tới  Quản lý người dùng kết nối dựa IP  Quản lý tập tin video đưa vào cache  Quản lý việc lựa chọn gửi phần tập tin video cho người dùng o Streaming Video Server (SV):  Khi nhận yêu cầu từ phía người dùng lấy tập tin video, Streaming Video Server tìm tập tin ổ cứng (D)và đẩy vào Caching Devide  Tại Caching Device, tập tin video cắt thành nhiều phần (segment) nhỏ lưu trữ dạng cấu trúc Binary Tree  Sau phần tập tin video đưa qua chế nén mã hóa trước gửi người dùng.(3) - Client (C): o Truy cập vào web browser, chọn tập tin video cần xem bấm play, lệnh yêu cầu play tập tin video được gởi lên Web Server.(1) o Web browser nhận yêu cầu từ player software thực kết nối với server (2) o Player software nhận video stream (3’) thực việc giải nén, giải mã trước hiển thị Video lên cho người dùng Chương IV: GIẢI QUYẾT VẤN ĐỀ 30 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu Tóm lại: - Web Server: trả người dùng đoạn html tĩnh, nội dung tập tin chứa thông tin - embeded player software Server: lưu trữ tập tin video, gởi tập tin video yêu cầu người dùng Client: nhận thông tin từ Web Server kết nối đến server (với thông tin nhận từ Web Server tương ứng về tập tin video chọn) Mô hình hoạt động tổng quát của hệ thống: Hình : Lược đồ hoạt động tổng quát Chương IV: GIẢI QUYẾT VẤN ĐỀ 31 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu Từ (1) ta có mô hình hoạt động chi tiết bên phía Server Hình : Lược đồ hoạt động Server Hình : Lược đồ hoạt động quản lý Cache Streaming Server Chương IV: GIẢI QUYẾT VẤN ĐỀ 32 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu Từ (1) ta có mơ hình hoạt động phía client Hình 5: Lược đồ hoạt động quản lý Buffer phía Client Thực 1.1 Server 1.1.1 Quản lý chờ - tạo kết nối - Tập tin thực hiện: Server.java - Tập tin liên kết: MiniServerDlg.java, ServerThread.java, RequestProcess.java - Thực chức chờ client kết nối đến, kiểm tra hợp lệ chấp nhận kết nối Sau tạo thread tương ứng với client kết nối đến 1.1.2 Quản lý kết nối với client cụ thể - Tập tin thực hiện: ServerThread.java Tập tin liên kết: Server.java, Request.java, MoviePakage.java Thực chức đa luồng server, nhằm đáp ứng số lượng kết nối lớn tới - server Mỗi thread ứng với kết nối client đến server Nhận yêu cầu liệu client, tạo tác vụ (Request) thêm vào danh sách - tác vụ chờ xử lý Nhận liệu thread RequestProcess xử lý trả về, kiểm tra hợp lệ gởi - cho client Xác nhận liệu gởi xong trả kết cho Server để chờ liệu tiếp - theo Kiểm tra kết nối cịn sống (alive) hay khơng, kết nối với client bị ngắt, xóa tồn tác vụ kết nối chờ xử lý, xóa toàn liệu chờ gởi client Sau gọi hàm hủy thread 1.1.3 Quản lý đa luồng server - Tập tin thực hiện: ServerThread.java, Server.java, RequestProcess.java Tập tin liên kết: Request.java, MoviePakage.java, FileStreamHandle.java Chương IV: GIẢI QUYẾT VẤN ĐỀ 33 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI - SVTH: Đặng Xuân Hiếu Các thread (ServerThread, RequestProcess) tạo quản lý danh sách liên kết Server, Server nắm quyền tạo mới, hủy danh sách - Tất thread hoạt động độc lập quản lý chung Server, có giải - thuật để đồng bộ, đảm bảo không xung đột Các tác vụ (Request) quản lý RequestProcess, thread khác muốn - thêm hay xóa tác vụ phải thơng qua thread FileStreamHandle quản lý tập tin (file) có hệ thống (đĩa cứng) danh - sách file truy cập, thực tạo đệm (cache) cho hệ thống MoviePacket quản lý việc xây dựng packet từ đệm (cache) trả từ FileStreamHandle 1.1.4 Quản lý đọc, cache tập tin hệ thống - Tập tin thực hiện: FileStreamHandle.java Tập tin liên kết: FileManager.java Thực chức đọc tập tin video từ đĩa cứng lên đệm, tạo đệm - trả cho tác vụ gọi Hỗ trợ chức truy cập ngẫu nhiên (Random Access) cho tác vụ yêu cầu đọc file vị trí khác 1.2 Client 1.2.1 Kết nối server - Tập tin thực hiện: Connection.c - Tập tin liên kết: Connection.h, myPlayer.c - Thực chức kết nối với server - Gởi thông tin tập tin video cần xem lên server - Nhận liệu từ socket đưa vào buffer 1.2.2 Player - Tập tin thực hiện: myPlayer.c Tập tin liên kết: Connection.c, cmdutils.c Thực chức player phát, dừng, phát lại tập tin Video; tăng, giảm âm 1.3 Thư viện Ffmpeg - FFmpeg cung cấp công cụ khác nhau: o Ffmpeg cơng cụ dịng lệnh để chuyển đổi định dạng tập tin đa phương tiện o Ffserver máy chủ đa phương tiện trực tuyến cho phép người dùng Stream liệu đa phương tiện thơng qua mạng internet Chương IV: GIẢI QUYẾT VẤN ĐỀ 34 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu o Ffplay trình phát tập tin đa phương tiện đơn giản dựa SDL thư viện FFmpeg o Ffprobe một công cụ đơn giản để phân tích dịng (stream) - tập tin đa phương tiện Và thư viện: o Libavutil thư viện chứa hàm lập trình đơn giản, bao gồm việc tạo số ngẫu nhiên, cấu trúc liệu, cơng thức tốn học, phần cốt lõi tiện ích đa phương tiện, nhiều o libavcodec thư viện chứa giải mã mã hóa cho bảng mã (codec) âm / video o libavformat thư viện có chứa demuxers muxers cho định dạng container đa phương tiện o libavdevice thư viện chứa thiết bị đầu vào đầu cho việc lưu hiển thị khung (framework) phần mềm đa phương tiện phổ biến, bao gồm Video4Linux, Video4Linux2, VFW, ALSA o libavfilter thư viện chứa lọc o libswscale thư viện tối ưu hóa việc chuyển đổi kích cỡ ảnh, màu sắc, định dạng điểm ảnh (pixel) o libswresample thư viện thực tối ưu hóa cao resampling, - rematrixing âm thao tác chuyển đổi định dạng âm Phát triển thêm: o processInput.c, avformat.h: quản lý nhớ đệm chương trình o file.c: đưa liệu vào nhớ đệm để chạy o avformat-52.def: đưa liệu vào thư viện động 1.4 Giao diện 1.4.1 Server - Khi khởi động chương trình dành cho server khung cửa sổ MiniServer cho người quản trị server chọn port để chờ kết nối - Sau Turn On server bắt đầu chạy chờ client kết nối đến Chương IV: GIẢI QUYẾT VẤN ĐỀ 35 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu 1.4.2 Client - Sau kết nối với server, client nhận liệu tập tin video phát cho người dùng xem   Chương IV: GIẢI QUYẾT VẤN ĐỀ 36 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu CHƯƠNG V: ĐÁNH GIÁ KẾT QUẢ Chương V: ĐÁNH GIÁ KẾT QUẢ 37 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI Chương V: ĐÁNH GIÁ KẾT QUẢ SVTH: Đặng Xuân Hiếu 38 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu CHƯƠNG VI: KẾT LUẬN VÀ KIẾN NGHỊ  Chương VI: KẾT LUẬN VÀ KIẾN NGHỊ 39 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu Hiệu giáo dục - kinh tế - xã hội 1.1 Đối với giáo dục đào tạo Chương trình đào tạo từ xa chương trình đào tạo các trường đại học quan tâm, đăc biệt đó khoa KH&KT Máy tính trọng đầu tư phát triển mạnh Việc tích hợp ứng dụng vào chương trình giúp tăng hiệu việc trình chiếu trực tún, tăng tính tương tác học viên với hệ thống Ứng dụng giúp học viên tỉnh có điều kiện sở hạ tầng thấp xem video mà khơng cần tải xuống máy tính để xem, vừa bảo vệ bảo quyền video giảng viên theo dõi q trình học học viên xa 1.2 Đối với kinh tế - xã hội Ngày nay, việc chống xâm phạm quyền nói chung dữ liệu media nói riêng vấn đề được quan tâm Hướng của đề tài là góp phần vào công cuộc bảo vệ tác quyền, tránh một khoảng thất thoát không nhỏ cho các nhà cung cấp dịch vụ Phạm vi ứng dụng Với ưu điểm là sản phẩm được xây dựng hỗ trợ trình chiếu đa số định dạng video phổ biến hiện nay, nên dễ dàng tích hợp vào các hệ thống có nhu cầu trình chiếu video Bên cạnh đó, sản phẩm đã giải quyết được bài toán chống vi phạm bản quyền video mà các hệ thống thương mại điện tử lĩnh vực kinh doanh sản phẩm multimedia và truyền thông quan tâm hiện Từ đó, chúng ta thấy được tính khả thi của đề tài, phạm vi ứng dụng của sản phẩm rất rộng rãi từ chương trình đạo tạo trực tuyến từ xa, những hệ thống chia sẻ video và các hệ thống truyền thông, giải trí thông qua internet Hướng phát triển Theo dự kiến, để hoàn thành hệ thống những mục tiêu ban đầu đề đề tài tiếp tục phát triển tiếp ba bước sau: − Áp dụng kỹ thuật Video Caching để cải thiện hiệu suât bên phía server − Chuyển đổi phần ứng dụng bên đã phát triển phía client thành plugin web − Triển khai ứng dụng vào các hệ thống thực tế, bước đầu là tính hợp ứng dụng vào sakai để hỗ trợ chương trình đào tạo từ xa Khoa KH&KT Máy tính, ĐH Bách Khoa Tp HCM Chương VI: KẾT LUẬN VÀ KIẾN NGHỊ 40 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu CHƯƠNG VII: TÀI LIỆU THAM KHẢO Chương VII: TÀI LIỆU THAM KHẢO 41 GVHD: TS Bùi Hoài Thắng TÊN ĐỀ TÀI SVTH: Đặng Xuân Hiếu [1] Xuggle: http://www.xuggle.com/xuggler/doc/ [2] Neatbean: http://netbeans.org/kb/docs/cnd/beginning-jni-linux.html [3] FLV: http://www.adobe.com/devnet/f4v.html [4] Ffmpeg: http://www.ffmpeg.org/ [5] Java: www.java.com [6] Caching: An Interactive Video Delivery and Caching System Using Video Summarization - Sung-Ju Lee, Wei-Ying Ma, and Bo Shen [7] Socket: http://www.sockets.com [8] C & C++: http://www.cplusplus.com [9] A van Hoof (2009), Top40 cache algorithm compared to LRU and LFU [10] Giải thuật đệm : http://en.wikipedia.org/wiki/Cache_algorithms Chương VII: TÀI LIỆU THAM KHẢO 42 ... video trực tuyến Ba vấn đề quan tâm lĩnh vực trình chiếu Video bảo vệ bản quyền Video cho người cung cấp, nâng cao chất lượng trình chiếu Video cho người sử dụng giảm tải cho. .. Tập tin liên kết: FileManager.java Thực chức đọc tập tin video từ đĩa cứng lên đệm, tạo đệm - trả cho tác vụ gọi Hỗ trợ chức truy cập ngẫu nhiên (Random Access) cho tác vụ yêu cầu đọc file vị trí... sở lý thuyết 1.1 Streaming Video 1.1.1 Streaming Video Streaming Video là một phương thức để máy chủ đặc biệt cung cấp Video thông qua Internet Streaming Video thường sử dụng lĩnh vực

Ngày đăng: 14/03/2013, 13:43

Từ khóa liên quan

Trích đoạn

Tài liệu cùng người dùng

Tài liệu liên quan