<div dir="ltr"><div><div>Hi Tim,<br><br></div>thanks for a fast response. Looks like as far as I don't include omxh264dec in the pipeline, I don't get an error. I'm not sure how to read this correctly, but itmight have something to do with alignment nal/au<br>
<br>root@raspberrypi:/mnt/tmp/tmp# gst-launch-1.0 filesrc -v location="/mnt/tmp/movie/20121107 0402 - HBO HD - Hanna.ts" ! tsdemux ! fakesink<br>Setting pipeline to PAUSED ...<br>Pipeline is PREROLLING ...<br>/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = audio/x-ac3<br>
Pipeline is PREROLLED ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>^CCaught interrupt -- handling interrupt.<br>Interrupt: Stopping pipeline ...<br>Execution ended after 36844059060 ns.<br>Setting pipeline to PAUSED ...<br>
Setting pipeline to READY ...<br>Setting pipeline to NULL ...<br>Freeing pipeline ...<br><br>root@raspberrypi:/mnt/tmp/tmp# gst-launch-1.0 filesrc -v location="/mnt/tmp/movie/20121107 0402 - HBO HD - Hanna.ts" ! tsdemux ! h264parse ! fakesink<br>
Setting pipeline to PAUSED ...<br>Pipeline is PREROLLING ...<br>/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, parsed=(boolean)true<br>
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, parsed=(boolean)true<br>/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal<br>
Pipeline is PREROLLED ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>^CCaught interrupt -- handling interrupt.<br>Interrupt: Stopping pipeline ...<br>Execution ended after 15460289179 ns.<br>Setting pipeline to PAUSED ...<br>
Setting pipeline to READY ...<br>Setting pipeline to NULL ...<br>Freeing pipeline ...<br><br>root@raspberrypi:/mnt/tmp/tmp# gst-launch-1.0 filesrc -v location="/mnt/tmp/movie/20121107 0402 - HBO HD - Hanna.ts" ! tsdemux ! h264parse ! omxh264dec ! fakesink<br>
Setting pipeline to PAUSED ...<br>Pipeline is PREROLLING ...<br>/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal<br>/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true<br>
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal data stream error.<br>Additional debug info:<br>mpegtsbase.c(1620): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0:<br>stream stopped, reason not-negotiated<br>
ERROR: pipeline doesn't want to preroll.<br>Setting pipeline to NULL ...<br><br></div>I have a desktop linux system at hand, but I may be missing some plugins. On the other hand, I launched it on raspberry pi, and got the same result<br>
<br><br><div><div>root@raspberrypi:/mnt/tmp/tmp# gst-discoverer-1.0 "/mnt/tmp/movie/20121107 0402 - HBO HD - Hanna.ts"<br>Analyzing file:///mnt/tmp/movie/20121107%200402%20-%20HBO%20HD%20-%20Hanna.ts<br>Done discovering file:///mnt/tmp/movie/20121107%200402%20-%20HBO%20HD%20-%20Hanna.ts<br>
Missing plugins<br><br>Topology:<br> container: MPEG-2 Transport Stream<br> audio: AC-3 (ATSC A/52)<br> video: H.264<br> video: H.264<br> audio: AC-3 (ATSC A/52)<br><br>Properties:<br> Duration: 2:12:59.447745333<br>
Seekable: yes<br> Tags: <br> language code: cs<br> bitrate: 384000<br><br></div><div>I hope you'll be able to see something that rings a bell.<br><br></div><div>Thanks,<br><br></div><div>Stefan<br></div></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 13, 2013 at 11:40 AM, Tim Müller <span dir="ltr"><<a href="mailto:tim@centricular.com" target="_blank">tim@centricular.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, 2013-12-13 at 11:31 +0100, Stefan Simon wrote:<br>
<br>
Hi Stefan,<br>
<div class="im"><br>
> gst-launch-1.0 filesrc location=<file.ts> ! tsdemux ! h264parse !<br>
> omxh264dec ! omxh264enc ! filesink location=test.h264<br>
><br>
> this is as primitive as can get I suppose. Taking into account my<br>
> non-existent experience with GSTreamer, this pipeline would make<br>
> sense. Demux, parse, decode, encode, dump to a file. What I get is<br>
<br>
</div>Yeah, this looks like it should work in principle (assuming the encoder<br>
outputs H.264 in byte-stream format).<br>
<div class="im"><br>
> mpegtsbase.c(1620): mpegts_base_loop<br>
> (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0:<br>
> stream stopped, reason not-negotiated<br>
<br>
</div>This indicates some caps negotiation issue.<br>
<div class="im"><br>
> Any pointers to what I'm doing wrong? I also tried decodebin to<br>
> construct the decoding pipeline for me, but it fails saying I don't<br>
> have a h264 decoder..<br>
<br>
</div>Maybe first try these, and pass -v to gst-launch-1.0 so we can see the<br>
caps:<br>
<br>
gst-launch-1.0 -v filesrc location=<file.ts> ! tsdemux ! fakesink<br>
<br>
gst-launch-1.0 -v filesrc location=<file.ts> ! tsdemux ! h264parse !<br>
fakesink<br>
<br>
gst-launch-1.0 -v filesrc location=<file.ts> ! tsdemux ! h264parse !<br>
omxh264dec ! fakesink<br>
<br>
If you have a desktop linux system at hand, maybe also run<br>
gst-discoverer-{1.0,0.10} -v file.ts there and show us what it says.<br>
<br>
Cheers<br>
<span class="HOEnZb"><font color="#888888"> -Tim<br>
<br>
--<br>
Tim Müller, Centricular Ltd - <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</font></span></blockquote></div><br></div>