how to choose a h264 decoder in gstreamer plugins

Peter Maersk-Moller pmaersk at gmail.com
Thu Jul 18 04:26:41 PDT 2013


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/20130718/67e31094/attachment-0001.html>


More information about the gstreamer-devel mailing list