Issue with h264depay and avdec_h264 when using rtpulpfecenc/dec !
Submitted by Dark_Knight
Link to original bug (#796929)
Description
Created attachment 373283
Sample code for FEC sender and receiver with h264
Hello All,
I am currently working on adding elements rtpulpfecenc and rtpulpfecdec
to my sender and receiver pipelines respectively. The example program for
these were written in rust and uses rtpvp8pay /depay along with vp8enc
and vp8dec . Since my application is only compatible with
rtph264pay/depay ,I have used ,
Sender:
filesrc >> decodebin >> videoconvert >> queue >> rtph264pay >> Queue >>
rtpbin ( rtpulpfecenc > rtpsession ) >> udpsink
Receiver :
udpsrc>> netsim >>rtpbin ( funnel > rtpsession > rtpstorage > rtpssrcdemux >
rtpjitterbuffer > rtpptdemux > rtpulpfecdec ) >> rtph264depay >> h264parse
capsfilter >> *decodebin *>>videoconvert >> videoscale >> capsfilter >>
x264enc >> matroskamux >> filesink
I am setting the fec percentage as 10 on sender and drop as 1 % on receiver
side , I am getting the ratio of packets unrecovered : recovered , But Issue
is that decode bin at the receiver side uses *avdec_h264 *internally as
decoder , it is producing the following errors,
/0:00:09.053600607 26017 0x7f7f6c003230 ERROR libav :0:: {] Missing
reference picture, default is 0
0:00:09.053652680 26017 0x7f7f6c003230 ERROR libav :0:: {]
decode_slice_header error
0:00:09.118489816 26017 0x7f7f6c003230 ERROR libav :0:: {] Missing reference
picture, default is 2
0:00:09.641810087 26017 0x7f7f6c003230 ERROR libav :0:: {]
decode_slice_header error
0:00:09.657737341 26017 0x7f7f6c003230 ERROR libav :0:: {] Missing
reference/
Attached below is the logs related to the same :
log_with_decode_bin_ERROR_.txt
http://gstreamer-devel.966125.n4.nabble.com/file/t378456/log_with_decode_bin_ERROR_.txt
The Dot diagram for the following is also attached :
SERVER:
http://gstreamer-devel.966125.n4.nabble.com/file/t378456/server_h264.png
CLIENT:
http://gstreamer-devel.966125.n4.nabble.com/file/t378456/client_h264.png
Is there any elements that I need to add when i use other pay/depay instead
of VP8 ,or is this because of any wrong configuration? /
Please Help me with this situation,
Eagerly Waiting for a response.
Sample code for sender and receiver is also attached below:
Regards,
Nithin Pradeep.
Attachment 373283, "Sample code for FEC sender and receiver with h264":
Fec_Sender_Receiver.rar