Help with transcoding h264 encoded TS on raspberry pi
Tim Müller
tim at centricular.com
Fri Dec 13 02:40:54 PST 2013
On Fri, 2013-12-13 at 11:31 +0100, Stefan Simon wrote:
Hi Stefan,
> gst-launch-1.0 filesrc location=<file.ts> ! tsdemux ! h264parse !
> omxh264dec ! omxh264enc ! filesink location=test.h264
>
> this is as primitive as can get I suppose. Taking into account my
> non-existent experience with GSTreamer, this pipeline would make
> sense. Demux, parse, decode, encode, dump to a file. What I get is
Yeah, this looks like it should work in principle (assuming the encoder
outputs H.264 in byte-stream format).
> mpegtsbase.c(1620): mpegts_base_loop
> (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0:
> stream stopped, reason not-negotiated
This indicates some caps negotiation issue.
> Any pointers to what I'm doing wrong? I also tried decodebin to
> construct the decoding pipeline for me, but it fails saying I don't
> have a h264 decoder..
Maybe first try these, and pass -v to gst-launch-1.0 so we can see the
caps:
gst-launch-1.0 -v filesrc location=<file.ts> ! tsdemux ! fakesink
gst-launch-1.0 -v filesrc location=<file.ts> ! tsdemux ! h264parse !
fakesink
gst-launch-1.0 -v filesrc location=<file.ts> ! tsdemux ! h264parse !
omxh264dec ! fakesink
If you have a desktop linux system at hand, maybe also run
gst-discoverer-{1.0,0.10} -v file.ts there and show us what it says.
Cheers
-Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
More information about the gstreamer-devel
mailing list