Skip to content

Camera IP - Đầu ghi hình NVR

Để điều khiển, lưu trữ tập trung dữ liệu từ nhiều camera ip ta có 2 cách

  1. Dùng đầu ghi hình camera NVR

Đây là dạng đầu ghi hình camera chuyên dùng cho các loại camera IP. Loại đầu ghi hình này có đặc điểm là có thể điều khiển qua các thiết bị thông minh như laptop, smartphone,… cực kỳ linh hoạt. Đầu ghi hình camera NVR hoạt động trên nền tảng mạng LAN, Internet nên có khả năng kết nối nhiều camera cùng lúc ở khoảng cách xa

Đầu ghi hình camera NVR

  1. Sử dụng MotionEye để quản lý các camera thông qua giao thức RTSP

Real Time Streaming Protocol (RTSP) – Giao thức truyền tin thời gian thực là một giao thức điều khiển truyền thông mạng ở tầng ứng dụng được thiết kế để sử dụng trong các hệ thống giải trí và truyền thông để điều khiển máy chủ chứa các dữ liệu truyền tin đa phương tiện (streaming media). Giao thức này được sử dụng để thiết lập và điều khiển các phiên truyền thông giữa các trạm cuối. Các máy khách của các máy chủ truyền thông ban ra các lệnh kiểu VCR, chẳng hạn như chơi, thâu và tạm dừng, để điều khiển thời gian thực của các phương tiện truyền tin trực tuyến từ máy chủ tới máy khách (Video On Demand) hoặc từ máy khách đến máy chủ (Voice Recording).

Chuẩn ONVIF là viết tắt của Open Network Video Interface Forum là một tập hợp các nhà sản xuất thiết bị an ninh cùng nhau tạo ra một tiêu chuẩn chung cho các sản phẩm camera IP và hệ thống giám sát an ninh. Nói một cách đơn giản, ONVIF giúp các thiết bị từ các thương hiệu khác nhau có thể "nói chuyện" với nhau, cho phép bạn dễ dàng kết hợp các thiết bị từ nhiều nhà cung cấp khác nhau trong cùng một hệ thống giám sát.

Camera IP - Cấu hình sử dụng MotionEye

MotionEyephần mềm giám sát camera có chức năng giống với Surveillance Station trên Nas Synology. Do MotionEye chủ yếu dùng cho server gọn nhẹ nên chức năng hạn chế so với các đầu ghi NVR chuyên dụng. MotionEye có thể dễ dàng cài đặt trên Docker. Tuy nhiên, MotionEye đã lâu rồi không update, phiên bản cuối cùng năm 2020.

MotionEye - Mặc định không lưu được âm thanh (có lẽ do chính sách và nó không làm). Để xử lý tham khảo MotionEye Audio. Chúng ta phải chép file config xử lý âm thanh này https://github.com/DeadEnded/MotionEyeAudio/blob/master/motioneye-audio.sh vào thư mục config /etc/motioneye của Docker khi build. Và gọi thực thi trong các sự kiện của Camera IP.

Trong Camera Settings => Video Device => Extra Motion Options :

on_movie_start /etc/motioneye/motioneye-audio.sh start %t %f '%$'

Trong Camera Settings => File Storage => Run a Command:

/etc/motioneye/motioneye-audio.sh stop %t %f '%$'

Cấu hình sẽ cần được thực hiện cho từng camera mà bạn muốn thêm âm thanh vào bản ghi. Nếu vẫn chưa lưu được âm thanh, kiểm tra các bước:

  • chmod +x motioneye-audio.sh trong docker

docker exec -it MotionEye ls -la /etc/motioneye docker exec -it MotionEye chmod +x /etc/motioneye/motioneye-audio.sh

  • Restart video device => Camera Settings => Video Device => OFF/ON

  • Restart MotionEye Server (Docker restart)

Cài đặt MotionEye - Mặc định không lưu được âm thanh

Cài đặt bằng Docker hay trên các hệ thống OS khác tại đây Chúng ta cũng có thể build riêng một Image Docker cho riêng mình để sử dụng các features mới nhất.

# --- Compose file
version: "2"
services:
  motioneye:
    image: ccrisan/motioneye:master-amd64
    container_name: motioneye
    hostname: motioneye # Need for error ERROR: mjpg client timed out receiving data for camera 1 on port 8081
    volumes:
      - /etc/localtime:/etc/localtime:ro # Timezone Config / Do Not Change
      - /etc/motioneye:/etc/motioneye # Config Storage
      - /var/lib/motioneye:/var/lib/motioneye  # File Video/Image Storage
    ports:
      - 8765:8765
    restart: always

# --- Chú ý khi chạy lên, nếu nó không load camera được thì thử restart docker lại vì nó sẽ lấy 1 số file config mới vừa sinh ra    

