Đồ Án:Ứng Dụng Chia Sẻ Video Trong Mạng Lan Thông tin thành viên và bảng phân công công việc: Xây dựng Server Tìm hiểu giao thức RTP,cách truyền video qua mạng theo RTP & Multicast Ser
Trang 1Đồ Án:
Ứng Dụng Chia Sẻ Video
Trong Mạng Lan
Thông tin thành viên và bảng phân công công việc:
Xây dựng Server Tìm hiểu giao thức RTP,cách truyền video qua mạng theo RTP &
Multicast Service Build Server
Tìm hiểu giao thức RTP,cách truyền video qua mạng,tìm hiểu socket
Xây dựng Client Build Client
Giới thiệu sơ về ứng dụng,ý tưởng thực hiện:
Trang 2o Giới thiệu:ứng dụng được xây dựng nhằm mục đích chia sẻ video giữa 1
máy (tạm gọi là server) và các máy còn lại trong 1 nhóm nhất định(các máy client)
Client:
Khi các máy client kết nối vào server thì các client sẽ nhận được các đoạn video đang chiếu tại server và hiển thị trên màn hình ở phía client
Client kết nối vào server tại 1 thời điểm sẽ xem được trực tiếp nội dung video đang chiếu tại server(giống với xem truyền hình)
Client có quyền không xem đoạn phim,và gửi yêu cầu về server
Server:
Server phát các đoạn video tại server và bắt đầu gửi video(dưới dạng Stream) lên mạng
Server sẽ biết được danh sách các client đang kết nối tới mình(mỗi client kết nối sẽ được hiển thị lên bảng tại server).Server sẽ biết được thông tin chi tiết của từng Client Server có quyền đóng kết nối và cấm không cho bất cứ 1 client nào xem video
o Cách thực hiện:
Trang 3 Giao thức RTP(REAL TIME PROTOCOL):giao thức vận
chuyển thời gian thực.Giao thức này được ra đời để cải tiến về mặt thời gian thực của việc truyền dữ liệu qua mạng,nhất là ở lĩnh vực truyền thông đa phương tiện(video/audio) mà các giao thức trước đó không làm được(TCP/IP)
Giao thức RTP có thể sử dụng với các mục đích:hội thảo trực tuyến,học từ xa qua mạng,chia sẻ video trong 1 nhóm máy tính,…
Multicast service:là dịch vụ để gửi các gói tin,tập tin,video/audio từ 1 máy
tính tới 1 nhóm máy tính nhất định(mạng Lan)
Địa chỉ IP được multicast sử dụng là địa chỉ IP thuộc lớp D:224.0.0.0
239.255.255.255
Xây dựng ứng dụng:như vậy ý tưởng chính của chúng em là sẽ sử dụng giao thức RTP và Multicast service để gửi(server) và nhận(các client)
video/audio thông qua mạng Lan
Trang 4 Truyền Video/Audio lên mạng(lớp MediaSender):khi
bắt đầu chiếu 1 video ,thì tại server sẽ bắt đầu gửi video này lên mạng theo địa chỉ multicast và port multicast nhất định(Ip này phải
đảm bảo thuộc lớp D).ví dụ:230.110.111.112/6366
Mở Socket (lớp Server,SocketServerListener): mở
Socket tại 1 port để bắt đầu lắng nghe kết nối từ client
Giao tiếp với Client(lớp ClientHandler): sau khi tạo
socket để lắng nghe kết nối từ các client,server sẽ nắm được thông tin chi tiết của từng Client và bắt đầu giao tiếp với Client:có thể đóng kết nối client,hoặc nhận yêu cầu đóng kết nối từ phía Client
o Client:
Trang 5 Mở kết nối tới Server(lớp Client):tạo socket client và bắt
đầu kết nối tới server,nếu được server đồng ý thì client sẽ kết nối thành công tới server,và bắt đầu xem video từ server
Nhận video (Lớp MediaReceive):sau khi kết nối tới
server,client sẽ nhận được thông tin về các thông tin của Multicast Address:IP/Port.ví dụ: 230.110.111.112/6366(video) -
230.110.111.112/6368(audio)
Kết nối tới các địa chỉ tại các port trên,Client sẽ xem được video đang phát trực tuyến tại server
Tiếp tục:Client có thể giao tiếp với server,có thể yêu cầu server đóng kết nối tới mình
Hướng dẫn sử dụng:
o Hướng dẫn chạy ứng dụng:
Server:
Chép các file video(mpg,avi) vào thư mục /server/Release/MediaFiles
Chạy file:
Trang 6Khi chương trình chạy,bấm nút Play để chạy file video và gửi video lên mạng.Sau đó Clients có thể kết nối và xem video.
Khi chọn video khác trong danh sách để play thì sẽ đóng player trước đó.
Hạn Chế: chưa làm được chức năng gửi nhiều video
cùng lúc
Client:
Chạy file:
\client\Release\Client.jar
o Hướng dẫn Build ứng dụng:đã cài đặt ant và set biến môi trường.Chép các file video vào thư mục
…/Release/Build/MediaFiles
o Build Server:mở command(CMD) ,di chuyển
thư mục hiện hành tới thư mục xml:gõ ant
Trang 7o Build Client: mở command(CMD) ,di chuyển
thư mục hiện hành tới thư mục xml:gõ ant
Chạy mã nguồn bằng netbean,2 project đượ đặt tại 2 thư mục Client và Server LƯU Ý,PHẢI COPY CÁC FILE VIDEO VÀO THƯ MỤC :
Server/Source(Netbean)/MediaFiles
Trang 8 Hướng dẫn truyền và nhận video bằng giao thức RTP :http://java.sun.com/products/java-media/jmf/2.1.1/solutions