【问题标题】:Trouble Playing Youtube Videos with libwebkitgtk-4使用 libwebkitgtk-4 播放 Youtube 视频时出现问题
【发布时间】:2021-10-18 17:33:45
【问题描述】:

每当我尝试使用 Ubuntu 18 LTS 中的 libwebkit2gtk 库浏览 youtube 视频时,都会遇到“您的浏览器无法播放此视频”。我看到使用这个库的其他浏览器可以很好地播放 youtube 内容(org.gnome.Epiphany)。

有人能指出我缺少什么的正确方向吗?

#include <webkit2/webkit2.h>
#include <gtkmm.h>

int main(int argc, char* argv[])
{
    Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "");
    Gtk::Window window;
    window.set_default_size(1280, 720);

    WebKitSettings* settings = webkit_settings_new();
    webkit_settings_set_enable_mediasource(settings, true);
    WebKitWebView* one = WEBKIT_WEB_VIEW(webkit_web_view_new_with_settings(settings));
    Gtk::Widget* three = Glib::wrap(GTK_WIDGET(one));
    window.add(*three);

    webkit_web_view_load_uri(one, "https://www.youtube.com/watch?v=RVnARGhhs9w");
    window.show_all();

    app->run(window);
    return 0;
}

【问题讨论】:

  • 打赌你没有设置来处理来自页面的加密媒体扩展请求。或者他们可能只是将他们不知道的浏览器列入黑名单。两者都有可能。
  • 我还尝试通过 webkit_settings_set_enable_encrypted_media() 启用加密媒体设置,并以类似的方式更改用户代理。还是没有骰子。

标签: c++ gtkmm webkitgtk


【解决方案1】:

原来我需要安装 gstreamer1.0-libav 包。通过 apt 安装后,我的程序开始播放 youtube 视频没有问题。

sudo apt install -y gstreamer1.0-libav

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2014-01-04
    • 1970-01-01
    相关资源
    最近更新 更多