1 điểm bởi GN⁺ 2023-10-09 | 1 bình luận | Chia sẻ qua WhatsApp
  • OpenIPC là một dự án firmware mã nguồn mở nhằm thay thế firmware của nhà cung cấp vốn đóng hoặc bị bỏ bê trên camera IP dùng ARM·MIPS từ nhiều nhà sản xuất
  • Người dùng cuối có thể cài đặt bằng firmware nhị phân được biên dịch sẵn, còn nhà phát triển có thể truy cập toàn bộ mã nguồn để tham gia cải tiến
  • Mã nguồn được công bố theo MIT License, nên có thể tái sử dụng ngay cả như một phần của phần mềm độc quyền, nhưng dự án yêu cầu đóng góp lại các cải tiến và liên hệ khi sử dụng cho mục đích thương mại
  • Dự án và các thành phần của nó có hạn chế rõ ràng là không được sử dụng cho mục đích quân sự
  • Ban đầu chỉ hỗ trợ HiSilicon SoC, nhưng hiện phạm vi chip được hỗ trợ đã mở rộng sang Ambarella, Anyka, Fullhan, Goke, GrainMedia, Ingenic, MStar, Novatek, SigmaStar, XiongMai, v.v.

Thay thế firmware đóng của camera IP

  • OpenIPC là một hệ điều hành mã nguồn mở do cộng đồng mở tạo ra
  • Nhắm đến camera IP dựa trên bộ xử lý ARM và MIPS từ nhiều nhà sản xuất
  • Mục tiêu là thay thế firmware được nhà cung cấp cài đặt sẵn
    • Đóng và khó kiểm tra cách hoạt động bên trong
    • Thường không an toàn hoặc bị bỏ bê
    • Có thể là một lựa chọn thay thế cho cả thiết bị đã ngừng được hỗ trợ

Cách cài đặt và tham gia phát triển

  • Cung cấp các tệp nhị phân được biên dịch sẵn để người dùng cuối có thể cài đặt dễ dàng
  • Cũng mở quyền truy cập toàn bộ tệp mã nguồn để phát triển và cải tiến thêm
  • Nhà phát triển muốn đóng góp có thể tham gia cải thiện dự án

Giấy phép và hạn chế sử dụng

  • Mã nguồn OpenIPC được công bố theo MIT License
  • Người dùng được trao quyền rõ ràng để tái sử dụng mã cho bất kỳ mục đích nào
    • Cũng được phép dùng như một phần của phần mềm độc quyền
  • Dự án yêu cầu đóng góp lại các cải tiến
  • Nếu sử dụng dự án cho mục đích thương mại, dự án yêu cầu liên hệ
  • Không cho phép sử dụng OpenIPC và các thành phần của nó cho mục đích quân sự

Mở rộng hỗ trợ SoC

  • Trong lịch sử, firmware OpenIPC chỉ hỗ trợ HiSilicon SoC
  • Khi quá trình phát triển tiếp tục, danh sách bộ xử lý được hỗ trợ đã mở rộng
  • Các mục tiêu hiện được hỗ trợ bao gồm chip của các nhà sản xuất sau
    • Ambarella
    • Anyka
    • Fullhan
    • Goke
    • GrainMedia
    • Ingenic
    • MStar
    • Novatek
    • SigmaStar
    • XiongMai
  • Danh sách bộ xử lý được hỗ trợ dự kiến sẽ tiếp tục tăng trong tương lai

Tài liệu và nơi tham khảo

  • Có thể xem thêm thông tin về dự án trên website và wiki của OpenIPC

