Gstreamer h264 encoding packetized frame format -- unable to decode

mansi.karan mail at mansikaran.in
Fri Sep 19 09:36:34 PDT 2014


Hi all, I need to send H264 encoded data to a peer via TCP, and in such cases
I guess packetized format is preferred as byte-stream will create big
packets.

But, as soon as i remove byte-stream=true from any encoder the h264parse is
unable to parse the stream.

I have tried the following encoding pipelines :

gst-launch-0.10 filesrc location=input ! videoparse format=i420 width=352
height=288 ! x264enc ! filesink location=out.264
gst-launch-0.10 filesrc location=input ! videoparse format=i420 width=352
height=288 ! x264enc ! rtph264pay ! filesink location=out.264

and the following decoding pipelines :

gst-launch-0.10 filesrc location=pack !
video/x-h264,stream-format=avc,width=352,height=288,framerate=25/1  !
decodebin ! autovideosink
gst-launch-0.10 ilesrc location=mthr ! videoparse format=i420 width=352
height=288 ! x264enc byte-stream = true ! filesink location=desktop.264
 
gst-launch-0.10  filesrc location=test ! application/x-rtp, width=320,
height=240, framerate=25/1,
codec_data=0142000dffe1000c6742800dda0507e806d0a13501000468ce06e2,
stream-format=avc, media=video, encoding-name=H264, payload=96 !
rtph264depay ! decodebin ! autovideosink

gst-launch-0.10  filesrc location=test ! application/x-rtp, width=320,
height=240, framerate=25/1,
codec_data=0142000dffe1000c6742800dda0507e806d0a13501000468ce06e2,
stream-format=avc, media=video, encoding-name=H264, payload=96 !
rtph264depay byte-stream=false ! decodebin ! autovideosink

in the third decoding pipeline i straightaway get "internal data flow
error".

none of the decoding pipeline are able to decode the stream.
I got the value of codec_data from the logs in -v option of gst-launch.

I have read that codec_data needs to be parsed and added to each packet as
there is no start code in packetized frame. Will that have to be done
manually? Though, I thought h264parse should have been able to take care of
that.

Also the value 0142000dffe1000c6742800dda0507e806d0a13501000468ce06e2 of
codec_data has 00 00 00 1c 67. What does that signify? Does this data seem
alright or corrupted? 

Do i need to add something more to my encoding pipeline?

Thanks in advance for the help.!!

Regards,
Mansi



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Gstreamer-h264-encoding-packetized-frame-format-unable-to-decode-tp4668798.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list