答复: how to choose a h264 decoder in gstreamer plugins

liuxing gavinsperation at hotmail.com
Thu Jul 18 18:18:15 PDT 2013


Dear Peter,

 

Thanks so much for your notes, they are very helpful.

 

About the ff-mpeg pakage, I had googled it before installing the
gst-libav-1.0.5. I found that, the version of gst-ffmpeg has been updated to
gst-libav since gst-ffmpeg-0.11.2. So I installed the  latest version of
gst-libav and it came out that vdpauh264dec was installed.

 

By the way, I am using opensuse-12.3 OS, the version of gstreamer installed
is 1.0.5. Now, I can get the following stuff after typing “gst-inspect-1.0
| grep 264” :

         Libav: avdec_h264: libav H.264/AVC/MPEG-4 AVC/MPEG-4 part 10
decoder

         Libav: avmux_ipod : libav iPod H.264 MP4 format muxer.

And the h264_parser and rtp264pay, rtp264depay are all gone. I don’t know
why.

Anyway,  I have one of my pc installed Ubuntu-12.4. I will try it later on.

 

All BEST!

 

Gavin

 

发件人:
gstreamer-devel-bounces+gavinsperation=hotmail.com at lists.freedesktop.org
[mailto:gstreamer-devel-bounces+gavinsperation=hotmail.com at lists.freedesktop
.org] 代表 Peter Maersk-Moller
发送时间: 2013年7月18日 19:27
收件人: Discussion of the development of and with GStreamer
主题: Re: how to choose a h264 decoder in gstreamer plugins

 

Hi Gavin.det

You asked for a h264 decoder and mention a few modules. Here are som
comments.

1) h264_parse is not a decoder, but rather a module to parse a h264 stream.
It may be able to convert a h264 stream from NAL units to AU units and
perhaps vice versa, but that's it. You use it in a stream to ensure that the
following modules will receive the right caps information and perhaps for
the unit conversion.

2) rtpXXXpay and rtpXXXdepay are modules used to encapsulate and decapsulate
a stream for RTP streaming. In your case you may only need the modules, if
you need to decapsulate an RTP stream.

3) Never used vdpauh264dec, so search Google for examples.

Now for decoding h264, you can among other things also do

  a) use ffdec_h264

  b) use decodebin and decodebin2

  c) use playbin and playbin2

Note that solution a) requires you to do proper decapsulating and/or proper
demuxing before you can decode.

Now for why you are missing the h264 decoder, it depends on you OS, your
installed packages, your version of GStreamer etc. On one of my systems I'm
using Ubuntu 12.04 LTS and GStreamer-0.10. To get h264 decoder support I
need to install gstreamer0.10-ffmpeg package. You  can try the following

  $ gst-inspect |grep 264

When I do, I see this:

   ffmpeg:  ffdec_h264: FFmpeg H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
decoder
   ffmpeg:  ffmux_ipod: FFmpeg iPod H.264 MP4 format muxer
   rtp:  rtph264depay: RTP H264 depayloader
   rtp:  rtph264pay: RTP H264 payloader
   x264:  x264enc: x264enc
   videoparsersbad:  h264parse: H.264 parser
   h264parse:  legacyh264parse: H264Parse
   typefindfunctions: video/x-h264: h264, x264, 264

What you see should give you a clue.

Best regards

Peter Maersk-Moller

 

On Thu, Jul 18, 2013 at 8:56 AM, liuxing <gavinsperation at hotmail.com> wrote:

Hello, there

         

I am now working a real-time h264 video stream player. I checked the plugins
related to h264 installed on my computer, they are h264 parser and
rtph264pay and rtph264depay. There is no h264 decoder that I can use
directly. Then, I googled “gst-libav” and got it installed on my computer.
Now I have vdpauh264dec, but I still have no clue to get it work with h264
files. And when I try to play “mov” or “mp4” file with gst-launch
playbin, the fault “h264 decoder missing” came up. Why is it????

 

Can anyone help me with this please? 

 

With Regards

 

Gavin 


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130719/53e6c731/attachment.html>


More information about the gstreamer-devel mailing list