GPU tăng tốc giải mã video trên trình duyệt. Có thể không?


8

Giả sử tôi có Rpi (B +) và muốn nó hoạt động như Kiosk, trong đó video sẽ phát trên một vòng lặp ở chế độ toàn màn hình. Video sẽ thay đổi theo chương trình, vì vậy tôi cần một API để kiểm soát nó. Tôi đã làm điều này trước đây, trong các máy x86, không có vấn đề gì, trong một ứng dụng dựa trên web (Javascript và HTML5).

Vấn đề tôi gặp phải là KHÔNG có trình duyệt (rõ ràng) đang sử dụng GPU để giải mã video. Sự kiện Trình duyệt web của họ hỗ trợ "Giải mã video được tăng tốc phần cứng" không thể phát video. Tôi vừa cài đặt Raspbian (NOOBS) và trình duyệt ít nhất nên phát cùng một video như trên video.

Omxplayer chạy nó tốt, nhưng nhấp nháy khi nó lặp và hiển thị một số văn bản ("Tìm kiếm ...").

Vì đây sẽ là một dự án liên quan đến khoảng 400 Raspberry PI (nếu nó có thể làm những gì tôi cần) trên các địa điểm khác nhau, tôi thực sự cần một giải pháp vững chắc.

Có cách nào để một video lặp, gpu được tăng tốc, trên trình duyệt trên RPi không?

EDIT: Tôi đã thử nhúng các video mp4 / h.264 bằng một thẻ thông thường. Mọi trình duyệt không phát video. Epiphany và Chromium chỉ hiển thị một "khu vực" màu đen và các điều khiển. Không có video. Midori có một số khung hình, nhưng ngọn cpu. Youtube / Vimeo cũng không chơi được.

EDIT 2: Sau khi tôi thực hiện cài đặt mới và đặt bộ nhớ GPU thành 128MB thay vì 64 MB mặc định, tôi đã quản lý để phát video một cách mượt mà, trên Epiphany. CPU không đạt 100% (70% -95%). Mặc dù, khi tôi thử một video full hd, hiệu suất giảm nghiêm trọng (<1 FPS) nhưng CPU chỉ ở mức 50%, nút cổ chai có lẽ là bộ nhớ. Tôi sẽ chọn một RPI2 và kiểm tra nó.


Bạn cần phải cụ thể hơn về chính xác nguồn video ở đây - cách mã hóa và cách bạn nhúng nó. "Giải mã video được tăng tốc phần cứng" Tôi chắc chắn không áp dụng cho mọi phương thức mã hóa có thể, vì bản thân GPU không thể làm điều đó.
goldilocks

Tôi sẽ lấy bất kỳ định dạng video / codec nào sẽ chạy trơn tru trên trình duyệt web. Nguồn chỉ là một tập tin, cách tập tin vào đĩa là một câu chuyện khác.
Mario Cesar

Điều làm tôi phiền lòng nhất là họ có thể phát video trên trình duyệt và về mặt lý thuyết là cùng một video và cùng một trình duyệt không thể có trên máy của tôi. Vấn đề có thể là tôi đang sử dụng RPI 1 (B +) và họ có thể đang sử dụng RPI 2 không?
Mario Cesar

Không có 2 tại thời điểm đó. Nếu bạn thực sự tin rằng bạn đã nhân đôi trường hợp thử nghiệm và nó không đo lường được, có lẽ bạn đã hết may mắn. Tôi nghĩ rằng .h264 được phát qua HTML5 trên Raspbian epiphanysẽ tham gia "giải mã video được tăng tốc phần cứng" nếu có bất cứ điều gì sẽ xảy ra.
goldilocks

1
Hãy thử và sử dụng nginx để lưu trữ các tệp video của bạn và sau đó bạn sẽ có thể nhúng src dưới dạng thẻ video HTML5 trên trình duyệt. Tôi nghĩ rằng kết xuất phần cứng đã được giải quyết từ lâu. Tôi hoàn toàn không sử dụng X để không bình luận gì thêm. Tôi chắc chắn rằng bạn có thể tắt OSD trên omxplayer. Phần nhấp nháy là một sự xấu hổ, không biết làm thế nào để khắc phục điều đó với omx. Nó phải làm với trình điều khiển tải lại và xáo trộn các tập tin.
Piotr Kula

Câu trả lời:


5

Vâng, có thể, tôi đã bắt đầu dự án này một thời gian trước đây nhưng tôi đã phải dừng lại vì không đủ thời gian.

Đây là kết quả tốt nhất tôi có thể nhận được (1080p): https://youtu.be/fVM1GRDhXGw . Nó dựa trên thư viện mở này: https://github.com/carlonluca/pi . Một số thông tin thêm ở đây .

Bản demo sử dụng thư viện đó với WebKit1 trong QtWebKit, tất cả đều chạy mà không có X11. Có vẻ khó khăn hơn nhiều để làm điều đó với WebKit2. Thật không may, chất lượng không hoàn hảo, tôi không biết liệu có thể cải thiện nó hay không. Tuy nhiên tôi không hiểu tại sao sử dụng trình duyệt ở nơi đầu tiên nếu mong muốn chỉ là phát video toàn màn hình.

Lưu ý rằng tôi là tác giả của dự án, vì vậy tôi báo cáo nó chỉ vì tôi biết nó. Có thể có một triệu cách tiếp cận khác.


Cảm ơn bạn đã chia sẻ! Bạn có muốn tham gia blog cộng đồng sắp tới của chúng tôi :)
Ghanima
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.