多媒体¶
WPE 和 GTK 移植依赖 GStreamer 多媒体框架来实现其多媒体相关功能,例如视频播放(带或不带 MediaSource Extensions 和 Encrypted Media Extensions)、WebRTC、WebAudio、WebCodecs 和 MediaRecorder。
收集日志¶
GStreamer 日志通常有助于诊断问题。根据所用浏览器的不同,步骤可能会略有变化,但通常的思路是设置一些环境变量(主要是 GST_DEBUG
和 GST_DEBUG_FILE
),如下所示,适用于几种运行时场景。
GStreamer 管道图转储也可用于调试目的。通过将 GST_DEBUG_DUMP_DOT_DIR
环境变量设置为现有的文件系统文件夹路径即可启用它们。
收集后,日志文件和管道图转储可以一起打包成 ZIP 文件并上传到线上。假设命令如后续章节所示执行,日志文件将是 $HOME/gst.log
,管道图转储将位于 $HOME/dots
文件夹中。
Flatpak 应用¶
在本节中,我们以 GNOME Web 应用(又名 Epiphany)为例。
mkdir -p $HOME/dots
flatpak run --filesystem=home \
--env="GST_DEBUG=3,webkit*:6" --env="GST_DEBUG_FILE=$HOME/gst.log" \
--env="GST_DEBUG_DUMP_DOT_DIR=$HOME/dots" org.gnome.Epiphany -p "https://..."
注意:如果此命令未按预期生成文件,并且您使用的 WebKitGTK 版本低于 2.50,则需要向命令行添加 --env="WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1"
。另请参阅此 计划在 2.50 版本中发布的拉取请求
GNOME Web 有三种不同版本。上面的命令适用于稳定版 (org.gnome.Epiphany
)。技术预览版应用程序名称是 org.gnome.Epiphany.Devel
,金丝雀版本称为 org.gnome.Epiphany.Canary
。因此,根据您测试的版本,命令行需要相应调整。
MiniBrowser¶
WPE 和 GTK 移植附带一个名为 MiniBrowser 的示例网络浏览器应用程序。其可用性可能取决于您的 Linux 发行版。如果您构建了 WPE 或 GTK 移植的开发版本,您可以如下所示启动 MiniBrowser,并附带必要的 GStreamer 环境变量。
mkdir -p $HOME/dots
export GST_DEBUG="3,webkit*:6" GST_DEBUG_FILE=$HOME/gst.log GST_DEBUG_DUMP_DOT_DIR=$HOME/dots
Tools/Scripts/run-minibrowser --gtk "https://..."
布局测试¶
在 WPE 或 GTK 移植的开发版本上调试多媒体布局测试时,过程类似
mkdir -p $HOME/dots
export GST_DEBUG="3,webkit*:6" GST_DEBUG_FILE=$HOME/gst.log GST_DEBUG_DUMP_DOT_DIR=$HOME/dots
Tools/Scripts/run-webkit-tests --gtk --no-retry-failures --no-show-results http/tests/media/video-play-stall.html