Truy cập trang quản lý: http://[ip-address]:8765 .Thông tin đăng nhập admin/[pw không có, bỏ trống]

Có một phiên bản MotionEyeOS chuyên dụng chạy trên Raspberry Pi. Install MotionEyeOS on Raspberry Pi

Lưu ý: File Storage (nơi lưu file video/image của camera) nên là 1 ổ cứng rời, không nên chạy RAID vì nó sẽ ghi liên tục ảnh hưởng đến điện năng tiêu thụ.

How to Install MotionEye on OMV and Docker

Tips sử dụng MotionEye

  • Movie => Passthrough == ON sẽ cho file size rất nhẹ ( < 100MB cho 15p), chất lượng cao (phụ thuộc vào Video Device => Video Resolution) Passthrough == OFF với Movie Format sẽ cho ra file video dùng để xử lý theo nhu cầu. Tuy nhiên, file size lớn 1,5GB cho 30p size video 800*600.

  • Bị lỗi âm thanh khi sử dụng Movies => Recording Mode = Motion Triggered

  • Chức năng chụp hình khi có chuyển động chỉ hoat động với Movies => Recording Mode = Motion Triggered. Nên khi đó video sẽ không có âm thanh.

  • Chỉ nên sử dụng chức năng: quay liên tục có âm thanh, chụp hình bắt chuyển động rồi gửi qua email thông báo thời gian rồi ta sẽ xem lại qua video camera lưu.

  • Lưu ý: Khi tạo file video lưu nó sẽ có 2 file xxx.mp4 và xxx.mp4.aac. Khi kết thúc nó sẽ combine 2 file này lại thành 1 file video có âm thanh, dùng cách này để kiểm tra cấu hình coi có ra được video có âm thanh không

  • Ứng dụng Mobile Android truy cập server MotionEye

Các ứng dụng có thể thay thế MotionEye

Agent DVR tốt nhất, miễn phí cho dùng cá nhân, có hỗ trợ Docker. Có hỗ trợ mobile, desktop app. Agent DVR seems to be best bang for the buck solution keeping things simple to manage and setup. Hướng dẫn. Đã tets thử có nhiều chức năng hay như: chọn vùng cho motion detection, tích hợp với server AI để nhận diện nâng cao, thông báo qua các kênh khác nhau .. Tuy nhiên, do có nhiều option nên cấu hình hơi phức tạp. Phiên bản có phí mới cho phép Nginx Resever Proxy.

ZoneMinder không có bản chính thức trên Docker, cài từ file gốc. Có hỗ trợ mobile, desktop app. Đang miễn phí toàn bộ, nhưng hiện nay chưa tích hợp CodeProject.AI Server

Shinobi có đầy đủ chức năng nhưng không hỗ trợ Docker chính thức. Có hỗ trợ mobile, desktop app.

Viseron mới nhất, miễn phí, có đầy đủ chức năng: nhận diện khuôn mặt, nhận diện biển số xe, hỗ trợ Docker chính thức dễ dàng cài đặt, cấu hình bằng YAML file. Hướng dẫn

Importan: Các server DVR hiện nay có thể tích hợp với CodeProject.AI-Server dưới dạng Docker server để xử lý hình ảnh, detech người và các vật khác nhau. CodeProject.AI Server is a self contained service that software developers can include in, and distribute with, their applications in order to augment their apps with the power of AI. It's FREE . Hướng dẫn

Add Camera IP vào MotionEye hay các hệ thống khác hỗ trợ RTSP

Camera CS-C6N hiện đang được sử dụng phổ thông trong gia đình. Loại camera này còn có thể kết nối với Amazon Alexa hay Trợ lý Google để truy cập nhanh. Tài liệu hướng dẫn kết nối Camera EZVIZ với Amazon Alexa hay Trợ lý Google

Có thể dùng Camera EZVIZ bằng phần mềm EZVIZ Studio trên máy tính.

Các bước add camera vào MotionEye

  • Bước 1: Mở Port 554 trên Camera IP (với một số loại khác thì không cần)

  • Bước 2: Tìm đường link truy cập RTSP của Camera IP

  • Bước 3: Thêm Camera IP và MotionEye

Mở Port 554 trên Camera IP (nếu cần)

