rtph264pay: aggregate-mode=zerolatency does not work with Chrome (
When enabling logs, Chrome prints the following over and over again and nothing else.
[406344:15:0604/080643.626376:WARNING:video_rtp_depacketizer_h264.cc(226)] Received packet containing more than 10 NAL units. Will not keep track sps and pps ids for all of them. [406344:15:0604/080643.950581:WARNING:video_receive_stream2.cc(788)] No decodable frame in 200 ms, requesting keyframe.
Sometimes it's displaying a few frames, most of the time it just hangs.
chrome://webrtc-internals shows that it receives packets, can't decode them and sends PLIs all the time.
This can be reproduced with the webrtc-unidirectional-h264 example with some minor changes to get a very low complexity stream. Using a plain black videotestsrc makes it even worse. Note that you might have to right-click in Chrome, enable controls and then click on the "play" button due to restrictive autoplay rules.
diff --git a/webrtc/sendonly/webrtc-unidirectional-h264.c b/webrtc/sendonly/webrtc-unidirectional-h264.c index 593d861..07abceb 100644 --- a/webrtc/sendonly/webrtc-unidirectional-h264.c +++ b/webrtc/sendonly/webrtc-unidirectional-h264.c @@ -22,7 +22,7 @@ #ifdef G_OS_WIN32 #define VIDEO_SRC "mfvideosrc" #else -#define VIDEO_SRC "v4l2src" +#define VIDEO_SRC "videotestsrc pattern=ball" #endif gchar *video_priority = NULL;
Streams with more complexity don't show this problem so much.