1 bình luận

 
GN⁺ 2023-10-09
Ý kiến trên Hacker News
  • Trước đây tôi từng tự tìm hiểu, nhưng phần lớn là một quá trình đáng thất vọng. Về lý thuyết, mua đại một camera IP Trung Quốc rồi thay bằng firmware mở nghe có vẻ hay, nhưng vấn đề thực tế là quá trình mua camera, dù là 1 cái hay 10 cái, rồi sau một thời gian lại mua thêm
    Rất khó biết phần cứng bên trong tại một thời điểm cụ thể là gì, chẳng hạn SoC thực sự là gì, và các nhà sản xuất Trung Quốc thường xuyên thay SoC bên trong để cải thiện biên lợi nhuận. Dù ai đó đã báo cáo cùng một mẫu, sau 6 tháng đến 1 năm mua cùng số model đó cũng khó kỳ vọng nó là cùng phần cứng
    Các trang bán hàng hay trang của nhà sản xuất hầu như không ghi dùng SoC nào, và ngay cả khi có thể tìm hoặc dịch được thông tin hữu ích, cũng không chắc công ty mang cái tên đó còn tồn tại sau vài tháng hay không. Rốt cuộc, ngoài việc thử mẫu rồi tự hack để dùng thì không có nguồn cung có thể lặp lại nào cả
    Ước gì có ai đó bán hoặc bán lại một dòng phần cứng camera đã cài OpenIPC hoặc firmware mở khác. Cơ hội kinh doanh cung cấp camera IP có firmware bảo mật được đảm bảo cho người dùng gia đình/doanh nghiệp vẫn còn bỏ ngỏ, còn hiện tại chỉ toàn đồ linh tinh Trung Quốc ngẫu nhiên

    • Nếu nghi ngờ, tôi coi mọi camera chạy firmware đóng đều có mã độc bên trong, đang chờ gọi về máy chủ nhà, đánh cắp video/âm thanh nhạy cảm, hoặc tham gia botnet. Thực tế chuyện đó đã xảy ra nhiều lần, và giải pháp hiện nay là đặt một tường lửa ở giữa để chặn toàn bộ lưu lượng ra LAN và ra ngoài, ngoại trừ các ứng dụng mà mình tin tưởng
      Có thể tái sử dụng một mini PC có nhiều cổng Ethernet làm tường lửa, và tách vật lý subnet giám sát video khỏi phần còn lại của mạng. Tất cả camera nên nối vào switch, và nếu được thì dùng switch hỗ trợ PoE. Vì những lý do hiển nhiên, tôi sẽ không cân nhắc Wi‑Fi
    • Hoàn toàn đồng cảm. Tôi cũng gặp đúng nỗi bực bội đó khi cố tìm những camera hoạt động được theo chu kỳ vài tháng/vài năm. Phải mở từng sản phẩm ra tự hack, và OpenIPC có thể hỗ trợ hoặc không. Dạo này chúng còn được bảo vệ để không dễ nạp firmware, với các rào cản như cổng UART/debug nhỏ xíu, bootloader U-Boot bị vô hiệu hóa
      Ước gì có ai đó cung cấp lựa chọn mua camera dùng phần cứng/phần mềm mở, để không phải mở mạng cho các dịch vụ đám mây ngẫu nhiên mà camera giá rẻ đòi hỏi
    • Với những ai cần, có một dự án phụ nhắm tới camera hoàn toàn mã nguồn mở
      Phần cứng: https://github.com/maxlab-io/tokay-lite-pcb
      Firmware và tầng phần mềm: https://github.com/maxlab-io/tokay-lite-sdk
      Cuối cùng dự kiến ra mắt trên Crowd Supply: https://www.crowdsupply.com/maxlab/tokay-lite
    • Các nhà sản xuất có thể tự làm, nhưng giấy phép cấm sử dụng thương mại
    • Tôi từng nghĩ tới chuyện như thế này. Có ai muốn cùng làm không?
  • Ví dụ, phần lớn driver cảm biến trông như binary blob
    Ambarella S3L: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    Một số chipset HiSilicon: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    Sửa: một số cảm biến nhỏ hơn có mã ở đây
    https://github.com/OpenIPC/sensors

    • Đúng vậy. Ứng dụng user space phụ trách streaming thực tế cũng là mã nguồn đóng: https://github.com/OpenIPC/majestic
      Kho Git này chỉ dành cho báo cáo lỗi, không có mã nguồn
    • Họ cũng dùng các kernel vendor rất cũ. Từ 3.x đến 4.x, 5.x đủ cả, nên phần nào làm mất đi mục tiêu ban đầu. Phần lớn khá nhỏ, nên có vẻ dịch ngược còn hơn
      Tạo cảm giác rất giống firmware homebrew kiểu Android
  • https://openipc.org/support-open-source

    It's Open Source
    Price of the Firmware
    The right to use the OpenIPC firmware and its components is granted to all users free of charge and only for personal, non-commercial purposes. If you are interested in using OpenIPC for your business projects, please contact our team.

    • Tôi tự hỏi liệu họ thật sự muốn mã nguồn mở, hay đây là một nỗ lực thương mại nhằm giao miễn phí phần kỹ thuật khó cho “cộng đồng”
      Nếu thật sự muốn mã nguồn mở, mô hình OpenWrt có vẻ khá tốt, và bản chất công việc kỹ thuật cũng trông tương tự. Một số hãng phần cứng dùng OpenWrt trong firmware của họ, và nhờ đó OpenWrt mã nguồn mở mainline dường như cũng hỗ trợ tốt phần cứng đó
    • Khó hiểu thật. Kho GitHub gắn giấy phép MIT. Có lẽ có thêm một phần mã nguồn bí mật nào đó chỉ áp dụng điều khoản phi thương mại cho các binary đã biên dịch?
  • Danh sách dành cho những ai muốn biết thiết bị của mình có được hỗ trợ hay không nằm ở đây
    https://github.com/OpenIPC/wiki/blob/master/en/guide-support...

    • Chà. Trong số các thương hiệu camera đó, tôi chỉ từng nghe đến hai cái
      Ngay cả trong số hàng nghìn thương hiệu được rebrand/thương hiệu con của HikVision và Daihua, tôi cũng không nhận ra cái nào. Cả hai công ty đều bị liên đới đến việc Trung Quốc đàn áp người Duy Ngô Nhĩ và từng bị cấm theo NDAA. Tham khảo: https://ipvm.com/reports/ban-law
    • Cuối cùng cũng có cách để quyết định nên mua camera IP nào rồi
  • Hỏi hơi lạc đề hoàn toàn, nhưng có ai gợi ý camera nào hiện dễ mua (Amazon, AliExpress, v.v.), hỗ trợ cái này và có chất lượng hình ảnh tốt hoặc rất tốt không?

    • Tôi cũng muốn biết. Trước đây tôi từng mua một sản phẩm vì nghĩ là được hỗ trợ, rồi mới phát hiện ra không phải. Sẽ rất hữu ích nếu biết có ai đã thành công với phần cứng cụ thể nào không
  • Từ rất lâu trước đây tôi từng xây dựng một dịch vụ kinh doanh dựa trên camera IP bán sẵn. Lĩnh vực đó đầy firmware nhiều lỗi và những lỗ hổng bảo mật khổng lồ; vấn đề lớn nhất tôi tìm thấy là có thể lấy ảnh mà không cần xác thực. Những firmware như vậy hầu như không bao giờ được cập nhật, và ngay khi bóc hộp ra đã là phần mềm bị bỏ mặc
    Dự án này có vẻ chưa hoàn toàn mở, nhưng bất kỳ chuyển động nào theo hướng đó cũng đều giống như một luồng gió mới

  • OpenIPC hoàn toàn không phải ý nghĩa mà tôi nghĩ
    Tôi đã chắc 100% rằng nó là một dạng abstraction hoặc framework giao tiếp liên tiến trình nào đó

    • Đúng vậy. Ở đây IPC đã có một nghĩa quá phổ biến rồi. Có lẽ một cái tên như OpenIPCam sẽ an toàn hơn một chút
  • Majestic, thành phần “core” streaming chính của camera, là mã nguồn đóng. Nó xử lý RTSP, HLS, v.v. Phần còn lại thì mở, ngoại trừ một số blob SDK của bên thứ ba

  • Điều thú vị ở dự án này là họ tái sử dụng phần cứng camera IP giá rẻ để dùng như một hệ thống video kỹ thuật số có độ trễ thấp khá ổn cho drone FPV
    https://m.youtube.com/watch?v=wZAHkWHfBF4
    Phần lớn là sự tiếp nối của dự án OpenHD, và trông khá hứa hẹn

  • Liên quan, trước đây tôi từng hack camera hành động Ambarella: https://github.com/petabyt/liemoth
    Cuối cùng tôi bỏ cuộc vì chất lượng camera hành động quá thấp. Có hàng trăm nhà cung cấp bán các camera giá rẻ Trung Quốc được rebrand, firmware cũng rất tệ. Toàn bộ máy nóng lên và pin chỉ dùng được vài phút