初步使用gstreamer

首先,验证您是否有可用的安装,并且可以通过键入来检查插件

$ gst-inspect-1.0 fakesrc
这应该打印出一堆关于这个特定元素的信息。如果这告诉您“没有这样的元素或插件”,则表示您尚未正确安装GStreamer。请检查如何让GStreamer的如果失败,其他任何消息,我们将不胜感激一个bug报告。

是时候尝试一些事情了。从gst-launch和两个你应该拥有的插件开始:fakesrc和fakesink。它们除了传递空缓冲区外什么都不做 在命令行键入:

$ gst-launch-1.0 -v fakesrc silent=false num-buffers=3 ! fakesink silent=false
这将打印出类似于此的输出:

RUNNING pipeline …
fakesrc0: last-message = “get ******* (fakesrc0:src)gt; (0 bytes, 0) 0x8057510”
fakesink0: last-message = “chain ******* (fakesink0:sink)lt; (0 bytes, 0) 0x8057510”
fakesrc0: last-message = “get ******* (fakesrc0:src)gt; (0 bytes, 1) 0x8057510”
fakesink0: last-message = “chain ******* (fakesink0:sink)lt; (0 bytes, 1) 0x8057510”
fakesrc0: last-message = “get ******* (fakesrc0:src)gt; (0 bytes, 2) 0x8057510”
fakesink0: last-message = “chain ******* (fakesink0:sink)lt; (0 bytes, 2) 0x8057510”
execution ended after 5 iterations (sum 301479000 ns, average 60295800 ns, min 3000 ns, max 105482000 ns)
(为清楚起见,已删除某些输出部分)如果它看起来相似,那么GStreamer本身就能正常运行。

要显示测试视频,请尝试:

$ gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink
如果autovideosink不起作用,请尝试一个特定于您的操作系统和窗口系统的元素,例如ximagesinkor glimagesink 或(在Windows上)d3dvideosink。

我的系统可以通过GStreamer播放声音吗?
您可以尝试播放正弦音来测试。为此,您需要将audiotestsrc元素链接到与您的硬件匹配的输出元素。音频输出插件的(非完整)列表是

pulsesink 用于Pulseaudio输出

alsasink 用于ALSA输出

osssink并oss4sink为OSS / OSSv4输出

jackaudiosink 用于JACK输出

autoaudiosink 用于自动音频输出选择

首先,在要使用的输出插件上运行gst-inspect-1.0以确保安装它。例如,如果您使用Pulseaudio,请运行

$ gst-inspect-1.0 pulsesink
并查看是否打印出插件的一堆属性。

然后尝试通过运行播放正弦音(滴……)

$ gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! pulsesink
看看你是否听到了什么。确保您的音量调高,但也要确保音量不是太大并且您没有佩戴耳机。

我怎样才能看到我的系统上有什么GStreamer插件?
要执行此操作,请使用gst-inspect命令行工具,该工具是GStreamer的标准配置。没有任何参数调用,

$ gst-inspect-1.0
将打印出已安装插件的列表。要了解有关特定插件的更多信息,请在命令行上传递其名称。例如,

$ gst-inspect-1.0 volume
将为您提供有关volume插件的信息。

我应该在哪里报告问题?
有关问题,请访问Freedesktop.org的Gitlab,网址为 https://gitlab.freedesktop.org/gstreamer。使用Gitlab,您可以查看过去的问题,报告新问题,提交合并请求等.Gitlab要求您在那里创建一个帐户,这可能看起来很麻烦,但是我们至少有机会与您联系以获取更多信息,因为我们将经常要做。

我应该如何报告错误?
在进行错误报告时,您至少应该进行描述

您的发行版,发行版和GStreamer版

你是如何安装GStreamer的(来自git,source,packages,哪个?)

如果您之前安装过GStreamer

如果您遇到问题的应用程序是segfaulting,那么请向我们提供必要的gdb输出。见 ???

如何使用GStreamer命令行界面?
您可以使用该命令访问GStreamer命令行界面 gst-launch-1.0。例如,要播放您可以使用的文件

gst-launch-1.0 playbin uri=file:///path/to/song.mp3
您还可以使用gst-play:

gst-play-1.0 song.mp3
要解码mp3音频文件并通过Pulseaudio播放,您可以使用:

gst-launch-1.0 filesrc location=thesong.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! pulsesink
要自动检测并为管道中的给定编码流选择正确的解码器,请尝试以下任一操作:

gst-launch-1.0 filesrc location=thesong.mp3 ! decodebin ! audioconvert ! pulsesink
gst-launch-1.0 filesrc location=my-random-media-file.mpeg ! decodebin ! pulsesink
gst-launch-1.0 filesrc location=my-random-media-file.mpeg ! decodebin ! videoconvert ! xvimagesink
甚至更复杂的东西:

gst-launch-1.0 filesrc location=my-random-media-file.mpeg !decodebin name=decoder
decoder. ! queue ! videoconvert ! xvimagesink
decoder. ! queue ! audioconvert ! pulsesink
从前面的示例构建,您可以通过使用以下自动替代方法替换特定输出元素,让GStreamer选择一组适当的默认接收器:

gst-launch-1.0 filesrc location=my-random-media-file.mpeg !decodebin name=decoder
decoder. ! queue ! videoconvert ! autovideosink
decoder. ! queue ! audioconvert ! autoaudiosink
GStreamer还提供playbin了一个基本的媒体播放插件,可以自动处理大多数播放细节。以下示例显示了只要支持其格式即可播放任何文件,即。你有安装必要的demuxing和解码插件:

gst-launch-1.0 playbin uri=file:///home/joe/my-random-media-file.mpeg
其他示例可在gst-launch手册页中找到。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值