记一次推流停止问题分析过程

问题 :Rk3568实现rtsp推流,概率出现推流停止

推流流程:camera2 通过Imagereader取流,转成nv12格式图像数据,送入mediacodec编码,编码完成后,送入rtspserver进行推流操作,在通过vlc客户端拉流。

分析过程:

1,通过log确认onImageAvailable 取流停止,CameraDevice.StateCallback 返回onerror错误,确定是取流停止导致。

2.怀疑散热导致,抓取温度传感器,确实soc达到高温73度,加外置风扇前后,降温到了57度。但是问题还是会复现,温度排除。

for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(cat $i/temp)"; done


3568的三个温度传感器位置

thermal_zone0 = soc-thermal

thermal_zone1 = gpu-thermal

thermal_zone2 =test_battery

查看日志发现系抓图超时导致,6911读取视频信号没有返回,进行了断流操作

07-16 16:41:26.188 E/RkCamera(  279): <HAL> V4L2DevBase: @pollDevices: Device[0] /dev/video0 poll failed (3000ms timeout)


串口日志查看,会出现和拔出HDMI视频线同样的log,分析系传输线不稳定导致,更换视频线

[16:41:24.272]收←◆

Goto PCR

RxState = 10

[INFO ] RX Set Event:04

[INFO ] TxEvent-4

[DEBUG] TxState = 0x03

[INFO ] DPRX_VIDEO_OFF_EVENT

[INFO ] MIPIVidInfoClear!!!!!!

[INFO ] Mipi Out Disable

测试15H没有出现断流,问题出在全功能数据线,信号不稳定导致的6911读取视频信号失败,导致camera取流停止,推流停止。

结论:数据线有问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容