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