Floating point exception using x264enc in rtp stream receiver

Yisus j.avileses at gmail.com
Tue Oct 1 04:06:07 PDT 2013


 Hi, I am trying to receive a rtp video stream  encoded with h264 to resend
this to a rtmp publisher server. I transcoding h264-h264 because I would
like introduces a videoscale and a videorate (this will be the next step).
When the pipeline starts to process the video a floating point exception
appears in the gstreamer log. I think the problem is the element x264enc
because when I use other encoder such as  ffenc_flashsv the pipeline works
well.

Receiver pipeline (not working):  

VIDEO_CAPS="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264"
VIDEO_DEC="rtph264depay  ! ffdec_h264"
VIDEO_SINK="x264enc byte-stream=true tune=4 ! flvmux streamable=true ! queue
! rtmpsink location="rtmp://192.168.0.20:1234/live-0.0/prueba live=1""
DEST=192.168.0.20
LATENCY=200

gst-launch-0.10 --gst-debug-level=3 -v gstrtpbin name=rtpbin
latency=$LATENCY                                \
udpsrc caps=$VIDEO_CAPS port=5000 ! rtpbin.recv_rtp_sink_0                     
\
rtpbin. ! $VIDEO_DEC ! $VIDEO_SINK                                           
\
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0                                     
\
rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=$DEST sync=true async=false


Sender pipeline:

DEST=192.168.0.20
VOFFSET=0

VELEM="filesrc location=/var/myliveserve/Tintin-QCIF.mp4 ! decodebin"
VCAPS="video/x-raw-yuv,width=176,height=144,framerate=15/1"
VSOURCE="$VELEM ! queue ! videorate ! queue ! videoscale ! ffmpegcolorspace
! $VCAPS"
VENC="x264enc bitrate=54 ! rtph264pay pt=96"

VRTPSINK="udpsink port=5000 host=$DEST ts-offset=$VOFFSET name=vrtpsink"
VRTCPSINK="udpsink port=5001 host=$DEST sync=true async=false
name=vrtcpsink"
VRTCPSRC="udpsrc port=5005 name=vrtpsrc"

gst-launch-0.10 -v --gst-debug-level=3 gstrtpbin name=rtpbin \
    $VSOURCE ! $VENC ! rtpbin.send_rtp_sink_0                                            
\
        rtpbin.send_rtp_src_0 ! $VRTPSINK                                                
\
        rtpbin.send_rtcp_src_0 ! $VRTCPSINK                                              
\
      $VRTCPSRC ! rtpbin.recv_rtcp_sink_0



Receiver pipeline with ffenc_flashsv (works well):

VIDEO_CAPS="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264"
VIDEO_DEC="rtph264depay ! h264parse ! ffdec_h264"
VIDEO_SINK="ffenc_flashsv ! queue ! flvmux streamable=true ! queue !
rtmpsink location="rtmp://192.168.0.206:5566/live-0.0/prueba live=1""

DEST=192.168.0.20
LATENCY=200

gst-launch-0.10 --gst-debug-level=3 -v gstrtpbin name=rtpbin
latency=$LATENCY                                \
    udpsrc caps=$VIDEO_CAPS port=5000 ! rtpbin.recv_rtp_sink_0                     
\
      rtpbin. ! $VIDEO_DEC ! $VIDEO_SINK                                           
\
    udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0                                     
\
      rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=$DEST sync=true
async=false


When I use x264enc gives the following error:

/GstPipeline:pipeline0/GstRtpBin:rtpbin/GstRtpPtDemux:rtpptdemux0.GstPad:sink:
caps = application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264
0:00:22.847377784  2680      0x252b5a0 INFO        GST_ELEMENT_PADS
gstelement.c:728:gst_element_add_pad:<rtpptdemux0> adding pad 'src_96'
0:00:22.847509815  2680      0x252b5a0 INFO                GST_PADS
gstpad.c:1978:gst_pad_link_prepare: trying to link rtpptdemux0:src_96 and
recv_rtp_src_0_3545013520_96:proxypad3
0:00:22.847531496  2680      0x252b5a0 INFO                GST_PADS
gstpad.c:2161:gst_pad_link_full: linked rtpptdemux0:src_96 and
recv_rtp_src_0_3545013520_96:proxypad3, successful
0:00:22.847570497  2680      0x252b5a0 INFO        GST_ELEMENT_PADS
gstelement.c:728:gst_element_add_pad:<rtpbin> adding pad
'recv_rtp_src_0_3545013520_96'
0:00:22.847593585  2680      0x252b5a0 INFO            GST_PIPELINE
./grammar.y:496:gst_parse_found_pad: trying delayed linking rtpbin:(NULL) to
rtph264depay0:(NULL)
0:00:22.847615396  2680      0x252b5a0 INFO        GST_ELEMENT_PADS
gstutils.c:1698:gst_element_link_pads_full: trying to link element
rtpbin:(any) to element rtph264depay0:(any)
0:00:22.847635807  2680      0x252b5a0 INFO                GST_PADS
gstutils.c:1032:gst_pad_check_link: trying to link
rtpbin:recv_rtp_src_0_3545013520_96 and rtph264depay0:sink
0:00:22.847670421  2680      0x252b5a0 INFO                GST_PADS
gstutils.c:1596:prepare_link_maybe_ghosting: rtpbin and rtph264depay0 in
same bin, no need for ghost pads
0:00:22.847694578  2680      0x252b5a0 INFO                GST_PADS
gstpad.c:1978:gst_pad_link_prepare: trying to link
rtpbin:recv_rtp_src_0_3545013520_96 and rtph264depay0:sink
0:00:22.847784531  2680      0x252b5a0 INFO                GST_PADS
gstpad.c:2161:gst_pad_link_full: linked rtpbin:recv_rtp_src_0_3545013520_96
and rtph264depay0:sink, successful
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps =
video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps =
application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264, payload=(int)96
/GstPipeline:pipeline0/GstRtpBin:rtpbin.GstGhostPad:recv_rtp_src_0_3545013520_96.GstProxyPad:proxypad3:
caps = application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264, payload=(int)96
0:00:22.848047972  2680      0x252b5a0 INFO               GST_EVENT
gstevent.c:600:gst_event_new_new_segment_full: creating newsegment update 0,
rate 1.000000, format GST_FORMAT_TIME, start 0:00:00.000000000, stop
99:99:99.999999999, position 0:00:00.000000000
/GstPipeline:pipeline0/ffdec_h264:ffdec_h2640.GstPad:sink: caps =
video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
/GstPipeline:pipeline0/ffdec_h264:ffdec_h2640.GstPad:src: caps =
video/x-raw-yuv, width=(int)176, height=(int)144, framerate=(fraction)0/1,
format=(fourcc)I420, interlaced=(boolean)false,
pixel-aspect-ratio=(fraction)1/1
0:00:22.850228702  2680      0x252b5a0 INFO                 x264enc
:0::<x264enc0> using SAR=1/1

Floating point exception



What am I doing wrong here and how can I fix it.

Thanks in advance





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Floating-point-exception-using-x264enc-in-rtp-stream-receiver-tp4662284.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list