Để đọc hình ảnh từ camera IP ít bị giật lag (người đi qua rồi mà màn hình vẫn còn hiển thị) thì cần làm 3 điều sau:
- Sử dụng thiết bị mạng tốt: cáp mạng cat5E trở lên, thiết bị mạng Gigabit (1000 mbps) trở lên, máy tính có cổng mạng Gigabit
- Sử dụng thư viện đọc camera ít lag như TGMTplayer. Bài này sẽ hướng dẫn các bạn sử dụng
- Lập trình đa luồng (multithread): không nên xử lý ảnh ngay trong thread đọc camera mà nên tách riêng
Bài viết này giới thiệu thư viện TGMTplayer viết bằng C# đọc camera bằng stream link ít giật lag hơn các thư viện khác. Nội dung là hướng dẫn cách tích hợp và các vấn đề cần chú ý khi sử dụng.
Hướng dẫn sử dụng TGMTplayer
Bước 1: lấy stream link của camera IP
Các bạn cần tìm stream rtsp của camera IP để đọc trực tiếp hình ảnh của camera. Các dòng camera phổ biến sẽ dễ tìm hơn, cách tìm link các bạn tham khảo 2 bài viết sau
Cách tìm stream link của camera IP
Danh sách stream link các camera IP phổ biến
Lưu ý phải play được bằng VLC player thì link mới đúng. Khi đã play thành công rồi mới đến bước 2.
Bước 2: download source code TGMTplayer
Các bạn tải TGMTplayer tại link: https://github.com/vohungvi/TGMTplayer
Bước 3: cài đặt Visual Studio
Các bạn nên cài đặt Visual Studio phiên bản 2017 trở lên, cài đặt .NET framework 4.7.2 để sử dụng.
Bước 4: thay link stream của bạn vào source code
Trong file MainForm.cs tìm đến dòng có sẵn stream link và thay bằng stream link của bạn.
rtsp://admin:vantech123@192.168.1.168:554/ch01/0
Sau đó build chương trình để xem kết quả.
Giải thích source code
Chương trình có 1 form duy nhất, trong đó có 1 panel dùng để render hình ảnh đọc từ camera.
Chương trình viết tối giản để mọi người có thể đọc hiểu được cách sử dụng, không kèm thêm bất cứ thứ gì dư thừa.
Các vấn đề cần lưu ý
- TGMTplayer sẽ sử dụng nhiều CPU hơn các thư viện khác nên không chạy được trên các CPU quá yếu
- Trong source code có timer houseKeeper để clean RAM (memory), khi copy vào code của bạn cần copy houseKeeper
- Cần copy đầy đủ các file dll vào bên cạnh thư viện TGMTplayer để hoạt động
- Phiên bản x64 sẽ chạy mượt hơn, nhanh hơn bản x86, bù lại dung lượng cũng lớn hơn
- Cần có thiết bị tốt để hình ảnh được mượt: switch/router tốc độ gigabit, cáp mạng Cat5e trở lên