務(wù)中 M3U8 鏈接日志打印、問題反饋該收集哪些信息)
一、用戶反饋視頻故障只說一句 “視頻打不開”線上用戶反饋播放異常很多時候反饋內(nèi)容就只有簡單一句話 “視頻打不開播放黑屏”。開發(fā)手上沒有任何有效信息很難復(fù)現(xiàn)問題來回反復(fù)找用戶要信息溝通效率很低。很多業(yè)務(wù)前端埋點(diǎn)日志打印不全故障上報只打印一句報錯文字沒有附帶關(guān)鍵上下文。拿到反饋之后開發(fā)不知道是哪一條 M3U8、什么瀏覽器、什么操作下出現(xiàn)的問題排查無從下手。很多新手不知道反饋一個 M3U8 播放故障最少需要收集哪些關(guān)鍵信息。把信息收集模板固定下來不管是用戶客服反饋還是前端埋點(diǎn)日志上報都按這套信息收集可以大幅減少來回溝通成本。當(dāng)拿到一條線上故障 M3U8我會把流地址放到 m3u8live.cn 網(wǎng)頁調(diào)試工具做基準(zhǔn)復(fù)現(xiàn)再結(jié)合用戶上報的瀏覽器、操作步驟、報錯信息綜合定位根因。二、M3U8 播放故障建議收集的完整信息清單1. 核心資源信息1完整 M3U8 播放地址包含全部 token 鑒權(quán)參數(shù)token 注意注意脫敏過期 token 備注過期時間 2流類型點(diǎn)播 / 直播 / DVR 時移 / AES?128 加密流。2. 復(fù)現(xiàn)操作步驟1用戶做了什么操作打開頁面直接播放切換視頻拖拽進(jìn)度切后臺再切回來 2現(xiàn)象描述打開直接黑屏播放一段時間黑屏拖拽之后花屏起播慢卡頓報錯彈窗文字。3. 環(huán)境信息1瀏覽器名稱以及版本號Chrome、Safari、Edge、移動端 WebView 2設(shè)備PC / 安卓手機(jī) /iPhone 3網(wǎng)絡(luò)環(huán)境4G、5G、WiFi 4頁面是 HTTPS 還是 HTTP。4. 技術(shù)報錯信息1hls.js 的錯誤 type、details、fatal 布爾值 2瀏覽器控制臺完整紅色報錯 3關(guān)鍵網(wǎng)絡(luò)請求狀態(tài)碼M3U8、TS 分片、密鑰接口的 HTTP 返回碼 4發(fā)生故障的大致時間點(diǎn)。提示token 如果有用戶隱私、時效性上報日志可以備注 token 是否已經(jīng)過期。三、不建議收集或者需要脫敏的內(nèi)容用戶隱私信息不要和播放故障日志混在一起上報密鑰完整二進(jìn)制內(nèi)容不要打印到日志避免密鑰泄露超長完整 M3U8 文本不要全部打印只保留訪問 URL。四、常見的錯誤反饋示范 vs 規(guī)范示范?很差反饋視頻打不開手機(jī)上看不了。沒有任何有效信息無法排查?規(guī)范反饋示例M3U8 地址xxxtoken 已過期流類型點(diǎn)播 復(fù)現(xiàn)步驟打開頁面直接點(diǎn)擊播放頁面黑屏轉(zhuǎn)圈 環(huán)境iPhone Safari網(wǎng)絡(luò) WiFi頁面 HTTPS 報錯MANIFEST_LOAD_ERRORfatal:trueM3U8 請求返回 403。拿到這套信息開發(fā)可以直接開展排查不用反復(fù)追問用戶。五、業(yè)務(wù)落地兩種場景場景 1客服、用戶問題反饋寫好反饋模板引導(dǎo)用戶按模板提供信息不要只收一句 “視頻打不開”。場景 2前端程序埋點(diǎn)日志上報播放器發(fā)生致命錯誤時程序自動把上面清單的字段上報到日志平臺。不要僅僅上報簡單中文提示帶上技術(shù)原始報錯字段方便線上回溯。六、簡單排查流程拿到完整 M3U8 地址放到網(wǎng)頁調(diào)試工具嘗試復(fù)現(xiàn)故障現(xiàn)象結(jié)合瀏覽器版本、操作步驟區(qū)分是流本身問題還是特定瀏覽器、特定操作才會復(fù)現(xiàn)看 details 錯誤類型看網(wǎng)絡(luò)狀態(tài)碼定位屬于加載、解密、解碼哪一類故障。七、總結(jié)線上 M3U8 播放故障如果只有一句 “視頻打不開”幾乎無法開展排查。不管是用戶客服反饋還是前端埋點(diǎn)日志上報要固定收集完整 M3U8 地址、流類型、復(fù)現(xiàn)操作步驟、設(shè)備瀏覽器環(huán)境、hls.js 原始報錯信息。借助網(wǎng)頁調(diào)試工具做流基準(zhǔn)驗證結(jié)合上報的上下文信息能夠快速定位故障減少大量來回溝通的時間提升線上問題處理效率。