MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG 1: GIỚI THIỆU 7
1. Phần cứng 7
1.1. Máy tính 9
1.2. Camera (Thiết bị ghi hình) 9
1.3. Bộ giữ khung 11
1.4. Mạng Internet 14
2. Phần mềm 16
CHƯƠNG 2: MỘT SỐ KIẾN THỨC LIÊN QUAN 18
1. Giao thức HTTP (HYPERTEXT TRANSFER PROTOCOL) 18
1.1. Tổng quan về giao thức truyền siêu văn bản(HTTP) 18
1.1.1. Giao thức HTTP và ý nghĩa của nó 18
1.1.2. Mô hình hoạt động của HTTP 19
1.1.3. Ví dụ về HTTP 20
1.1.4. Một số khái niệm về kết nối 21
1.1.5. Cấu trúc cơ bản của HTTP 21
1.2. Giao thức HTTP 1.1 23
1.2.1. Phiên bản HTTP 1.1 23
1.2.2. Request 24
1.2.2.1. Request-Line 24
1.2.2.2. Phương thức 24
1.2.2.3. Request-URI 25
1.2.2.4. Nhận dạng tài nguyên bởi một Request 26
1.2.2.5. Request Header Fields 27
1.2.3. Response 28
1.2.3.1. Status-Line 28
1.2.3.1.1. Mã trạng thái và nguyên nhân 28
1.2.3.2. Các trường Header của Response 31
2. Tổng quan về xử lý ảnh 31
2.1. Giới thiệu 31
1. Giao diện khi đăng nhập 65
2. Giao diện chương trình chính 66
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 72
LỜI NÓI ĐẦU
2
Ngày nay, chúng ta có thể in tráng ảnh trong giây lát và ghi lại
những file video một cách đơn giản. Tuy nhiên, để làm được như vậy người
ta đã phải mất hàng trăm năm nghiên cứu và tìm tòi. Chúng ta hãy cùng
làm quen với lịch sử của máy ảnh, vào giữa thế kỷ XI và XVI, con người
đã bắt đầu sử dụng một loại máy ảnh thô sơ được gọi là “hộp tối”, nó cho
phép chúng ta in ra giấy những hình ảnh rồi qua một vài khâu xử lý ta sẽ
nhận được hình ảnh chính xác của vật chụp.
Vào năm 1568 ông Danielo Barbaro đã sáng chế ra một chiếc máy
ảnh có một thấu kính và một lỗ có thể thay đổi đường kính để tăng độ nét
của ảnh. Kế thừa trên nguyên lý cơ bản đó, những chiếc máy ảnh sau đó ra
đời không những cho chất lượng ảnh tốt mà còn được tích hợp trên nó
nhiều tính năng tiện dụng khác.
Ngày nay chiếc máy ảnh không chỉ đơn thuần dùng để chụp ảnh mà
còn có thể ghi hình ảnh dưới dạng file Multimedia phục vụ cho giải trí hoặc
nhiều lĩnh vực khác.
Tuy nhiên, nhu cầu người dùng không dừng ở đó, nhiều khi họ muốn
quan sát hay ghi hình, … những nơi mà họ không thể trực tiếp có mặt vậy
câu hỏi đặt ra là phải làm như thế nào? Trước những điều kiện và yêu cầu
đặt ra đó, đòi hỏi phải có những phương pháp nhanh, phù hợp, tự động,
chính xác và có hiệu quả để lấy được thông tin có giá trị. Chính vì vậy mà
phương pháp giám sát qua Camera là phương pháp tối ưu nhất. Để cho
phép quan sát qua Camera cần phải có một thiết bị hiển thị (Cumputer) và
đường truyền kết nối giữa Camera và thiết bị đó.
Như ta đã biết, phải mất gần 30 năm bộ xử lý Intel mới có thể vượt
Video conferencing đáng tin cậy và giá rẻ thích hợp với những thiết bị
thông dụng, như là máy tính để bàn hoặc máy tính xách tay được kết nối lại
4
để tạo nên một bức phá lớn trong tương lai gần. Ở mức độ thương nghiệp,
điều này sẽ gia tăng mối quan hệ hợp tác giữa các khu vực trên thế giới.
Trong những năm qua, nhiều tổ chức lớn ở Mỹ đã khẳng định vị trí của
mình trên trường quốc tế và không chỉ nằm trong khuôn khổ của quốc gia.
Chẳng hạn như một công ty khoa học điện tử áp dụng vào hàng không của
Honeywell ở Mỹ cũng giống như là công ty khoa học điện tử áp dụng vào
hàng không ở Pháp. Điều này đòi hỏi một mối quan hệ hợp tác vững chắc
giữa các tổ chức ở các khu vực địa lý khác nhau trên thế giới. Thực chất
những tập đoàn này giao tiếp với nhau thì phải nhân đôi thời gian di chuyển
cho mục đích kinh doanh. Video conferencing trở nên phổ biến sẽ loại bỏ
thời gian di chuyển này và cải tiến cách thức giao tiếp đơn phương tiện
hàng ngày thành đa phương tiện.
Trong lĩnh vực an ninh – giám sát, Camera đã được kết hợp với hệ
thống bảo mật và giám sát trong thời gian qua. Tuy nhiên, việc sử dụng
công nghệ Camera trong những ứng dụng bảo mật có thể được mô tả như là
một người bảo vệ. Camera trong hệ thống bảo mật trước đây thông thường
hoạt động tách biệt và không có mối quan hệ gì với máy vi tính. Chúng gửi
video time-lapse cung cấp cho máy thu băng tỷ biến để lưu trữ trên băng
VHS. Sau đó, nếu người sử dụng muốn truy cập vào từng phần riêng biệt
của video, nó sẽ phải truy xuất thường xuyên – đây là chính là một việc bất
tiện. Do không có phần mềm làm nhiệm vụ xử lý trên live video cho nên
không có khả năng tự động báo động khi có đột nhập. Vì thế bảo mật dựa
vào việc giám sát của người bảo vệ, người này phải thường xuyên chú ý
vào màn hình đầy phức tạp trong nhiều giờ liền. Bằng cách kết nối Camera
bảo mật với máy tính, video có thể được số hóa lưu trữ vào các phương tiện
lưu trữ của máy tính. Hơn nữa, video có thể xử lý trực tuyến và dĩ nhiên
suy ra rằng có thể tự động tăng cường chức năng hệ thống bảo mật trên tín
6
Chương 1: Giới thiệu
Giới thiệu khái quát về hệ thống phần cứng và phần mềm phục vụ
cho truyền tải dữ liệu giữa máy vi tính và Camera.
Chương 2: Một số kiến thức liên quan
Giới thiệu giao thức HTTP, xử lý ảnh và xây dựng các bộ lọc.
Chương 3: Xây dựng lớp phục vụ cho bắt đối tượng di chuyển
Chương 4: Thiết kế, xây dựng chương trình
Trong quá trình thực hiện em xin chân thành cảm ơn thầy giáo đã tận
tình hướng dẫn, chỉ bảo, giúp đỡ em trong quá trình làm đồ án cùng các
thầy trong Bộ môn An ninh mạng đã tạo điều kiện về cơ sở và vật chất để
em hoàn thành nội dung đồ án của mình.
CHƯƠNG 1: GIỚI THIỆU
1. Phần cứng
7
Khả năng tiếp nhận, xử lý, biểu diễn dữ liệu video của hệ thống
Computer–Camera bao gồm các thành phần sau:
- Máy vi tính.
- Camera.
- Bộ giữ khung (frame grabber).
- Mạng Internet.
Khung chứa video được gửi từ Camera tới máy vi tính. Nếu Camera
là Camera tỷ biến thì tín hiệu video được chuyển thành tín hiệu số ở bộ giữ
khung, bộ giữ khung hoạt động như người dàn xếp của Camera và máy vi
tính, nó cũng có vai trò như bộ nhớ tạm cho khung video. Điều này rất
quan trọng đối với ngày xưa, khi Bus, bộ xử lý, tốc độ bộ nhớ còn chậm và
không có vùng đệm khung, khung video thường bị mất. Ngày nay, không
cần thiết phải có vùng đệm trong bộ giữ khung. Điều này làm giảm vai trò
của bộ giữ khung thành bộ biến đổi tín hiệu tỷ biến thành số. Vì thế, nếu
Camera được số hóa thì có thể xóa bỏ bộ giữ khung.
năng thu hình được gọi là Camcorders. Phần thu hình được thực hiện bởi
video cassette có thể được tích hợp vào trong Camcerders. Gần như tất cả
Camcorders đều cho tín hiệu video màu. Camera công nghiệp – an ninh
thường là tỷ biến chỉ những sản phẩm sau này mới ở dạng kỹ thuật số. Phần
lớn các Camera an ninh - công nghiệp cho ra tín hiệu video đơn sắc và
những Camera này không có khả năng thu hình. Gần đây, thế hệ Camera
mới đã trở nên rất phổ biến một cách nhanh chóng. Đây là những Camera
màu kỹ thuật số rất nhỏ chỉ được sử dụng cho máy tính. Nó được hỗ trợ
giao tiếp USB hay là IEEE1394, nó được sử dụng cho những cuộc hội thảo
video, trò chơi trên máy tính, nhận diện và hệ thống an ninh ở gia đình.
Camera sử dụng cho máy tính là một ví dụ điển hình cho xu hướng chính
góp phần làm tăng nhu cầu lập trình trên máy tính – Camera.
Hình 1.2: Một số loại Camera
10
1.3. Bộ giữ khung
Bộ giữ khung được gắn thêm vào khe của máy tính giúp Camera và
máy tính kết nối thuận tiện hơn. Chúng thường được sử dụng cho Camera
tỷ biến. Chức năng chủ yếu của chúng là chuyển tín hiệu video tỷ biến sang
tín hiệu video kỹ thuật số, vì thế nó có thể đưa tín hiệu vào máy tính. Đa số
các frame grabber tương thích với các định dạng video chuẩn ở Bắc Mỹ và
Châu Âu như RS 170 National Television Standards Committee (NTSC),
CCIR và Phase Alternating Line (PAL). Một thuận lợi khác chính là khả
năng tương thích với nhiều loại Camera rẻ tiền và thông dụng nhờ những
ứng dụng chính, điều này giúp giảm chi phí cho hệ thống. Điều bất lợi ở
đây là những cái chuẩn này dẫn đến hạn chế hệ thống xử lý hình ảnh, chủ
yếu là do độ phân giải có giới hạn, tốc độ (số khung/giây) và thực tế là sự
hiển thị video bị quét xen kẽ (mỗi khung chia ra làm trường chẵn và trường
lẻ hiển thị riêng biệt). Nhiều hãng đã đưa ra dạng frame grabber có thể
ghép nối tương thích với Camera không chuẩn và không xen kẽ (với độ
phân giải cao và tốc độ khung cao hơn), Camera quét theo đường (line-scan
Chuẩn IEEE 1394 : Nó có khả năng chuyển dữ liệu ở tốc độ 100 –
200 hay 400 Mbps.
Những lợi ích của IEEE 1394:
Giao tiếp kỹ thuật số - không cần phải chuyển dữ liệu ở dạng
tỷ biến và chấp nhận sự mất toàn bộ dữ liệu.
Dễ sử dụng – không cần thiết bị cuối, thiết bị Ids hay cài đặt
phức tạp.
Có thể gắn nóng – người sử dụng có thể thêm hay tháo thiết bị
1394 với kênh đang hoạt động.
Có cấu trúc thay đổi – có thể gồm hỗn hợp các thiết bị có tốc
độ 100, 200 và 400 Mbps trên một cổng.
12
Có cấu trúc liên kết mạng linh động – có hỗ trợ kết nối mạng
đồng đẳng ở dạng sao hay nhánh.
Rẻ tiền – sự phân phối thời gian tới hạn của dữ liệu được bảo
đảm giúp giảm chi phí cho bộ nhớ đệm.
Không có quyền sở hữu riêng – không gặp rắc rối trong vấn đề
bản quyền khi sử dụng sản phẩm.
Điều khiển tất cả mọi cấu hình – sự quản lý các kênh song
song được điều khiển dưới dạng tối ưu hóa sự phân bổ thời
gian và bảo đảm nguồn điện cung cấp đầy đủ cho các thiết bị
trên kênh (chỉ định toàn bộ chu trình cho thiết bị IEEE 1394)
chỉ định của kênh ID đẳng thời và báo lỗi.
Chuẩn kênh IEEE 1394 với rất nhiều lợi ích đáng chú ý. Nó có thể
kết nối trực tiếp với Camera mà không cần có sự chuyển đổi từ tín hiệu tỷ
biến sang tín hiệu kỹ thuật số. Nó còn là một thiết bị kết nối kênh dữ liệu
đẳng thời. Kênh dữ liệu đẳng thời bảo đảm cho truyền tải với tốc độ định
trước. Điều này rất quan trọng cho dữ liệu video với thời gian tới hạn, giúp
loại bỏ được sự tốn kém của bộ nhớ đệm khi tín hiệu được truyền tải đến
đúng thời gian. Do đó ta không còn ngạc nhiên khi IEEE 1394 trở thành
nhiều mạng được kết nối bằng hai Router.
Hình 1.4: 3 mạng kết nối với nhau thông qua 2 Router.
14
Như vậy, Router1 phải truyền tất cả các gói tin đến một máy nằm ở
mạng Net2 hoặc Net3. Với kích thước lớn như mạng Internet, việc các
Router làm sao có thể quyết định về việc chuyển các gói tin cho các máy
khác trong các mạng sẽ trở nên phức tạp hơn.
Để các Router có thể thực hiện được công việc chuyển một số lớn
các gói tin thuộc các mạng khác nhau người ta đề ra quy tắc là:
Các Router chuyển các gói thông tin dựa trên địa chỉ mạng của nơi
đến chứ không phải dựa trên địa chỉ của máy nhận.
Như vậy, dựa trên địa chỉ mạng nên tổng số thông tin mà router phải
lưu giữ về sơ đồ kiến trúc mạng sẽ tuân theo số mạng trên Internet chứ
không phải là số máy trên Internet.
Trên Internet, tất cả các mạng đều có quyền bình đẳng cho dù chúng
có tổ chức hay số lượng máy là rất chênh lệch nhau.
Như vậy, người dùng trong Internet hình dung Internet là một mạng
thống nhất và bất kỳ hai máy nào trên Internet đều được nối với nhau thông
qua một mạng duy nhất. Hình vẽ sau mô tả kiến trúc tổng thể của Internet:
(a)
15
(b)
Hình 1.5: (a)-Mạng Internet dưới con mắt người sử dụng.
Các máy được nối với nhau thông qua một mạng duy nhất.
(b)-Kiến thức tổng quan về mạng Internet. Các Router
cung cấp các kết nối giữa các mạng.
2. Phần mềm
Camera thật sự là một thiết bị phần cứng liên kết với CPU thông qua
cổng frame grabber. Sự liên kết này diễn ra ở mức độ phần cứng. Có một
kẽ hở giữa cách kết nối này với phần mềm ứng dụng cấp cao. Kẽ hở này
cho Client.
18
Một trình duyệt là một HTTP máy khách bởi vì nó gửi những yêu
cầu tới HTTP máy chủ, rồi máy chủ sẽ trả lời tới máy khách. Cổng chuẩn
và mặc định cho HTTP máy chủ là cổng 80, tuy nhiên có thể sử dụng một
vài cổng khác.
HTTP được triển khai trên cả hai phía Client và Server. Các tiến
trình Client và Server trên các hệ thống đầu cuối khác nhau giao tiếp với
nhau thông qua việc trao đổi các thông điệp HTTP. HTTP quy định cấu
trúc thông điệp cũng như cách thức trao đổi thông điệp giữa Client và
Server.
HTTP xác định chức năng duyệt yêu cầu trang Web từ Web Server
cũng như cách thức Server gửi trang Web được yêu cầu đến trình duyệt.
Cho đến năm 1997, phần lớn các trình duyệt Web và Web Server tuân thủ
phiên bản HTTP 1.0.Từ năm 1998 một số trình duyệt và Web Server sử
dụng phiên bản 1.1 theo khuyến nghị của RFC 2068, phiên bản mới này
tương thích với phiên bản 1.0, nghĩa là Web Server dung phiên bản 1.1 có
thể “nói chuyện” được với các trình duyệt sử dụng phiên bản 1.0 và ngược
lại.
1.1.2. Mô hình hoạt động của HTTP
HTTP kết hợp với dịch vụ TCP
Client khởi tạo liên kết TCP (khởi tạo Socket) đến Server, port
80.
Server chấp nhận liên kết TCP từ Client.
Thông điệp HTTP trao đổi giữa Browser (HTTP Client) và
Web Server (HTTP Server).
Đóng kết nối TCP.
HTTP “không xác thực”
Server không lưu giữ thông tin về các yêu cầu đã thực hiện
của Client.
Server phân tích yêu cầu, đáp ứng yêu cầu và đóng kết nối
TCP.
2 RTTs (Round trip time) được nạp cho mỗi đối tượng.
Mỗi đối tượng được chuyển qua từ thời điểm bắt đầu chậm.
Kết nối bền vững
Mặc định cho HTTP 1.1.
Trong một vài liên kết TCP: Server phân tích yêu cầu, đáp ứng
yêu cầu, phân tích yêu cầu mới,…
Client gửi các yêu cầu cho tất cả các đối tượng được chuyển
đến ngay sau khi nhận được cơ sở HTML.
Một vài đơn vị RTTs và được bắt đầu chậm hơn.
1.1.5. Cấu trúc cơ bản của HTTP
Có hai dạng thông điệp HTTP là: Request và Responese.
Cấu trúc thông điệp yêu cầu của HTTP: Request
HTTP request message: ASCII
(a)
Trong đó:
GET /somedir/page.html HTTP/1.0: Dòng yêu cầu có thể có
các lệnh HEAD, GET, POST.
21
User-agernt : Phần mềm tương tác người dùng là
Mozilla/0.9.4(Linux 2.2.19).
Chấp nhận được các lệnh : Text/html, image/gif, image/jpeg.
Ngôn ngữ có thể chấp nhận là : English.
<cr><lf> : Mã kết thúc.
(b)
Hình 2.2: (a) và (b) Cấu trúc HTTP request message
Cấu trúc thông điệp trả lời của HTTP: Responese
Hình 2.3: Cấu trúc HTTP Responese
Trong đó:
23
1.2.2. Request
Một thông điệp Request từ phía Client tới Server bao gồm có dòng
đầu của thông điệp đó, phương thức để áp dụng đối với tài nguyên, mẫu tài
nguyên và phiên bản giao thức được sử dụng.
1.2.2.1. Request-Line
Request-Line bắt đầu với một mã phương thức, theo sau là Request-
URI và phiên bản giao thức và kết thúc với CRLF. Các thành phần ngăn
cách nhau bởi ký tự trống.
1.2.2.2. Phương thức
Mã phương thức chỉ ra phương thức được thực hiện trên mẫu tài
nguyên bằng yêu cầu URI.
Danh sách các phương thức cho phép bởi một tài nguyên có thể được
phân loại trong trường header cho phép. Mã trả lại của Responese luôn
24
luôn thông báo cho Client, một phương thức hiện tại được cho phép trên
một nguồn tài nguyên, từ khi tập các phương thức cho phép có thể thay đổi
một cách linh động. Máy chủ sẽ trả lại mã trạng thái 405 (không cho phép
phương thức) và 501(không được phép thi hành) nếu phương thức không
được công nhận hay không được thi hành bởi máy chủ.
Các phương thức GET, HEAD phải được xác nhận bởi mục đích
chung của các Server. Tất cả các phương thức khác là các thành phần, tuy
nhiên, nếu các phương thức được thi hành, chúng phải được thực thi với ý
nghĩa đặc biệt.
1.2.2.3. Request-URI
Request-URI là một chuỗi định dạng tài nguyên theo đó nó đáp ứng
yêu cầu.
Có bốn lựa chọn đối với Requesst-URI là phụ thuộc tự nhiên vào
Request. Dấu hoa thị “*” nghĩa là ở đó Request không được ứng dụng với
tài nguyên liên quan, nhưng để máy chủ hiểu được và chỉ được phép khi