Question about WiFi multicast over WiFi: x264enc + gstrtpbin
cee1
fykcee1 at gmail.com
Fri Sep 7 07:25:05 PDT 2012
Hi all,
I'm seeking a gstreamer based solution of screen multicast over WiFi.
I tried the following pipe:
* sender: ximagesrc -> videorate -> ffmpegcs -> x264enc -> rtph264pay
-> (send_rtp_sink_0)gstrtpbin(send_rtp_src_0) -> udpsink_rtpout
gstrtpbin(send_rtcp_src_0) -> udpsink_rtcpout
udpsrc_rtcpin -> (recv_rtcp_sink_0)gstrtpbin
* receiver: udpsrc_rtpin -> (recv_rtp_sink_0)gstrtpbin -> rtph264depay
-> ffdec264 -> xvimagesink
udpsrc_rtcpin -> (recv_rtcp_sink_0)gstrtpbin
gstrtpbin(send_rtcp_src_0) -> udpsink_rtcpout
It works badly: it seems most I frames are dropped, and I've read an
average of 18 /256 fraction lost from the receiver report.
I've already known that multicast over WiFi is only allowed to utilize
small part of the total bandwidth, and there's no ACK at datalink
level, so:
* I tried to decrease mtu of rtph264pay, and set max-rate of 8 of
videorate -- didn't help much.
* I tried to hardcode a 10ms delay after each udp sent in
gstmultiudpsink.c -- works but still not very well.
Is there any parameter can be tweaked to improve it?
It seems the rtcp function of gstrtpbin doesn't help much in my case.
It doesn't perform any QoS action, right?
--
Regards,
- cee1
More information about the gstreamer-devel
mailing list