Gstreamer“filesrc”插件缺少与Fedora / Centos / Ubuntu中的VLC交互?在它可用之前

时间:2011-04-13 15:56:02

标签: ubuntu centos fedora gstreamer vlc

这是安装在我的Fedora 12.和Rpmfusion存储库中。但它仍然不允许我使用 filesrc 插件。我怎么能得到它?注意:在我使用filesrc运行的其他旧Fedora框GST中,来自这些默认存储库。我试图使用filesrc加载一个简单的文件,并在Common Linux发行版中使用VLC进行测试,但它不起作用。以下测试已经在新的Fedora 12中(与其他发行版同样发生)。

$gst-inspect filesrc
No such element or plugin 'filesrc'

编辑: 已安装的软件包 PackageKit-gstreamer-plugin.i686 0.5.7-2.fc12 @updates
gstreamer.i686 0.10.29-1.fc12 @updates
gstreamer-devel.i686 0.10.29-1.fc12 @updates
gstreamer-plugins-bad-free.i686 0.10.19-1.fc12 @updates
gstreamer-plugins-bad-free-devel.i686 0.10.19-1.fc12 @updates
gstreamer-plugins-bad-free-extras.i686 0.10.19-1.fc12 @updates
gstreamer-plugins-base.i686 0.10.29-1.fc12 @updates
gstreamer-plugins-base-devel.i686 0.10.29-1.fc12 @updates
gstreamer-plugins-good.i686 0.10.23-1.fc12 @updates
gstreamer-plugins-ugly.i686 0.10.15-1.fc12 @ rpmfusion-free-updates gstreamer-plugins-ugly-devel-docs.i686 0.10.15-1.fc12 @ rpmfusion-free-updates gstreamer-python.i686 0.10.16-1.fc12 @rawhide
gstreamer-rtsp.i686 0.10.5-1.fc12 @updates
gstreamer-rtsp-devel.i686 0.10.5-1.fc12 @updates
gstreamer-tools.i686 0.10.29-1.fc12 @updates

2 个答案:

答案 0 :(得分:2)

解决:通过以下讨论:Tim Philipp Muller

Problem (for me it happened for filesrc/audioconvert):
$ gst-inspect filesrc
No such element or plugin 'filesrc'

Step 1:
$ gst-inspect -b

Blacklisted files:
  libgstpython.so
  libgstcoreelements.so

Total count: 2 blacklisted files


Step 2:
$ rm ~/.gstreamer-0.10/registry*
rm: remove regular file `/root/.gstreamer-0.10/registry.i386.bin'? y
$ gst-inspect /usr/lib/gstreamer-0.10/libgstcore
$ gst-inspect /usr/lib/gstreamer-0.10/libgstcorelibgstcoreelements.so
No such element or plugin '/usr/lib/gstreamer-0.10/libgstcorelibgstcoreelements.so'

Step 3: suddently it works, just doing Step 1 and Step 2

$ gst-inspect filesrc
Factory Details:
  Long name:    File Source
  Class:    Source/File
  Description:  Read from arbitrary point in a file
  Author(s):    Erik Walthinsen <omega@cse.ogi.edu>
  Rank:     primary (256)

Plugin Details:
  Name:         coreelements
  Description:      standard GStreamer elements
  Filename:     /usr/lib/gstreamer-0.10/libgstcoreelements.so
  Version:      0.10.29
  License:      LGPL
  Source module:    gstreamer
  Binary package:   Fedora Core gstreamer package
  Origin URL:       http://download.fedora.redhat.com/fedora

GObject
 +----GstObject
       +----GstElement
             +----GstBaseSrc
                   +----GstFileSrc

Implemented Interfaces:
  GstURIHandler

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_base_src_change_state
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.

URI handling capabilities:
  Element can act as source.
  Supported URI protocols:
    file

Pads:
  SRC: 'src'
    Implementation:
      Has getrangefunc(): gst_base_src_pad_get_range
      Has custom eventfunc(): gst_base_src_event_handler
      Has custom queryfunc(): gst_base_src_query
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "filesrc0"
  blocksize           : Size in bytes to read per buffer (-1 = default)
                        flags: readable, writable
                        Unsigned Long. Range: 0 - 4294967295 Default: 4096 Current: 4096
  num-buffers         : Number of buffers to output before sending EOS (-1 = unlimited)
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1 Current: -1
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false Current: false
  do-timestamp        : Apply current stream time to buffers
                        flags: readable, writable
                        Boolean. Default: false Current: false
  location            : Location of the file to read
                        flags: readable, writable
                        String. Default: null Current: null
  fd                  : File-descriptor for the file being mmap()d
                        flags: readable
                        Integer. Range: 0 - 2147483647 Default: 0 Current: 0
  mmapsize            : Size in bytes of mmap()d regions
                        flags: readable, writable
                        Unsigned Long. Range: 0 - 4294967295 Default: 4194304 Current: 4194304
  sequential          : Whether to use madvise to hint to the kernel that access to mmap pages will be sequential
                        flags: readable, writable
                        Boolean. Default: false Current: false
  touch               : Touch mmapped data regions to force them to be read from disk
                        flags: readable, writable
                        Boolean. Default: true Current: true
  use-mmap            : Whether to use mmap() instead of read()
                        flags: readable, writable
                        Boolean. Default: false Current: false

如何检查哪个元素使用哪个库?

ldd /usr/local/lib/gstreamer-0.10/libgstvideotestsrc.so
    linux-vdso.so.1 =>  (0x00007fff4c1ff000)
    libgstbase-0.10.so.0 => /usr/local/lib/libgstbase-0.10.so.0 (0x00007f58d2ce9000)
    libgstreamer-0.10.so.0 => /usr/local/lib/libgstreamer-0.10.so.0 (0x00007f58d2a08000)
    libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f58d27bb000)
    libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f58d25b7000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f58d2269000)
    libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f58d2063000)
    librt.so.1 => /lib/librt.so.1 (0x00007f58d1e5b000)
    libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f58d1b79000)
    liborc-0.4.so.0 => /usr/local/lib/liborc-0.4.so.0 (0x00007f58d18fa000)
    libm.so.6 => /lib/libm.so.6 (0x00007f58d1677000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f58d145a000)
    libc.so.6 => /lib/libc.so.6 (0x00007f58d10d6000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f58d0ed2000)
    libpcre.so.3 => /lib/libpcre.so.3 (0x00007f58d0ca1000)
    libz.so.1 => /lib/libz.so.1 (0x00007f58d0a88000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f58d3164000)

答案 1 :(得分:1)

不确定你怎么可能没有filesrc元素,它是corelements.so文件的一部分,所以如果它缺少那么应该有很多其他核心功能。这是我在FC14上的gst-inspect命令的输出:

gst-inspect-0.10 filesrc
Factory Details:
  Long name:    File Source
  Class:    Source/File
  Description:  Read from arbitrary point in a file
  Author(s):    Erik Walthinsen <omega@cse.ogi.edu>
  Rank:     primary (256)

Plugin Details:
  Name:         coreelements
  Description:      standard GStreamer elements
  Filename:     /usr/lib/gstreamer-0.10/libgstcoreelements.so
  Version:      0.10.32.1
  License:      LGPL