ubuntu下 gstreamer 的配置及播放音视频例子

本文详细介绍了在Ubuntu 12.04和13.10上配置和使用Gstreamer的步骤,包括安装Gstreamer及其各种插件,以及如何通过`gst-launch`命令播放音视频文件。通过示例展示了Gstreamer的编译、运行和管道描述,适合开发者调试和学习。
摘要由CSDN通过智能技术生成

官方网址:http://gstreamer.freedesktop.org


Gstreamer安装:

使用sudo apt-get install 安装

sudo apt-get install libgstreamer0.10-dev gstreamer-tools gstreamer0.10-tools gstreamer0.10-doc
sudo apt-get install gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse


安装了如下的gst的插件:

gstreamer0.10-tools

gstreamer0.10-x

gstreamer0.10-plugins-base

gstreamer0.10-plugins-good

gstreamer0.10-plugins-ugly

gstreamer0.10-plugins-bad

gstreamer0.10-ffmpeg

gstreamer0.10-alsa

gstreamer0.10-schroedinger

gstreamer0.10-pulseaudio


有可能需要安装的软件:

sudo apt-get install bison

sudo apt-get install flex

sudo apt-get install zlib1g

mad解码插件

apt-get install libmad0-dev

apt-get install gstreamer0.10-plugins-ugly


Initializing GStreamer

#include <stdio.h>
#include <gst/gst.h>

int main (int   argc,   char *argv[])
{
  const gchar *nano_str;
  guint major, minor, micro, nano;

  gst_init (&argc, &argv);

  gst_version (&major, &minor, µ, &nano);

  if (nano == 1)
    nano_str = "(CVS)";
  else if (nano == 2)
    nano_str = "(Prerelease)";
  else
    nano_str = "";

  printf ("This program is linked against GStreamer %d.%d.%d %s\n",
          major, minor, micro, nano_str);

  return 0;
}


#include <gst/gst.h>
#include <glib.h>
//定义消息处理函数,
static gboolean bus_call(GstBus *bus,GstMessage *msg,gpointer data)
{
    GMainLoop *loop = (GMainLoop *) data;//这个是主循环的指针,在接受EOS消息时退出循环
    switch (GST_MESSAGE_TYPE(msg))
    {
        case GST_MESSAGE_EOS:
            g_print("End of stream\n");
            g_main_loop_quit(loop);
            break;
        case GST_MESSAGE_ERROR:
        {
               gchar *debug;
               GError *error;
               gst_message_parse_error(msg,&error,&debug);
               g_free(debug);
               g_printerr("ERROR:%s\n",error->message);
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值