2009-09-24 46 views
7

Chúng tôi có một thiết bị có camera tương tự. Chúng tôi có một thẻ mẫu và số hóa nó. Điều này là tất cả được thực hiện trong directx. Tại thời điểm này, thay thế phần cứng không phải là một tùy chọn, nhưng chúng tôi cần mã để chúng tôi có thể xem thời gian thực của nguồn cấp dữ liệu video bất kể bất kỳ thay đổi hệ thống hoặc phần cứng nào xảy ra trong tương lai.Triển khai camera IP

Cùng dòng này, chúng tôi đã chọn Qt để triển khai GUI để xem nguồn cấp dữ liệu máy ảnh này. Tuy nhiên, nếu chúng ta chuyển sang Linux hoặc nền tảng nhúng khác trong tương lai và thay đổi phần cứng khác (bao gồm thiết bị vật lý nơi máy ảnh/video sampler), chúng tôi cũng cần thay đổi phần mềm hiển thị của máy ảnh và một nỗi đau vì chúng ta cần tích hợp nó vào GUI của chúng ta.

Những gì tôi đề xuất đã chuyển sang mô hình trừu tượng hơn nơi dữ liệu được gửi qua ổ cắm tới GUI và video được hiển thị trực tiếp sau khi được phân tích cú pháp từ luồng ổ cắm.

Trước tiên, đây có phải là ý tưởng hay hay không?

Thứ hai, bạn sẽ triển khai như thế nào? Các trình lấy mẫu video thường cung cấp đầu ra khả thi như thế nào? Làm thế nào tôi có thể đẩy đầu ra này qua một ổ cắm? Một khi tôi đang trên đầu nhận được phân tích cú pháp kết quả đầu ra, làm thế nào để tôi biết phải làm gì với đầu ra (như làm thế nào để có được kết xuất để render)? Điều duy nhất tôi có thể nghĩ đến là viết mỗi mẫu vào một tập tin và sau đó hiển thị nội dung của tập tin mỗi lần một mẫu mới đến. Điều này có vẻ như một giải pháp không hiệu quả đối với tôi, nếu nó có hiệu quả.

Bạn đề xuất tôi xử lý việc này như thế nào? Có bất kỳ thư viện đa nền tảng nào có sẵn cho một thứ như vậy không?

Cảm ơn bạn.

chỉnh sửa: tôi sẵn sàng chấp nhận đề xuất về điều gì đó khác biệt thay vì những gì được liệt kê ở trên.

Trả lời

2

Mọi thứ trùng lặp với luồng video sẽ khiến bạn mất hiệu suất, đặc biệt là trong không gian được nhúng. Trong hầu hết các trường hợp cho video, tôi nghĩ bạn nên cố gắng sử dụng khả năng tăng tốc phần cứng cục bộ để phát trực tiếp video lên màn hình. Với một số đóng gói thích hợp, bạn sẽ có thể sử dụng Qt cho GUI xung quanh video và có một lớp là nền tảng cụ thể mà bạn sử dụng để kiểm soát bản vẽ video thực tế trên màn hình (vị trí vẽ và độ lớn, v.v.).

Edit:

Bạn cũng có thể muốn nhìn vào thư viện thì Phonon. Tôi đã không xem xét nó nhiều, nhưng nó xuất hiện để hỗ trợ hiển thị video có thể được mua lại từ một loạt các nguồn khác nhau.

+0

Tôi hiểu bạn đến từ đâu với điều này, nhưng khả năng tăng tốc phần cứng cục bộ có thể hoàn toàn trên một thiết bị khác hoặc thiết bị có thể nằm trên cùng một thiết bị. Ngay bây giờ, nó đi xuống qua USB để hiển thị. Nếu chúng ta quăng ý tưởng của ổ cắm ra, đó là tốt, bạn có biết của bất kỳ LGPL hoặc thư viện nền tảng độc quyền sẽ giúp thực hiện một điều như vậy trong Qt? –

+0

Ngoài ra, hãy thêm một khoảng trắng hoặc một thứ gì đó vào câu trả lời của bạn để tôi có thể +1 nó. nó nói rằng phiếu bầu quá cũ để thay đổi. –

3

Bạn đã xem QVision chưa? Nó là một khung dựa trên Qt để quản lý xử lý video và video. Bạn không cần xử lý, nhưng tôi nghĩ nó sẽ làm những gì bạn muốn.

+0

trông thú vị, cảm ơn. –