Help pls RTSPtoWebRTC found error WriteHeader unable to start track, codec is not supported by remote but do receive sdp and support H264(update log)
yuchinchenTW opened this issue · 1 comments
yuchinchenTW commented
our environment:
Yocto kirkstone
Chromium 120.0.6099.224 stable
go version go1.20.14 linux/arm64
has tried rtsp with
gst-play-1.0 rtsp://admin:0000@192.168.120.7/live/h264 and the view we want has shown this proven our device support h264
when running RTSPtoWebRTC
we found out that the camera view did not comes appeared
here is how we debug:
in the http.go
we add log to print
func HTTPAPIServerStreamWebRTC(c *gin.Context) {
if !Config.ext(c.PostForm("suuid")) {
log.Println("Stream Not Found")
return
}
Config.RunIFNotRun(c.PostForm("suuid"))
codecs := Config.coGe(c.PostForm("suuid"))
if codecs == nil {
log.Println("Stream Codec Not Found")
return
}
log.Println("Codecs:", codecs)
var AudioOnly bool
if len(codecs) == 1 && codecs[0].Type().IsAudio() {
AudioOnly = true
}
muxerWebRTC := webrtc.NewMuxer(webrtc.Options{ICEServers: Config.GetICEServers(), ICEUsername: Config.GetICEUsername(), ICECredential: Config.GetICECredential(), PortMin: Config.GetWebRTC>
sdp := c.PostForm("data")
if sdp == "" {
log.Println("Error: No SDP data provided")
}
log.Println("Received SDP data:", sdp)
log.Println("Codec Supported WebRTC :", codecs[0].Type())
answer, err := muxerWebRTC.WriteHeader(codecs, c.PostForm("data"))
if err != nil {
log.Println("error happened no answer")
log.Println("WriteHeader", err)
return
}
log.Println("")
log.Println("Generated SDP answer:", answer)
turns out that
2024/06/24 06:01:02 Codecs: [{[1 66 0 40 255 225 0 22 103 66 0 40 233 0 160 4 13 113 32 1 183 116 0 51 127 152 3 98 4 37 1 0 4 104 206 49 82] {66 0 40 3 [[103 66 0 40 233 0 160 4 13 113 32 1 183 116 0 51 127 152 3 98 4 37]] [[104 206 49 82]]} {0 66 40 0 80 64 0 0 0 0 1280 1024 15}}]
2024/06/24 06:01:02 Received SDP data: dj0wDQpvPS0gMjM3MjAwMzQyMzc1MjIyODY4MyAyIElOIElQNCAxMjcuMC4wLjENCnM9LQ0KdD0wIDANCmE9Z3JvdXA6QlVORExFIDANCmE9ZXh0bWFwLWFsbG93LW1peGVkDQphPW1zaWQtc2VtYW50aWM6IFdNUw0KbT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDM5IDQwIDk4IDk5IDEwMCAxMDEgMTAyDQpjPUlOIElQNCAwLjAuMC4wDQphPXJ0Y3A6OSBJTiBJUDQgMC4wLjAuMA0KYT1pY2UtdWZyYWc6SnFVeQ0KYT1pY2UtcHdkOkl4T0JTdWljZytvMVA4bkJHYWZ6cEdHaQ0KYT1pY2Utb3B0aW9uczp0cmlja2xlDQphPWZpbmdlcnByaW50OnNoYS0yNTYgNEI6MDU6NDk6NTg6Nzg6QzM6QkQ6NTU6NEQ6MEQ6OUQ6QTk6NUI6NUQ6Mjk6REU6NzA6ODc6Qzc6NEU6QTU6RTk6QUU6OUM6QzI6OTY6Q0Q6NTg6NEM6MTA6MTk6NjYNCmE9c2V0dXA6YWN0cGFzcw0KYT1taWQ6MA0KYT1leHRtYXA6MSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDp0b2Zmc2V0DQphPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWUNCmE9ZXh0bWFwOjMgdXJuOjNncHA6dmlkZW8tb3JpZW50YXRpb24NCmE9ZXh0bWFwOjQgaHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1ob2xtZXItcm1jYXQtdHJhbnNwb3J0LXdpZGUtY2MtZXh0ZW5zaW9ucy0wMQ0KYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5DQphPWV4dG1hcDo2IGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L3ZpZGVvLWNvbnRlbnQtdHlwZQ0KYT1leHRtYXA6NyBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC92aWRlby10aW1pbmcNCmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2UNCmE9ZXh0bWFwOjkgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczptaWQNCmE9ZXh0bWFwOjEwIHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cnRwLXN0cmVhbS1pZA0KYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkDQphPXNlbmRyZWN2DQphPW1zaWQ6LSA1N2IxOWJmNS1mNGZmLTQ3MDUtYjNmNi1kOThmMGE0NDFmMWUNCmE9cnRjcC1tdXgNCmE9cnRjcC1yc2l6ZQ0KYT1ydHBtYXA6OTYgVlA4LzkwMDAwDQphPXJ0Y3AtZmI6OTYgZ29vZy1yZW1iDQphPXJ0Y3AtZmI6OTYgdHJhbnNwb3J0LWNjDQphPXJ0Y3AtZmI6OTYgY2NtIGZpcg0KYT1ydGNwLWZiOjk2IG5hY2sNCmE9cnRjcC1mYjo5NiBuYWNrIHBsaQ0KYT1ydHBtYXA6OTcgcnR4LzkwMDAwDQphPWZtdHA6OTcgYXB0PTk2DQphPXJ0cG1hcDozOSBBVjEvOTAwMDANCmE9cnRjcC1mYjozOSBnb29nLXJlbWINCmE9cnRjcC1mYjozOSB0cmFuc3BvcnQtY2MNCmE9cnRjcC1mYjozOSBjY20gZmlyDQphPXJ0Y3AtZmI6MzkgbmFjaw0KYT1ydGNwLWZiOjM5IG5hY2sgcGxpDQphPXJ0cG1hcDo0MCBydHgvOTAwMDANCmE9Zm10cDo0MCBhcHQ9MzkNCmE9cnRwbWFwOjk4IFZQOS85MDAwMA0KYT1ydGNwLWZiOjk4IGdvb2ctcmVtYg0KYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jYw0KYT1ydGNwLWZiOjk4IGNjbSBmaXINCmE9cnRjcC1mYjo5OCBuYWNrDQphPXJ0Y3AtZmI6OTggbmFjayBwbGkNCmE9Zm10cDo5OCBwcm9maWxlLWlkPTANCmE9cnRwbWFwOjk5IHJ0eC85MDAwMA0KYT1mbXRwOjk5IGFwdD05OA0KYT1ydHBtYXA6MTAwIHJlZC85MDAwMA0KYT1ydHBtYXA6MTAxIHJ0eC85MDAwMA0KYT1mbXRwOjEwMSBhcHQ9MTAwDQphPXJ0cG1hcDoxMDIgdWxwZmVjLzkwMDAwDQphPXNzcmMtZ3JvdXA6RklEIDMyNDA4MTQ5NzIgMTI1Mjc3MjMyNA0KYT1zc3JjOjMyNDA4MTQ5NzIgY25hbWU6cHMrN08rUXlZMytQOXphTA0KYT1zc3JjOjMyNDA4MTQ5NzIgbXNpZDotIDU3YjE5YmY1LWY0ZmYtNDcwNS1iM2Y2LWQ5OGYwYTQ0MWYxZQ0KYT1zc3JjOjEyNTI3NzIzMjQgY25hbWU6cHMrN08rUXlZMytQOXphTA0KYT1zc3JjOjEyNTI3NzIzMjQgbXNpZDotIDU3YjE5YmY1LWY0ZmYtNDcwNS1iM2Y2LWQ5OGYwYTQ0MWYxZQ0K
2024/06/24 06:01:02 Codec Supported WebRTC : H264
2024/06/24 06:01:02 Set ICEServers [stun:stun.l.google.com:19302]
2024/06/24 06:01:02 error happened no answer
2024/06/24 06:01:02 WriteHeader unable to start track, codec is not supported by remote
it seems like its does receive sdp but somehow stuck on
answer, err := muxerWebRTC.WriteHeader(codecs, c.PostForm("data"))
does anyone know why?
yuchinchenTW commented
nvm i just answer myself
due to
chromiumembedded/cef#3559
proprietary_codecs=true
ffmpeg_branding="Chrome"
it seems like the chromium browser does not include codec need to add flag and rebuild for H264