Help with transcoding h264 encoded TS on raspberry pi

Stefan Simon stefansimon8 at gmail.com
Fri Dec 13 04:27:50 PST 2013


Hi Markus,

I copy pasted your pipeline, got a Missing element: H.264 decoder message.

root at raspberrypi:/mnt/tmp/tmp# gst-launch-1.0 filesrc
location="/mnt/tmp/movie/20121107 0402 - HBO HD - Hanna.ts" !
progressreport ! tsparse !  decodebin name=demux demux. ! queue !
audioconvert ! voaacenc bitrate=128000 ! queue ! mux. demux. ! queue !
deinterlace ! omxh264enc control-rate=1 target-bitrate=2500000 !
"video/x-h264,profile=high,width=704,height=576" ! queue ! h264parse ! mux.
mpegtsmux name=mux ! filesink location='out.ts'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Missing element: H.264 decoder
progressreport0 (00:00:05): 28952000 / 4960264192 bytes ( 0.6 %)

I would definitely be interested in the script, but perhaps even more in
your GStreamer 1.2 binaries. I read a post from you on some blog that 1.2
resolves audio/video sync issues in matroska.

Thanks,

Stefan


On Fri, Dec 13, 2013 at 11:55 AM, Markus Fritsche <fritsche.markus at gmail.com
> wrote:

> On Fri, 13 Dec 2013 11:31:52 +0100
> Stefan Simon <stefansimon8 at gmail.com> wrote:
>
> > gst-launch-1.0 filesrc location=<file.ts> ! tsdemux ! h264parse !
> > omxh264dec ! omxh264enc ! filesink location=test.h264
>
> Hmm - I switch to gstreamer-1.2, it seems to have some improvements in the
> de-/ muxers. I created a script for recoding ts files on the raspberry pi.
> It calls mediainfo to analyze the audio streams in the ts (I recode DVB-T
> from mp2 to aac) and the videostream.
>
> Here is a typical pipeline for recoding a Terra-X encoding:
>
> gst-launch-1.0 filesrc location='00001.ts' ! progressreport ! tsparse !
>  decodebin name=demux demux. ! queue ! audioconvert ! voaacenc
> bitrate=128000 ! queue ! mux. demux. ! queue ! deinterlace ! omxh264enc
> control-rate=1 target-bitrate=2500000 !
> "video/x-h264,profile=high,width=704,height=576" ! queue ! h264parse ! mux.
> mpegtsmux name=mux ! filesink location='out.ts'
>
> (the script does ask for an input name, output name, base bitrate and a
> diviver, for instance if I put divider 2, the dimensions will be devided by
> 2 and the bitrate by 2*2).
>
> The script is written in lua (but not failsafe) - interested?
>
> Kind regards,
>   Markus
>
> --
> Markus Fritsche <fritsche.markus at gmail.com>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131213/8e546672/attachment.html>


More information about the gstreamer-devel mailing list