« Home « Kết quả tìm kiếm

XÂY DỰNG HỆ THỐNG XEM VIDEO TRỰC TUYẾN TRÊN HỆ ĐIỀU HÀNH ANDROID


Tóm tắt Xem thử

- Đặc biệt là dịch vụ xem video trực tuyến trên thiết bị cầm tay, nó sẽ là dịch vụ rất phát triển khi mà công nghệ mạng 3G đang từng bước được triển khai đem lại cho người dùng tốc độ truyền tải dữ liệu rất nhanh.
- Yêu cầu người sử dụng.
- Yêu cầu hệ thống.
- Xử lý trên thiết bị.
- Các chức năng của hệ thống.
- Biểu đồ ca sử dụng.
- Hệ thống trên thiết bị cầm tay.
- Hệ thống Servlet.
- Cơ sở dữ liệu.
- 38Hình 20: Biểu đồ ca sử dụng..
- 49Hình 28: Bảng cơ sở dữ liệu..
- Mạng 3G (Third-generation technology) là thế hệ thứ ba của chuẩn công nghệ điện thoại di động, cho phép truyền cả dữ liệu thoại và dữ liệu ngoài thoại (tải dữ liệu, gửi email, tin nhắn nhanh, hình ảnh.
- Mạng CDMA2000 mang đến khả năng truyền dữ liệu ở mức 3G cho mạng CDMA.
- CDMA : tốc độ dữ liệu lên đến 2.4 Mbps.
- Nhìn chung, công nghệ 3G mang đến rất nhiều lợi ích cho người sử dụng dịch vu viễn thông do băng thông rộng, tốc độ truyền dữ liệu nhanh.
- Hiện nay tại Việt Nam, người sử dụng đang chủ yếu sử dụng công nghệ 2.5G mang tên EDGE và sử dụng internet qua GPRS, với tốc độ truyền dữ liệu lý tưởng vào khoảng 171 Kb/sec, còn thực tế trung bình khoảng 40 Kb/sec thì công nghệ 3G chắc chắn sẽ là nền tảng cho các dịch vụ cần tốc độ truyền cao..
- Ngoài ra, Android là một nền tảng mở cho các thiết bị di động nên có thể tùy biến hệ điều hành cho nhiều loại sản phẩm khác nhau và được sử dụng miễn phí.
- Lưu trữ: Phần mềm cơ sở dữ liệu SQLite được sử dụng cho mục đích lưu trữ, tuy nhiên chỉ dùng dể lưu trữ trên thiết bị..
- Hệ thống thông tin trực tuyến trên điện thoại di động Do đặc điểm của điện thoại di động trên điện thoại là màn hình nhỏ, tốc độ truyền dữ liệu rất chậm nên việc phát triển các hệ thống thông tin trực tuyến cho điện thoại di động thực sự chưa phát triển, nhưng lý do quan trọng nhất có lẽ là do tốc độ truyền dữ liệu.
- Cũng vì lẽ đó nên thậm chí các nền tảng cũ phát triển phân mềm cho điện thoại, ví dụ như J2ME còn không cung cấp hỗ trợ kết nối cơ sở dữ liệu.
- Các ứng dụng cần truyền tải dữ liệu lớn như xem video trực tuyến theo thời gian thực, học trực tuyến, tải dữ liệu lớn… trên điện thoại chưa phát triển.
- Thêm vào đó, với công nghệ 3G, tốc độ tải dữ liệu lớn sẽ khắc phục được nhược điểm quan trọng nhất của các hệ thống thông tin trực tuyến trên điện thoại di động.
- Đây là bài toán đầu tiên cho sự kết hợp giữa truyền dữ liệu cao trên công nghệ 3G và hệ điều hành mã nguồn mở Android, nó sẽ là nền tảng cho sự phát triển các ứng dụng hệ thống thông tin trực tuyến đòi hỏi truyền dữ liệu tốc độ cao như học trực tuyến, truyền hình, giải trí trực tuyến… 1.3.2.
- Ngày nay, cùng với sự bùng nổ cùa internet băng thông rộng thì việc tải dữ liệu nhạc hoặc video dưới dạng streaming ngày càng phổ biến.
- Thay vào đó các phương tiện truyền thông như video, tập tin nhạc được gửi theo một luồng dữ liệu liên tục và được chạy ngay khi nó đến hoặc được lưu lại chờ đến lượt được chạy.
- Người sử dụng sẽ cần một thiết bị mà nó được cài đặt sẵn chương trình phần mềm mà nó liên tục tải dữ liệu theo luồng về thiết bị rồi ngày sau đó kết nối đến màn hình hiển thị, loa… để chạy tập tin đó.
- Video theo yêu cầu là các dữ liệu video được lưu trữ trên multimedia server và được truyền đến người dùng khi có yêu 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, nhẩy qua.
- với các đoạn dữ liệu này.
- Video thời gian thực là các dữ liệu video được chuyển 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, các thiết bị phát dữ liệu video.
- Các dữ liệu này sẽ được multimedia phát quảng bá thành các kênh người dùng sẽ chỉ có quyền truy nhập bất kỳ kênh ưa thích nào để hiển thị dữ liệu mà không được thực hiện các thao tác tua, dừng vv..
- trên các dữ liệu đó (giống như TV truyền thống).
- Như đã nói ở trên, Streaming video sử dụng giao thức HTTP.
- ở server để truyền dữ liệu theo dạng streaming qua mạng Internet, đồng thời sử dụng các chuẩn nén để giảm dung lượng dữ liệu, cung cấp khả năng nén dữ liệu tại nhiều mức nén, nhiều kích thước hiển thị để có thể phù hợp với độ rông băng thông của nhiều mạng truyền dẫn để tối ưu hoá việc truyền dữ liệu qua mạng.
- Tuy nhiên, để xây dựng một hệ thống tìm kiếm video, cập nhập video như mục tiêu của luận văn này thì có một vấn đề rất khó khăn khi thiết lập Server, đó là do thiết bị cầm tay sử dụng hệ điều hành mã nguồn mở Android không thể truy cập trực tiếp đến cơ sở dữ liệu của server..
- Vì vậy ta cần phải xây dựng một Servlet như là một bộ xử lý trung gian để hỗ trợ các giao tiếp từ thiết bị đến cơ sở dữ liệu trên Server.
- Sau đó nó phải được cài đặt phần mềm cho phép kết nối với Server, và Servlet nhận các luồng dữ liệu được gửi từ Server rồi kết nối đến thiết bị hiển thị để chạy dữ liệu video..
- Servlet đóng vai trò là đối tượng nhận dữ liệu từ Server và trả lại Client do thiết bị điện thoại không tác động trực tiếp được vào cơ sở dữ liệu trên Server, cũng như không nhận trực tiếp được các luồng dữ liệu từ trên Server chuyển xuống..
- Content Providers cho phép các ứng dụng truy xuất dữ liệu từ ứng dụng khác , hay chia sẻ dữ liệu.
- SQLite: là thư viện truy xuất cơ sở dữ liệu nhỏ, mạnh, có sẵn trong mọi ứng dụng Android..
- Trong khóa luận này có sử dụng một số lớp để phục vụ việc gửi yêu cầu và nhận dữ liệu trả về từ Servlet..
- HttpPost: được dẫn xuất từ lớp org.apache.http.client.methods.HttpPost, đây là phương thức chính để gửi các yêu cầu đến Server và nhận lại các luồng dữ liệu về từ Servlet..
- Dữ liệu (data): các dữ liệu để thực hiện hành động.
- Loại (type): chỉ định một kiểu rõ ràng của dữ liệu Intent.
- Nó được sử dụng để cung cấp các thông tin mở rộng cho các thành phần.
- Các giải pháp sử dụng Intent.
- nó cung cấp chính xác đến các lớp cần dữ liệu Intent mang đến để xử lý..
- Intent ẩn (Implicit Intent): không chỉ định rõ thành phần nào sẽ chạy dữ liệu mang theo của Intent, tuy nhiên nó bao gồm đầy đủ thông tin cho hệ thống để xác định thành phần đang sẵn sang nào tốt nhất sẽ chạy Intent đó.
- Activity thứ nhất sẽ kết thúc, gọi Activity thứ hai khởi động, đồng thời truyền dữ liệu bổ sung theo để Activity thứ hai xử lý..
- Nó làm nhiệm vụ xử lý tải về dữ liệu rồi phát ngay đúng theo định nghĩa về streaming.
- Các phương thức quan trọng và thường xuyên được sử dụng trong luận án:.
- sau khi sử dụng phương thức này, đối tượng kết thúc..
- void setDataSource(String đường_dẫn): thiết lập đường dẫn( hoặc URL) sử dụng.
- void setOnBufferingUpdateListener(MediaPlayer mp, int percent): đây có thể được coi là phương thức quan trọng nhất, nền tảng của toàn bộ luận văn, nó cho ta giải pháp để xử lý dữ liệu Streaming video.
- Phương thức này làm cồng việc lấy dữ liệu vào bộ đệm của thiết bị đồng thời trả về phần trăm dữ liệu đã được lấy vào bộ đệm..
- Hiển thị trên thiết bị:.
- Bài toán của chúng ta ở đây là xây dựng một hệ thống xem video trực tuyến dưới dạng streaming trên thiết bị sử dụng hệ điều hành mã nguồn mở Android.
- Yêu cầu 6(YC6): Thuận tiện, dễ sử dụng đối với người sử dụng..
- Yêu cầu 10 (YC10): Giao diện trên thiết bị cầm tay: phải thân thiện, đơn giản, dễ sử dụng cho nhiều lứa tuổi.
- Hệ điều hành trên điện thoại hầu như không hỗ trợ các kết nối trực tiếp đến cơ sở dữ liệu, và Android cũng vậy, nó cũng không cung cấp các kết nối trực tiếp đến cơ sở dữ liệu..
- Tạo ra một Servlet, có tác dụng lấy dữ liệu từ Server, chuyển thành các luồng dữ liệu mà thiết bị có thể đón nhận được..
- Quản trị cơ sở dữ liệu bằng hệ quản trị dữ liệu Oracle.
- Các chức năng của hệ thống Với hệ thống này, người sử dụng sẽ được cung cấp các chức năng sau:.
- Tìm kiếm video theo tên : cho phép người dùng tìm kiếm theo tên video từ trên cơ sở dữ liệu của hệ thống..
- Tên Ca sử dụng.
- dữ liệu vào EditText.
- Kiểm tra dữ liệu nhập vào có khác null không.
- Hiển thị kết quả trên thiết bị..
- Luồng dữ liệu phụ:.
- Thông báo lỗi nhập dữ liệu null.
- Thông báo không có dữ liệu cần tìm..
- Dữ liệu trả về thiết bị.
- Dữ liệu hiển thị lại trên thiết bị.
- Thông báo không có dữ liệu mới..
- Kêt nối đến Server để lấy dữ liệu vào bộ đệm..
- Chạy dữ liệu được lấy về bộ đệm.
- Lớp readData: kết nối và lấy dữ liệu từ trên Servlet.
- lấy dữ liệu trả về từ trên Servlet.
- Lớp ContentServlet: làm nhiệm vụ nhận dữ liệu từ Server bị gửi lên, lấy dữ liệu từ Server và trả về thiết bị.
- trả dữ liệu về thiết bị.
- Lớp ContentDAO: có nhiệm vụ kết nối cơ sở dữ liệu trên Server, lấy dữ liệu về để chuẩn bị đẩy xuống thiết bị.
- gửi các câu truy vấn đến cơ sở dữ liệu rồi lấy về đưa vào một Vector.
- Tìm kiếm Hình 22: Biểu đồ tuần tự chức năng Tìm kiếm Người dùng nhập thông tin cần tìm kiếm là tên video vào một EditText, rồi nháy vào Button Search trên màn hình hiển thị, nó tiếp tục được gửi thông tin đến một Controller là là form điểu khiển tìm kiếm, tại đây dữ liệu nhập vào sẽ được kiểm tra với null, nếu nó bằng null thì sẽ gửi trả lại thông báo cho người sử dụng biết.
- Còn nếu khác null, nó sẽ được gửi tiếp đến Server để thực hiện việc tìm kiếm theo tên trên cơ sở dữ liệu.
- Tại cơ sở dữ liệu sẽ tiến hành kiểm tra xem với tên nhập vào đó thì có trong cơ sở dữ liệu không.
- Tại server sẽ thực hiện các truy vấn, kiểm tra những video nào đã có trên thiết bị rồi trả về dữ liệu form Dk Cập nhập, rồi trả về form Cập nhập hiển thị cho người dùng..
- Tại form Dk Streaming nó sẽ thực hiện các truy vấn đến cơ sở dữ liệu chứa thông tin về video đã lựa chọn, tuy nhiên trước khi đưa yêu cầu đến Server, nó sẽ thực hiện việc kiểm tra xem dữ liệu video lựa chọn có hợp lệ hay không.
- Tại Server sẽ thwck hiện vieeck kiểm tra sự tồn tại của dữ liệu được gửi lên trong cơ sở dữ liệu, rồi sẽ tiền hành trả dữ liệu đã được yêu cầu về form DkVideo có chức năng quản lý, điều khiển các thao tác với video đang được streaming về thiết bị..
- Để có thể kiểm soát và đưa hệ thống trở thành phổ biến, lớn mạnh trên toàn thế giới thì việc sử dụng một hệ quản trị cơ sở dữ liệu đáng tin tưởng, bảo mật..
- Trong luận văn này sẽ sử dụng cơ sở dữ liệu Oracle 10g để thiết kế và quản trị cơ sở dữ liệu.
- Cơ sở dữ liệu của hệ thống trước mắt sẽ chỉ có một bảng duy nhất, lưu giá trị : mã, tên của video, link kết nối đến video, độ dài tính theo giây của video, dung lượng video, thời gian chèn vào cơ sở dữ liệu..
- Cơ sở dữ liệu mang tên: DBVideo.
- Mô tả cơ sở dữ liệu.
- Độ dài tính theo giây : v_second · Dung lượng video : v_kb · Thời gian chèn vào cơ sở dữ liệu : v_createdate.
- Bảng cơ sở dữ liệu: Hình 28: Bảng cơ sở dữ liệu.
- Ngoài ra, màn hình chính còn có hai Button : Search và Update, button Search mang nhiệm vụ khi ta gõ tên video cần tìm rồi nháy vào Search thì hệ thống sẽ thực hiện các kết nối, tìm kiếm để tìm video có tên như người dùng đã nhập trên cơ sở dữ liệu của hệ thống, sau đó hiển thị lên màn hình cho người sử dụng biết có video với tên vừa nhập vào có hay không, và nếu có nó sẽ hiển thị các nội dung về video đó..
- Nếu bạn không nhập dữ liệu mà nháy vào Search sẽ hiện ra thông báo:.
- Còn nếu dữ liệu có về trên hệ thống sẽ trả về màn hỉnh hiên thị của thiết bị và hiển thị ra ở vị trí đầu tiên của danh sách, còn nếu không có thì danh sách các video ban đầu vẫn được giữ nguyên không thay đổi.
- Mô tả vieo trên cơ sở dữ liệu.
- Mô tả video trên cơ sở dữ liệu.
- Đối với server: cài đặt hệ quản trị cơ sở dữ liệu Oracle 10g, tạo bản dbvideo