視頻播放器播放 flv 報錯
[TransmuxingController] > DemuxException: type = CodecUnsupported, info = Flv: Unsupported codec in video frame: 12
原因
主要是因為我們的播放器不支持 H.265 視頻編碼;
解決辦法
方法一:將設備端的視頻編碼改為 H.264
方法二:更換播放器(eg :EasyPlayer.js)
EasyPlayer.js 集播放 http-flv, hls, websocket 于一身的 H5 視頻直播/視頻點播播放器, 使用簡單, 功能強大;
但是播放 H.265 的視頻流需要 EasyPlayer.wasm 文件,該文件只能在 Nginx 服務下才可以使用;
有服務器的小伙伴可以直接在服務器上操作,這里和大家分享:如何在本地搭建一個EasyPlayer 的H5 demo,并播放H.265的視頻流
1. 下載一個 Nginx 服務
-
地址: http://nginx.org/en/download.html
隨便選擇一個即可,這里我們選擇 nginx-1.18.0
-
下載之后直接解壓即可
-
啟動 Nginx,可使用下面兩種方法
-
直接雙擊nginx.exe,雙擊后一個黑色的彈窗一閃而過;
-
打開 cmd 命令窗口,切換到 nginx 解壓目錄下,輸入命令 nginx.exe 或者 start nginx ,回車即可
-
-
在瀏覽器地址欄輸入網(wǎng)址 http://localhost:80,回車,出現(xiàn)以下頁面說明啟動成功
-
關閉 Nginx,如果使用 cmd 命令窗口啟動 Nginx,關閉 cmd 窗口是不能結(jié)束 Nginx 進程的,可使用下面兩種方法關閉 Nginx
-
輸入nginx 命令 nginx -s stop(快速停止 Nginx) 或 nginx -s quit(完整有序的停止 Nginx)
-
使用 taskkill /f /t /im nginx.exe
-
-
Nginx 默認監(jiān)聽的是本地的 80 端口,如果 80 端口被占用大家可以在 nginx-1.18.0/conf/nginx.conf 修改端口,然后重新啟動
-
重啟命令 nginx -s reload
2. 在 npm上下載最新的 EasyPlayer
-
地址:https://www.npmjs.com/package/@easydarwin/easyplayer
-
找一個空文件夾,打開 cmd 直接址行命令即可
-
將 node_modules@easydarwin\easyplayer\dist\element 里的所有文件全部復制到 nginx 里的 html 里,并將之前的 index.html 移除即可
-
然后啟動 Nginx 服務
-
將 EasyPlayer 的流地址更換為我們自己的即可
-
如果流地址沒問題,但畫面沒出來,大家可以刷新一下再試試, 我在播放的時候控制臺有時候也有錯,畫面也是斷斷續(xù)續(xù)的,不知道是不是因為網(wǎng)不好或者 nginx 在本地的原因;
-
EasyPlayer github 地址,上面的 demo 案例比較全面,有興趣的小伙伴可以看看 :https://github.com/tsingsee/EasyPlayer.js文章來源:http://www.zghlxwxcb.cn/news/detail-492323.html
-
僅供大家參考,如果大家有好的 H.265 視頻流播放器,歡迎各位留言;文章來源地址http://www.zghlxwxcb.cn/news/detail-492323.html
到了這里,關于flv 報錯 Unsupported codec in video frame: 12的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!