RaspberryPi .H264 file to MP4
Hamo61
hamza_the_one at hotmail.de
Fri Mar 21 06:47:28 PDT 2014
Yes it is usable with xplayer. I tried it with vlc player in windows and it also works.
The file i get is from the raspicam. I think its a raw h264 file. If you want i can send a short example.
Von meinem iPhone gesendet
Am 21.03.2014 um 13:51 schrieb "Markus Fritsche [via GStreamer-devel]" <ml-node+s966125n4666050h41 at n4.nabble.com>:
> Hello Hamza,
>
> looking at it - your pipeline already says that the input file has a framerate of 0/1 - is the test file correct? Is it useable in vlc or similar?
>
> Kind regards,
> Markus
>
>
> 2014-03-20 22:37 GMT+01:00 Hamo61 <[hidden email]>:
>> Thx for the reply.
>> But it didnt help. Another idea?
>>
>> My Pipelines:
>> gst-launch-1.0 -v filesrc location=test.h264 ! h264parse ! decodebin ! queue ! omxh264enc ! "video/x-h264,framerate=25" ! h264parse ! mp4mux ! filesink location=test.mp4
>>
>> or
>> gst-launch-1.0 -v filesrc location=test.h264 ! h264parse ! decodebin ! queue ! omxh264enc ! "video/x-h264,framerate=25/1" ! h264parse ! mp4mux ! filesink location=test.mp4
>>
>> or
>> gst-launch-1.0 -v filesrc location=test.h264 ! h264parse ! decodebin ! queue ! omxh264enc ! "video/x-h264,framerate=(fraction)25/1" ! h264parse ! mp4mux ! filesink location=test.mp4
>>
>>
>>
>> pi at raspberrypi ~ $ gst-launch-1.0 -v filesrc location=test.h264 ! h264parse ! decodebin ! queue ! omxh264enc ! "video/x-h264,framerate=25/1" ! h264parse ! mp4mux ! filesink location=test.mp4
>> Setting pipeline to PAUSED ...
>> Pipeline is PREROLLING ...
>> /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse2.GstPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01640028ffe1000e27640028ac2b402802dd00f1226a01000528ee025cb0
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse2.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)au
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)au
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)au
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)au
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)au
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, width=(int)1280, height=(int)720, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)au
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)0/1
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)0/1
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad4: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)0/1
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)0/1
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)0/1
>> /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad4: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)0/1
>> ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: Internal data stream error.
>> Additional debug info:
>> gstomxvideodec.c(1670): gst_omx_video_dec_loop (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
>> stream stopped, reason not-linked
>> ERROR: pipeline doesn't want to preroll.
>> Setting pipeline to NULL ...
>> Freeing pipeline ...
>>
>>
>> Date: Thu, 20 Mar 2014 14:15:01 -0700
>> From: [hidden email]
>> To: [hidden email]
>> Subject: Re: RaspberryPi .H264 file to MP4
>>
>>
>> On Thu, 2014-03-20 at 10:52 -0700, Hamo61 wrote:
>>
>> Hi,
>>
>> > i wanted to transcode my video from the raspicam in mp4. But i always get an
>> > error. Is my pipeline wrong or is there another problem?
>> >
>> > This is my pipelin:
>> > gst-launch-1.0 -v filesrc location=testfile.h264 ! h264parse ! decodebin !
>> > queue ! omxh264enc ! "video/x-h264,framerate=25" ! h264parse ! mp4mux !
>> > filesink location=test.mp4
>> >
>> > Actually i want to save it from the RaspiCam directly in Mp4. My Pipeline
>> > for that is:
>> > raspivid -t 0 -h 720 -w 1280 -fps 25 -vf -b 2000000 -n -o - | gst-launch-1.0
>> > -v fdsrc ! h264parse ! decodebin ! queue ! omxh264enc !
>> > "video/x-h264,framerate=25" ! h264parse ! mp4mux ! filesink
>> > location=test.mp4
>> >
>> > I would be happy if one of these would work.
>> >
>> > Here is the Error-Message:
>> > pi at raspberrypi ~ $ gst-launch-1.0 -v filesrc location=testfile.h264 !
>> > h264parse ! decodebin ! queue ! omxh264enc ! "video/x-h264,framerate=25" !
>> > h264parse ! mp4mux ! filesink location=test.mp4
>> > Setting pipeline to PAUSED ...
>> > Pipeline is PREROLLING ...
>> > (...)
>> > ERROR: from element
>> > /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
>> > Internal data stream error.
>> > Additional debug info:
>> > gstomxvideodec.c(1670): gst_omx_video_dec_loop ():
>> > /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
>> > stream stopped, reason not-linked
>> Try with framerate=25/1 or 'framerate=(fraction)25' - if you write
>> framerate=25 then it will be deserialised to an integer field, which is
>> not compatible with a fraction field, and then it won't link..
>>
>> Cheers
>> -Tim
>>
>> --
>> Tim Müller, Centricular Ltd - http://www.centricular.com
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>> If you reply to this email, your message will be added to the discussion below:
>> http://gstreamer-devel.966125.n4.nabble.com/RaspberryPi-H264-file-to-MP4-tp4666043p4666045.html
>> To unsubscribe from RaspberryPi .H264 file to MP4, click here.
>> NAML
>>
>> View this message in context: RE: RaspberryPi .H264 file to MP4
>>
>> Sent from the GStreamer-devel mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> If you reply to this email, your message will be added to the discussion below:
> http://gstreamer-devel.966125.n4.nabble.com/RaspberryPi-H264-file-to-MP4-tp4666043p4666050.html
> To unsubscribe from RaspberryPi .H264 file to MP4, click here.
> NAML
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/RaspberryPi-H264-file-to-MP4-tp4666043p4666051.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140321/cb17237a/attachment-0001.html>
More information about the gstreamer-devel
mailing list