Tôi đang tìm cách thêm lớp phủ vào một trò chơi Windows, như OBS (một ứng dụng phát trực tuyến trò chơi, được sử dụng cho Twitch).Chia sẻ màn hình theo thời gian thực sang ứng dụng Java (localhost)
tôi mặc dù về việc sử dụng lớp Robot
để tận 25/30 chụp màn hình mỗi giây và hiển thị chúng, nhưng tôi không chắc chắn đó là giải pháp phù hợp ..
Vì vậy, câu hỏi của tôi là như sau: Làm thế nào tôi có thể screenshare một ứng dụng đang chạy cho một ứng dụng Java (localhost, cùng một máy tính), để thêm một lớp phủ ở phía trước nó?
EDIT: Tôi cố gắng sử dụng VLC Truyền nhưng mà làm cho máy tính thực sự bị lag (i7/8GB) ... Tôi đã thử với FFMpeg quá, sử dụng screen-capture-recorder
và gdigrab
, máy tính không bị lag, nhưng đoạn video xuống như 5/10 FPS trong thời gian thực.
Trong FFMpeg, tôi đã sử dụng lệnh sau: ffplay -f dshow -f gdigrab -i title="<NAME>" -framerate 30
.
Tôi muốn có một FPS 25/30 với một máy tính chơi game (i7/8Gb) ..
Khi bạn nói 'luồng', đối tượng Java cấp thấp chính xác mà bạn đang giới thiệu là kết quả là gì? Một 'InputStream' liên tục cho ăn nơi bạn có thể đọc dữ liệu khung của một luồng/chương trình khác? – higuaro
Tôi không thực sự quan tâm đến loại đối tượng Java. Nó chỉ có thể được hiển thị trong một 'JPanel' :). Ứng dụng này là ứng dụng khách và máy chủ có thể là phần mềm của bên thứ 3 (như VLC) hoặc được tích hợp trực tiếp trong ứng dụng. – Val