问题标签 [gstreamer-0.10]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - gstreamer appsrc 测试应用程序
我正在尝试学习 gstreamer appsrc 插件以从我编写的传输流解复用器中播放 AV(我知道插件已经可用,我想自己动手学习)。我从 MPEG 传输流中提取了音频和视频基本流;现在我必须将它推送到appsrc插件并使用gst管道播放它(这部分我还不清楚:至于使用哪些插件 - 任何提示都将受到高度赞赏)。
我找到了一个关于使用 appsrc 的示例代码,但是当我运行它时,没有输出。我验证了确实调用start_feed
了read_data
函数。在read_data
函数中,有一个定时器检查来决定是否推送数据:
我不知道这个计时器是做什么用的,但它的值ms
总是在 0.035 左右,并且数据永远不会被推送到 appsrc 中。因此,我将 if 条件更改为,if(ms > 0.03)
但随后出现内部数据流错误:
有人可以告诉我如何调整它以查看视频吗?链接网站的代码如下所示。
更新:我尝试用普通的 xvimagesink 替换 udpsink 并没有帮助
flush - 如何刷新 gstreamer 管道
案例
连续读取文件并提供给appsrc 元素。来源-appsrc
我有一个处于播放状态的 GStreamer 管道。现在,当我按下一个意味着应该清除 appsrc 队列的按钮时,我希望管道能够刷新/清理。播放应该从现在添加到/或在刷新后添加的任何缓冲区开始。
发出
我使用的 API 返回 false。我无法冲洗。
以上均返回 0。这意味着错误。这个假的原因是什么?
如何尝试使用某些 API 刷新管道中的数据?或者是否有任何其他 API 可以跳过播放?
试过了
- 发送
gst_event_new_flush_start ()
和发送gst_event_new_flush_stop ()
到管道,有或没有几毫秒的间隙 gst_event_new_seek (1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_SET, 0);
- 将管道设置为 NULL 然后再次播放
所有这些都行不通。
opencv - Gstreamer 不会沉入命名管道
当 gst-launch 管道的接收器是命名管道与普通文件时,我会得到不同的行为。
我有一个 gst-launch 管道,它在 OMAP 嵌入式(linux)板上显示来自相机的视频,并通过 tee 将视频作为 avi 提供。
如果我做
一切都很好
但我希望使用 Java/opencv 进程读取输出,当我这样做时,我对 java 进程一无所获。gst-launch 进程确实宣布它已更改为 PLAY。
为了简化事情而不是 java 进程,我tail -f
使用了命名管道
并且也看不到任何输出,尽管在这两种情况下 dri2videosink 都在显示视频
使用 tail 或 java 进程,杀死它也会停止 gst-launch 进程,所以很明显它在某种意义上是“连接的”。
在 gst-launch 退出后,在尾部运行的情况下终止 gst-launch 进程会得到看起来像几 K,可能是 1 帧的数据。
我尝试保存到普通文件并使用 java 进程读取,这是可行的,所以我知道这不是数据格式。
c++ - Visual Studio 2013 - Qt5 - Gstreamer:“您的计算机缺少 libgstreamer-0.10-0.dll”,即使我正确安装了 Gstreamer
在stackoverflow上已经提出了一个类似的问题,但没有人回答,所以我再问一次。
我遵循了http://docs.gstreamer.com/display/GstSDK/Installing+on+Windows中的所有步骤
因此,我相信我在我的计算机上正确安装了 Gstreamer SDK + Devel。我按照步骤设置环境变量:GSTREAMER_SDK_ROOT_X86_64
在 Visual Studio 上,我创建了一个新的 Qt5 项目,我为 gstreamer 设置了属性表,但是当我运行我的应用程序(仍然是一个调用 gst_init 的基本 Qt 应用程序)时,出现错误消息:
程序无法启动,因为您的计算机缺少 libstreamer-0.10-0.dll。
有人说 dll 必须在里面,Windows/System32
或者SysWOW64
那里没有这样的文件。默认情况下,该 dll 位于gstreamer_root_sdk_folder/bin
.
gstreamer - 管道将 pygst 程序从 gstreamer 0.10 移植到 1.0 时出错
我正在将一个程序从 pygst 0.10 移植到 1.0,但我遇到了管道问题。我在 0.10 版本中使用并且运行良好的管道是:
对于 1.0 版本,管道应该类似于:
代码是:
我已经设置了调试标志和输出 iS:
python - 使用python将帧从gst管道抓取到opencv
我正在使用OpenCV和 GStreamer 0.10。
我使用这个管道通过 UDP 接收 MPEG ts 数据包,并使用sockfd
python 提供的自定义套接字并将其显示xvimagesink
,它工作得很好。以下推荐行适用于此管道:
现在,我想从这个管道中获取一帧并用 OpenCV 显示它。我该怎么做?我对从appsink 获取缓冲区数据了解很多。但我仍然不知道如何将这些缓冲区转换为 OpenCV 的每一帧。感谢您的回复,以及任何帮助:]
gstreamer-0.10 - gstreamer0.10 filesrc 元素找不到文件
我想通过以下方式分析 mp4 视频:
或者
但终端显示:
~/examples/fullstream.mp4
确实存在。所以我想问一下代码有什么问题?我使用 Ubuntu 14.04。
c++ - gstreamer-0.10 打印管道字符串
我想打印出 gstreamer-0.10 元素的管道。如何才能做到这一点?
外部开发人员为我们编写的代码:
我正在尝试通过以下方式查看管道:
但是当我尝试编译它时会收到很多警告。
c - imx6 yocto 项目上的 gstreamer 管道问题?
我正在开发 VVDN imx6 板,我已在其上成功安装了 gstreamer。在此命令之后:
我收到错误:
root@imx6slzbha:~# gst-launch-0.10 audiotestsrc !音频转换!autoaudiosink 将管道设置为 PAUSED ...
错误:管道不想暂停。
错误:来自元素/GstAlsaSink:autoaudiosink0-actual-sink-alsa:无法操作。
附加调试信息:/home/user/vvdn_sdk/stct_iog1/source/yocto/build/tmp/work/cortexa9hf-vfp-neon-m:
设备“默认”上的播放打开错误:没有这样的文件或目录将管道设置为 NULL ...
释放管道...
gstreamer - 将 gstreamer0.10 管道转换为 gstreamer1.0
您好,我需要将 gstreamer0.10 管道转换为 gstreamer1.0 管道,但一般对 gstreamer 了解不多。
我的 0.10 管道如下所示:
我试图像这样转换它:
但是当我尝试运行管道时出现此错误:
感谢您对此的任何帮助