date: 2019-06-22 11:30:20
tags: bug
category: 遇到的各類bug
---php
今天遇到了極其尷尬的事情,參加軟件杯比賽,評委老師在審覈時候,給我打了一個電話,說程序運行出問題了,服務器端視頻沒法查看,保存的視頻路徑有問題。算法
1) 系統包括視頻採集端和視頻服務器端。視頻採集端從攝像頭獲取視頻,根據視頻畫面的變化率決定視頻發送到服務器的幀率。服務器接收視頻,並保存視頻文件到本地磁盤。視頻保存格式要求與HTML5協議兼容的mp4。ubuntu
2) 視頻採集端採用UDP協議,將視頻數據發送給服務器,以適應物聯網鏈接不安定的網絡特色。帶寬佔用的峯值按20k/s往上,每增長10k爲一檔,消耗帶寬越低的在帶寬子分項中評分越高。服務器
3) 視頻採集軟件在實現視頻變化檢測算法時,儘量的考慮各類干擾因素。在視頻沒有變化時採用固定幀率發送視頻,在有異常事物闖入形成視頻劇烈變化時,要儘快傳輸視頻。網絡
4) 視頻採集端建議採用樹莓派開發板(樹莓派3b+),攝像頭採用海康網絡設想頭(螢石 C6C 1080P雲臺網絡攝像機),要求不能改變視頻攝像頭原始分辨率。樹莓派安裝ubuntu MATE 操做系統,視頻採集軟件在樹莓派啓動後自動運行。並提供接入攝像頭IP的設置方法。操作系統
5) 能夠採用視頻採集端向服務器端發圖片的形式來下降帶寬消耗,但服務器端要將視頻從新鏈接成視頻,同時要保證與傳輸視頻一樣好的視覺效果。視頻
6) 服務器端接收到視頻後,若是能將視頻經過視頻發佈服務器(Red五、Nginx或其餘)再發布出來,可加分。圖片
編寫代碼時候,出於我的習慣,視頻保存的路徑習慣性的保存在F盤。而後評委說,他的沒有F盤。我......【】。get
其實這個路徑的問題我編寫的時候也有想到,我以爲可能沒有路徑,因此在編寫時候,寫了判斷盤符是否存在的代碼,可是沒有考慮到若是主盤符不在怎麼辦。
封裝時候也沒有想到把視頻保存的路徑寫到配置文件裏面。
之後寫代碼,不能理所固然的出於本身的習慣,要多考慮一下。
之後對於路徑的問題,直接保存在項目的根目錄。
配置文件儘可能寫好,考慮全面。
可能這個比賽,由於這個與獎項失之交臂,bug無處不在,生活充滿驚喜。不過收到了這個教訓,銘記。