问题标签 [playbin2]
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.
gstreamer - 在 Playbin2 中播放时更改当前视频会使视频停止
我有一个 playbin2 管道播放具有多个轨道的视频文件。current-video
我可以通过设置属性来改变当前播放的曲目:
但是,一旦我设置了这个,视频就会挂起,然后最终变成灰色。音频继续播放。一位同事建议冲洗管道可能会修复它,但唯一的方法似乎是使用GST_SEEK_FLAG_FLUSH
. 使用 seek 确实有效,但看起来很乱:
设置时我做错了current-video
吗?有没有更简单的方法来冲洗管道?
注意:我使用 Ogg Theora 文件进行测试,因为它很容易构建,所以我不确定这个问题是否会以其他格式出现。
memory-leaks - 具有递增后缀索引的 gstreamer 元素是否意味着可能的内存泄漏?
我基于gstreamer-1.0编写了一个简单的代码,使用playbin对某个文件进行循环解码,并且每次playbin创建元素mpeg2dec元素时,该元素都有一个新名称。最开始的名称可能是“mepg2dec0”,然后再次播放文件时,它将后缀索引增加到“mpeg2dec1”,“mpeg2dec2”等等。
以下是部分代码引用:
这个后缀索引增加是否意味着未释放的元素可能存在内存泄漏?
gstreamer - 如何在 Gstreamer 中以文本格式获取 playbin 创建的管道?
我正在使用以下管道播放传输流文件 (*.ts):
但我需要自己将其转换为管道。我不确定如何实现这一目标。
到目前为止,我已经尝试过:(工作正常)
但是,如果我用 autoaudiosink 替换 fakesink,它会因未链接错误而失败。
甚至 fakesink 也不适用于视频:
所以我有两个问题:
- 如何找出由 playbin 元素创建的管道。
- 如何使用 gstreamer 管道播放 mpeg2-ts 文件。
android - 用于 playbin2 uri 的 Gstreamer smb 链接
我正在尝试使用 android 上的 gstreamer playbin2 播放位于 windows pc 中的视频文件。我的uri如下
“smb://xxxxx-pc/share/1.mp4”
错误显示:来自元素 uridecodebin0 的错误代码:没有为 smb 实现 URI 处理程序。
是否没有为 android 提供 smb URI 支持,如果是,是否有解决方法。
提前致谢。
c - 使用 gstreramer 播放歌曲的顺序是什么?
我正在构建一个基于 gstreamer-0.10 的音乐播放器。我能够成功播放,但是当我更改管道状态时出现问题。我已经发布了代码来初始化和启动下面的管道:
上面的代码将初始化 gstreamer 管道。我正在使用playbin2。
我不得不使用 if(i == TRUE) 条件,因为管道第一次没有改变状态。
}
上述函数分别执行播放、暂停和停止功能。问题是,当我将文件的路径发送到函数start_playbin()
时,在将管道设置为就绪后,我无法更改文件的路径。我必须让它 1)准备好 2)暂停或播放(无法设置状态) 3)停止然后播放(设置状态成功)歌曲。
请帮我。如果我将管道设置为仅就绪但程序挂起,我不会收到任何错误。可能是什么问题呢?是否有任何特定的顺序来设置管道和设置文件的路径?
ios - GStreamer iOS,无法构建管道:没有元素“playbin2”
我目前正在尝试将 GStreamer 集成到 iOS 项目中。
我已经下载了 gstreamer-1.0-devel-1.2.1-ios-universal.pkg 并将 GStreamer.framework 添加到项目中。我在http://docs.gstreamer.com/display/GstSDK/iOS+tutorial+4%3A+A+basic+media+player上关注了 iOS 教程,之前的教程效果很好,但是在创建基本媒体时播放器,我总是在启动管道时遇到问题,下面是我使用的代码
我得到了错误:无法构建管道:没有元素“playbin2”
我同样下载了 Mac 的 GStreamer,使用相同的方法 (gst_parse_launch()),我可以启动内部视频播放器来播放视频。
我想也许插件(playbin2)没有很好地安装或配置,我到处搜索希望找到解决方案,但我没有找到......任何帮助将不胜感激。
提前致谢
video - gstreamer 支持多个 src 或 pipieline?
我使用gstreamer播放视频。我想知道gstreamer是否支持两个或更多管道播放视频?即我想使用gstreamer播放两个或更多pad视频。
video - gstreamer如何同时播放两个视频?
我想用 gstreamer 同时播放两个视频。但我不知道。我使用 playbin2 作为管道,xvimagesink 作为接收器元素。现在我希望这个管道播放两个视频。有什么解决方案吗?
python - Python 中的 GStreamer 计时
在我的 Python 程序中,我将 GStreamerplaybin
与 a 结合使用textoverlay
来播放视频文件并在其上显示一些文本。这很好用:如果我更改 的text
属性,textoverlay
则会显示新文本。
但现在我想根据视频的当前位置/时间(如字幕)设置文本。
我读到了管道的时钟、缓冲区的时间戳、段事件和外部计时器,它们每 x 毫秒查询一次当前时间。但是,了解时间变化的最佳做法是什么,以便我可以尽快显示正确的文本?
windows - 如何在 Windows 上为 gstreamer 安装 playbin2 插件
我正在尝试运行此处提出的 gstreamer 教程 并遇到此处描述的问题。我的情况是我可能没有安装 playbin2 插件。我的问题是如何安装它们?我已经下载并安装了 gstreamer(开发版),并且我已经按照此处的建议成功链接到库,但找不到与 playbin2 相关的任何内容。有人可以建议一种方法让我的应用程序了解 playbin2 插件吗?
感谢您的时间。