WHIP H264 no image

208 views
Skip to first unread message

Tobias Hnyk

unread,
Jun 21, 2022, 6:02:28 AM6/21/22
to meetecho-janus
I have been testing the whip client and gstreamer and vp8 works great. However i cannot get h264 to work.

The whip client shows up in the video room as usual but no video is displayed. Admin logs of the handle. At first a blank screen is visible for a few seconds before it switches to "no remote video available". Which sounds like similar behaviour to this post.

For a successful startup of the client I have to force the h264 codec in janus.plugin.videoroom.jcfg.

My gstreamer pipeline is:
"videotestsrc ! queue ! nvh264enc ! queue ! rtph264pay ! queue ! application/x-rtp,media=video,encoding-name=H264,payload=96"

A local test with the pipeline:
"gst-launch-1.0 videotestsrc ! queue ! nvh264enc  ! queue ! rtph264pay ! queue ! udpsink host=10.0.2.62 port=5000" is working fine. The stream can be viewed with vlc and the sdp posted here.

Any help on where my mistake is would be greatly appreciated :)


Lorenzo Miniero

unread,
Jun 21, 2022, 9:16:30 AM6/21/22
to meetecho-janus

Tobias Hnyk

unread,
Jun 22, 2022, 8:18:09 AM6/22/22
to meetecho-janus
I already did that. Otherwise the WHIP client stops during the connection setup.

Lorenzo Miniero

unread,
Jun 22, 2022, 8:30:25 AM6/22/22
to meetecho-janus
The try enforcing baseline as the H.264 profile, browsers are picky in what they accept when it comes to H.264.

L.

Tobias Hnyk

unread,
Jun 27, 2022, 11:10:45 AM6/27/22
to meetecho-janus
I enabled the setting in the video room jcfg (42e01f). Now there is a new error:

[ERR] [janus.c:janus_process_incoming_request:1494] Error processing SDP
[ERR] [sdp.c:janus_sdp_process_remote:324] [7092938514351656] SDP missing mandatory information

A log of the admin api handle is here.

Gstreamer pipeline: videotestsrc ! videoconvert ! queue ! nvh264enc ! video/x-h264,profile=constrained-baseline ! queue ! rtph264pay ! queue ! application/x-rtp,media=video,encoding-name=H264,payload=96

Lorenzo Miniero

unread,
Jun 28, 2022, 4:10:09 AM6/28/22
to meetecho-janus
No need to set the profile in the room, just enforcing it in the pipeline should be enough. That said, I don't have nvh264enc, but if I replace it with x264enc it just works, and I can see video. Your Admin API dump shows a successful session with media coming in, which means the problem in your case is with the encoded H.264 media that the browser doesn't like. This means it's not a Janus problem, but a codec one.

L.

Tobias Hnyk

unread,
Jun 29, 2022, 3:55:14 AM6/29/22
to meetecho-janus
Alright, thanks a lot for your time and effort.

This is off topic but do you by chance know what gstreamer plugin is best to use, if one wants a hardware accelerated H.264 encoder?

Lorenzo Miniero

unread,
Jun 29, 2022, 4:15:55 AM6/29/22
to meetecho-janus
No idea, sorry. I'm not saying nvh264enc won't work, but that you'll probably have to tweak its settings to find something that browsers can digest.

L.
Reply all
Reply to author
Forward
0 new messages