Hiện nay camera Ezviz có một số mã không cho add vào đầu ghi Hikvision, DAHUA, KBVISION nguyên nhân do up firmware mới hãng chặn mất port 554. Vậy làm sao để mở port đó lên sau đây chúng tôi xin chia sẽ phương pháp bật port 554 lên trên ứng dụng Ezviz. Với Camera IP Ezviz phải dùng ứng dụng EZVIZ Mobile App làm theo các bước sau:

  • Bước 1: Camera và Phone phải cùng truy cập một mạng wifi.

  • Bước 2: Đăng nhập EZVIZ App > Profile (top-left) > Settings > LAN Live View > Start Scanning

  • Bước 3: Chọn camera cần sử dụng. Nhập password. Password mặc định thường là 6 chữ số Verification Code bên dưới camera. Còn mấy camera khác thì đa phần phải bật và tạo tài khoản ONVIF trên camera, một số dòng thì dùng chung mật khẩu và tên đăng nhập. Username thường là admin

  • Bước 4: Vào icon Settings (top-right) > Local Server Settings > enable RTSP

HƯỚNG DẪN MỞ PORT RTSP 554 TRÊN CAMERA WIFI EZVIZ

Link RTSP mẫu từ nhà cung cấp Camera đầy đủ nhất

Link RTSP cho Camera IP thường có dạng:

# -- Basic
rtsp://[ip-addres]:554/[path]
# -- Include un:pw
rtsp://[un]:[pw]@[ip-addres]:554/[path]

Nếu Camera Eezviz hoặc Imou thì pass RTSP mặc định là mã code trên tem, còn mấy camera khác thì đa phần phải bật và tạo tài khoản ONVIF trên camera, một số dòng thì dùng chung mật khẩu và tên đăng nhập. Username thường là admin

# -- Ví dụ link
rtsp://admin:ABCDE0@192.168.1.101:554/H.264
rtsp://admin:ABCDE0@192.168.1.101:554/h264_stream
rtsp://admin:ABCDE0@192.168.1.101:554/h.265

Cách 1: Có thể tìm đường link RTSP truy cập đa số các Model Camera IP tại ispyconnect. Với EZVIZ

Cách 2: Một số nhà cung cấp sản phẩm có thể sử dụng phần mềm và phần cứng khác nhau tùy thuộc vào năm, dòng, v.v. Vì vậy nếu bạn không sử dụng được các link RTSP mẫu như trên, có thể lấy link trực tiếp từ thiết bị bằng cách sử dụng phần mềm Onvif Device Manager. Hướng dẫn sử dụng ODM.

Cách 3: Dùng ứng dụng FING (ANDROID) hay PING để quét port toàn bộ mạng nội bộ.

Zenmap có hỗ trợ MacOS là một công cụ tuyệt với giúp bạn lập bản đồ các thiết bị trong hệ thống mạng của mình. Zenmap cung cấp các tính năng giống như Nmap nhưng với giao diện đồ họa dễ hiểu và giúp người dùng dễ dàng tương tác.

Dùng phần mềm NMAP (có thể chạy trên MacOS) để quét toàn bộ hệ thống tìm các port 554 và link RTSP đang mở. Hướng dẫn sử dụng NMAP với Zenmap

Chú ý:

  • Khi dùng phần mềm quét sẽ ra rất nhiều link. Các mã camera khác nhau sẽ có link khác nên phải thử từng link. Tuy nhiên link đúng thường chứ các từ khóa "user", "password", "live", "mpeg4", "h264"

  • Để test luồng RTSP sử dụng được hay không dùng VCL -> Open Network dán link vào để kiểm tra.

EZVIZ RTSP Stream (IPC)

rtsp://admin:<device verification code>@<device IP address on the LAN>:554/H.264

Xem thêm hướng dẫn tại đây

Hikvision, Hilook RTSP Stream (NVR & IPC)

rtsp://<ip>:<port>/Streaming/Channels/<id> (NVR, DVR)
rtsp://<ip>:<port>/Streaming/Unicast/channels/<id> (IPC)
rtsp://<ip>:<port>/cam/realmonitor?channel=1subtype=<typeNo> (C6N)

Trong đó cụ thể là:

<ip> – Địa chỉ IP của thiết bị

<port> – Cổng RTSP (Mặc định 554)

<id> – Kênh phát trực tiếp (101 – Kênh 1 luồng chính, 202 – Kênh 2 luồng phụ, …)

<typeNo> – 0 (luồng chính) hoặc 1 (luồng phụ)

Ví dụ: rtsp://192.168.1.210:554/Streaming/Channels/301 sẽ phát trực tiếp video luồng chính kênh số 3.

Dahua, Kbvision, KBONE, Imou RTSP stream (Cameras & NVR, XVR& DVR)

rtsp://<ip>:<port>/cam/realmonitor?channel=<channelNo>&subtype=<typeNo> (NVR, DVR, XVR)
rtsp://<ip>:<port>/cam/realmonitor?channel=<channelNo>&subtype=<typeNo>&unicast=true&proto=Onvif (IPC)

Trong đó cụ thể là:

<ip> – Địa chỉ IP của thiết bị

<port> – Cổng RTSP (Mặc định 554)

<channelNo> – Kênh video lấy hình ảnh (Bắt đầu từ 1)

