1

我正在尝试从 Webkit2Gtk 窗口访问我的网络摄像头,但我无法访问。我正在使用 WebKit2 python 模块。

from gi.repository import Gtk
from gi.repository import WebKit2

class BrowserView:
    def __init__(self):
        window = Gtk.Window()
        window.connect('delete-event', Gtk.main_quit)

        context=WebKit2.WebContext()
        context.set_tls_errors_policy(WebKit2.TLSErrorsPolicy(0))
        
        self.view = WebKit2.WebView(web_context=context)

        self.view.connect("permission-request", WebKit2.PermissionRequest)
        self.settings = self.view.get_settings()
        self.settings.set_property("enable-mediasource", True)
        self.settings.set_property("enable-media-stream", True)

        window.add(self.view)
        self.view.load_uri('https://localhost:8080')

        window.show_all()

if __name__ == "__main__":
    BrowserView()
    Gtk.main()

该网页由烧瓶托管,并使用WebcamJS作为网络摄像头接口库。javascript 是使用 WebcamJS 的示例。

<script src="{{url_for('static',filename='webcam.js')}}"></script>

<div id="my_camera" style="width:320px; height:240px;"></div>
<div id="my_result"></div>

<script language="JavaScript">
    Webcam.attach( '#my_camera' );

    function take_snapshot() {
        Webcam.snap( function(data_uri) {
            document.getElementById('my_result').innerHTML = '<img src="'+data_uri+'"/>';
        } );
    }
</script>
<a href="javascript:void(take_snapshot())">Take Snapshot</a>

该网页在 chrome 中运行良好,但Webcam.js Error: No supported webcam在 Webkit2 中加载页面时出现错误。SSL 已启用。

有没有人能够让网络摄像头/外部媒体设备在 Webkit2GTK 中工作?

4

0 回答 0