c - gstreamer 在第一个示例程序中没有打开窗口
问题描述
我是 gstreamer 的新手,我正在尝试运行第一个基本官方教程,以下代码
#include <gst/gst.h>
int
main (int argc, char *argv[])
{
GstElement *pipeline;
GstBus *bus;
GstMessage *msg;
/* Initialize GStreamer */
gst_init (&argc, &argv);
/* Build the pipeline */
pipeline =
gst_parse_launch
("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm",
NULL);
/* Start playing */
gst_element_set_state (pipeline, GST_STATE_PLAYING);
/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline);
msg =
gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
/* Free resources */
if (msg != NULL)
gst_message_unref (msg);
gst_object_unref (bus);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}
我已经按照官方网站上的安装过程进行了。我正在使用 Ubuntu 20。我可以听到声音播放,但根据文档,它应该弹出一个窗口,在我的情况下我没有得到。有人可以帮我吗。
我正在使用以下命令来编译和运行
gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-1.0`
./basic-tutorial-1
即使我发出如下命令,我也能听到声音,但不能听到视频窗口打开
gst-launch-1.0 playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm
解决方案
在我的情况下,它解决了这个问题 - 它的所有功劳归于 [parsley-72]:有一个错误gstreamer1.0-vaapi
,你可以删除它,看看它是否对你有帮助(在我的情况下,它解决了这个问题):
sudo apt-get remove gstreamer1.0-vaapi
在此页面上,您可以找到有关该错误的信息
推荐阅读
- python - 熊猫数据框中的条件删除
- python - 在不和谐机器人中设置新创建的语音通道的父类别
- php - PSR 编码标准 - PHP
- python - Python - 生成从星期六到星期五的每周日期范围
- ide - 是否可以从 Genexus IDE(外部工具)调用外部批处理文件
- scala - Chisel 中的 <> 运算符是什么?
- common-lisp - 类型说明符可以指定与任意值相等吗?
- git - git merge origin - 总是默认跟踪分支?
- mysql - 在春天,如何在一次迭代发生事务回滚后继续来自控制器的for循环请求
- php - 在 Woocommerce 的某些页面上从产品 ID 添加星级