<typeNo> – 0 (luồng chính) hoặc 1 (luồng phụ)

Ví dụ: rtsp://192.168.1.210:554/cam/realmonitor?channel=1&subtype=1 sẽ phát trực tiếp video luồng phụ 1 từ kênh số 1 .

Yoosee, Siepem RTSP stream

rtsp://<ip address>:<port>/onvif<stream type>

Trong đó cụ thể là:

<ip> – Địa chỉ IP của thiết bị

<port> – Cổng RTSP (Mặc định 554 howjc 5554)

<stream type> – 1 (luồng chính) hoặc 2 (luồng phụ)

Ví dụ: rtsp://192.168.1.210/onvif1 sẽ phát trực tiếp luồng chính từ Camera có địa chỉ ip: 192.168.1.210

Thêm Camera IP và MotionEye

  • Bước 1: Truy cập vào MotionEye server: http://[ip-address]:8765 . Nếu có hỏi un/pw thì nhập admin, password bỏ trống

  • Bước 2: Chọn Add Camera (top-left) > Chọn Network Camera

  • Bước 3: Nhập RTSP link, username, password.

Nhu cầu thực tế nếu chúng ta có nhiều Camera đặt ở các vị trí khác nhau trong khu vực không cùng mạng thì ta vẫn có thể kết nối tất cả vào một chỗ lưu trữ duy nhất để dễ dàng truy xuất và kiểm tra. Các bước thực hiện:

  • Bước 1: Gán địa chỉ ip tĩnh cho các Camera IP. Nếu sử dụng camera của Hikvision thì nó có hỗ trợ phần mềm iVMS làm sẽ dễ dàng hơn. for Hikvision, for Imou, for Ezviz dùng chung Hikvision
  • Bước 2: Tạo, kiểm tra link truy cập RTSP. Cấu hình link RTSP của một số hãng camera. Kiểm tra bằng phần mềm VLC-Player => Open Network Link
  • Bước 3: Nat port forwarding của rstp 554 trên model wifi. Ta cũng có thể thay đổi port 554 trên camera thành giống port forwarding để dễ kiểm soát sau này. Port RTSP nên từ dải: 1002 -> 2000 cho dễ kiểm soát.
  • Bước 5: Kiểm tra Nat port forwarding thành công chưa thông qua web https://ping.eu/ping
  • Bước 6: Tạo tài khoản và gán tên miền DDNS (Cách thiết lập). Chúng ta chỉ cần 1 tên miền và ds port forwarding để truy cập toàn bộ camera ip trong hệ thống.
  • Bước 7: Kiểm tra lại link RTSP với domain thành công chưa bằng phần mềm VLC-Player => Open Network Link

Thông tin cấu hình Camera IP tại nhà

Hiện tại, trong nhà sử dụng Camera IP CS-C6N 2.0MP của Ezviz. EZVIZ, thương hiệu toàn cầu về nhà thông minh, là công ty con của Hikvision với mục đích tập trung vào thị trường dân dụng và nhà ở.

Đã làm theo hướng dẫn mở port 554 cho camera Ezviz và đã có thể truy cập được thông qua đường dẫn RTSP.

# --  đang dùng tốt
rtsp://admin:[verification-code]@192.168.xx.xxx:554/H.264

Đã sử dụng MotionEye để add camera và quản lý, chạy tốt. Có thể mở rộng add các camera khác từ các nhà khác thông qua RTSP.

Tips & Tricks

  • Camera IP mới Camera EZVIZ H6c Pro 2K+
  • Thường các dòng camera của Yoosee có hỗ trợ FTP
  • Camera Ezvid là dòng rẻ tiền trong đám camera Hikvision. Camera Ezviz thường không cho đổi port.
  • Ezviz thì không hỗ trợ ONVIF đâu. Chỉ có rtsp thôi.
  • Có thể gắn các Camera IP lên các đầu ghi NVR khác nhau bằng RTSP link. TTEK - Add camera ezviz vào đầu ghi kbvision, dahua, unv

Thao tác chung:

1. Chọn thêm Camera thủ công.
1. Nếu có **Nhà sản xuất (Product)** thì chọn đúng hãng hay **Registration chọn "IP Address"** (cái này là tùy thuộc lại đầu ghi NVR), không thì chọn "**Tùy biến**"
1. Nếu có **Protocol Type** thì ưu tiên chọn "**ONVIF**" không thì chọn "**Tùy biến**" hay tương tự.
1. Nhập thông tin link RTSP và Port (thường là 554. Nếu chỉ có 1 field thì nhập link và port chung).
1. Nếu Camera IP loại có dòng chính và dòng phụ, thì nhập 2 link (có thể giống nhau) vào.
1. Nhập Username/Password.
1. Protocol nên để mặc định (Both hay TCP).