RaspberryPi .H264 file to MP4

Hamo61 hamza_the_one at hotmail.de
Thu Mar 20 10:52:39 PDT 2014


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 ...
/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 ...



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/RaspberryPi-H264-file-to-MP4-tp4666043.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list