Articles of gstreamer

如何通过丢帧来加速video?

我有一个30分钟的video。 我想做一个加速的版本,比如15分钟。 我可以通过删除每个第二帧来做到这一点。 我怎么能在Linux上做到这一点? 我正在玩gstreamer,看起来很酷。 有没有办法与gstreamer做到这一点? 什么是gst-launch命令行来做到这一点? 我的源video是在Motion JPEG,所以我确实有帧丢弃。 即使是使用关键帧,还是应该有一种“加倍速度”的方法吗? 我想要一个命令行的方式来做到这一点,因为我想自动化它。

如何在C ++的Linux上播放或录制audio(到.WAV)?

你好,我一直在寻找一种方式来播放和录制在Linux(最好是Ubuntu)系统上的audio。 目前,我正在开发一个语音识别工具包的前端,它将自动执行一些步骤,以便为PocketSphinx和Julius调整语音模型。 对于audioinput/输出的替代方法的build议是值得欢迎的 ,以及修复下面显示的错误 。 这里是目前我用来播放.WAV文件的代码: void Engine::sayText ( const string OutputText ) { string audioUri = "temp.wav"; string requestUri = this->getRequestUri( OPENMARY_PROCESS , OutputText.c_str( ) ); int error , audioStream; pa_simple *pulseConnection; pa_sample_spec simpleSpecs; simpleSpecs.format = PA_SAMPLE_S16LE; simpleSpecs.rate = 44100; simpleSpecs.channels = 2; eprintf( E_MESSAGE , "Generating audio for '%s' from '%s'…" , OutputText.c_str( […]

Gstreamer tcpserversink v0.10 vs 1.0和HTML5video标签

我在我的网站中embedded了一个HTML5video标签,其源代码是gstreamerstream。 我有一个工作在gst 0.10的pipe道: gst-launch-0.10 -v videotestsrc ! theoraenc ! oggmux ! queue ! tcpserversink port=8080 sync-method=2 我可以像这样通过vlc连接到这个stream: vlc tcp://localhost:8080 我也可以使用HTML5video标签中的url,并按预期显示video。 现在我试着去适应gst 1.0: gst-launch-1.0 -v videotestsrc ! theoraenc ! oggmux ! queue ! tcpserversink port=8080 sync-method=2 再次,我可以连接到stream与vlc, 但我不能在video标签中使用这个stream。 这让我疯狂,我把pipe道降到了最低限度,我不明白为什么它不起作用。 为什么它在旧的gst和vlc中工作,而不是在video标签中使用新的gst?

gstreamer python绑定的窗口

我正在调查gstreamer作为从列表中select一个video设备的手段,将其提供给opencv脚本。 我绝对不明白如何在Windows中使用python的gstreamer。 我从gstreamer官方网站安装了Windows gstreamer 1.07二进制文件 。 但是,我不能在python中导入pygst和gst模块。 >>> import pygst Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import pygst ImportError: No module named pygst >>> 我检查了gstreamer安装, 似乎没有提供pygst.py 。 然而,有一个名为gst-env的文件,其中包含环境variables的path(在安装时没有添加到系统variables中。 关于这里和这里相同问题的其他问题,例如,都使用gbureamer的winbuild版本。 为什么? 我完全失去了这一个。 编辑 好吧,我使用Gstreamer 0.10(其中有一个pygst.py )的SDK来pipe理它,但是没有办法使用Gstreamer 1.0系列,因为0.10是“结束生命”?

Gstreamer:gst_element_factory_make():总是失败并返回NULL:Qt5

我的问题是,我无法创buildGstreamer元素。 我正在使用Qt 5.2.1创buildGstreamer项目 我在做什么 : gst_init( NULL, NULL ); GstElement *m_pipeline = gst_pipeline_new ("pipeline1"); GstElement *m_rtspSrc = gst_element_factory_make("rtspsrc", "MyRtspSrc"); 但是gst_element_factory_make总是返回NULL 。 我已经validation: 检查共享对象是否位于$(libdir)/gstreamer-0.10/中。 (在那里)。 gst-inspect-0.10 rtspsrc 。 (它给出了插件的细节)。 gst-launch-0.10 fakesrc! my_all_plugin! fakesink(它的工作很好)。 我也尝试了另一种select: GstElementFactory *factory = gst_element_factory_find ("rtspsrc"); if(factory) GstElement *m_rtspSrc = gst_element_factory_create (factory, "MyRtspSrc"); 但是, gst_element_factory_find无法findrtspsrc 。 请帮我解决这个问题。 我也谷歌它。 但找不到任何解决办法。 我也提到了一些StackOverflow文章。 像GStreamer gst_element_factory_make失败等等,但仍然有问题。 提前很多很多谢谢。

在Windows中构buildgstreamer插件所需的环境

我一直在为了创build一个在windows上构buildgstreamer插件的环境而苦苦挣扎了两个星期(需要一个歌曲插件)。 我安装了MSYS,MinGW和Cygwin,然后安装了GStreamer OSSBuild,并且还下载了Songbird的源代码,这些源代码包含了自己的预编译版本的gstreamer。 我无法从歌曲来源运行gst-inspect(或任何其他gstreamer应用程序),我想我会解决OSSBuild(因为我能够从编译的OSSBuild运行gst-inspect)。 当按照构build一个GST插件( 在这里find )的指示时,cygwin将无法识别OSSBuild,并且在运行autogen时生成失败,出现以下错误: checking for GST… no configure: error: You need to install or upgrade the GStreamer development packages on your system. On debian-based systems these are libgstreamer0.10-dev and libgstreamer-plugins-base0.10-dev. on RPM-based systems gstreamer0.10-devel, libgstreamer0.10-devel or similar. The minimum version required is 0.10.16. configure failed 我也不能使用MSYS或MinGW,因为他们根本无法运行autogen。 我明白,cygwin 应该有自己的gstreamer开发包,但我找不到如何安装它们。 我的问题:我如何在cygwin中安装gstreamer软件包,或者如何使用cygwin与OSSBuild依赖关系进行构build? 总之, 如何获得一个可以在Windows下创buildgstreamer插件的环境?

通过STDIN馈送gstreamer fdsrc只产生预期结果的一小部分

我正在使用gstreamer窗口端口OSSBuild。 我想通过使用fdsrc元素的STDIN提供gst-launch与video数据。 这样做看起来好像pipe线只占用input的一小部分。 例如 type source.yuv | gst-launch fdsrc ! videoparse format=GST_VIDEO_FORMAT_I420 width=176 height=144 framerate=30000/1001 ! x264enc ! mpegtsmux ! filesink location=out.ts 将不会工作 gst-launch filesrc location=source.yuv ! videoparse format=GST_VIDEO_FORMAT_I420 width=176 height=144 framerate=30000/1001 ! x264enc ! mpegtsmux ! filesink location=out.ts 一切都好 所以我认为这个问题与我使用fdsrc有关。 有任何想法吗?