背景
偶然遇见了flask框架,小试了一下,几行代码就达到了预期的效果,感觉不错,现在尝试一下,实现视频流的实时展示,填了几个坑,终于顺畅了,总结一下。
填坑记录
1、如何自定义端口
flask并没有系统去学习,只是用来解决实际问题中应用了一下,刚开始都是使用的默认端口,这次想尝试一下自定义端口,查阅了手册,自定义端口如下:
app.run(host='0.0.0.0', port=9001)
2、url_for遇到的问题
在写前端页面与后端路由接口的时候遇到了一个问题,具体问题如下:
排查问题时,我仔细检查了前端请求路径与后端路由路径,没有问题,但是就是报这个错,后来百度了一下,原来url_for是flask自带的一种方式,应用的过程中除了保持前端请求路径与后端路由路径相一致,还要保证路由路径与函数名要一致,而再次查看我的函数名是video_one,路由路径是video_feed,将函数名改成video_one后,程序正常了,这个要谨记
3、帧不全问题
视频流由于网络的原因,经常会出现图片无法解码的问题,这次也不例外,遇到了这个问题,目前的解决方案分了两步骤:
(1)加了一个判断并在读取成功时才获取帧图片
(2)在前端网页加了一个定时刷新,避免出现帧报错问题,页面卡死
目前在运行的过程中暂时没有发现卡死报错问题,但是这种解决方式并没有从本质上解决帧不完整的问题,还需要进一步改进,如果有大牛知道如何改进,还望不吝赐教,谢谢!