bytedance / xgplayer

A HTML5 video player with a parser that saves traffic
https://h5player.bytedance.com/
MIT License
8.36k stars 871 forks source link

flv 播放h265 视频黑屏 #1399

Open LxbNNN opened 7 months ago

LxbNNN commented 7 months ago

您使用的西瓜播放器版本是多少? What version of xgplayer are you using? "xgplayer": "^3.0.16", "xgplayer-flv": "^3.0.16"

您使用的操作系统和浏览器分别是? What OS and browser are you using? macbook m1 Pro 谷歌浏览器:版本 124.0.6367.62(正式版本) (arm64)

如何复现问题? How to reproduce the problem? 使用h265流 flv 播放 产生黑屏 看请求数据 正常 在拉取流 ,但无法播放,使用srs流媒体,h264能正常播放

image

您期望的播放器正常行为是? What did you expect to happen? 正常播放

实际播放器的表现是? What actually happened? 黑屏

可填写您所在的公司和相关产品业务,方便我们提供更好的技术支持 You can write your company and product which uses xgplayer, for helping us provide better technical support.

gemxx commented 6 months ago

@LxbNNN 方便提供一下flv测试文件吗?

LxbNNN commented 6 months ago

@LxbNNN方便提供一下flv测试文件吗? 公司内网 用的海康摄像头 然后推流到srs流媒体服务器上 转的flv, 海康摄像头后台设置了h264可以正常播放 h265后就出现黑屏的情况 但flv请求数据在正常拉取

gemxx commented 6 months ago

@LxbNNN 方便提供一下有问题media的日志吗?在 chrome://media-internals/ 找到对应的播放player,然后点save log

mlongv commented 6 months ago

您使用的西瓜播放器版本是多少? What version of xgplayer are you using? "xgplayer": "^3.0.17", "xgplayer-flv": "^3.0.17"

您使用的操作系统和浏览器分别是? What OS and browser are you using? macbook Pro 2015 谷歌浏览器:124.0.6367.209(正式版本) (x86_64)

如何复现问题? How to reproduce the problem? WechatIMG245

XiongAmao commented 6 months ago

media-internals.txt 我这边遇到相同的情况,通过 OBS hevc -> SRS -> web,会出现黑屏的情况 测试用的前端为demo改为最新的xgplayer版本 https://h5player.bytedance.com/examples/?type=vod&plugin=xg-flv

设备: thinkbook 2023 7735hs chrome 版本 125.0.6422.77(正式版本) (64 位) Edge 版本 126.0.2592.24 (正式版本) stable应用,beta频道 (64 位)

# SRS 启动脚本
docker run --rm -it -p 1935:1935 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:6 ./objs/srs -c conf/hevc.flv.conf
LxbNNN commented 6 months ago

@LxbNNN方便提供一下问题媒体的日志吗?在 chrome://media-internals/ 找到相应的播放器,然后点保存日志

流媒体是m7s,摄像头是海康,264正常播放 ,265黑屏。 这个是h265的: media-internals (2).txt

这个是h264的: media-internals (4).txt

syjf commented 3 months ago

@LxbNNN方便提供一下问题媒体的日志吗?在 chrome://media-internals/ 找到相应的播放器,然后点保存日志

流媒体是m7s,摄像头是海康,264正常播放 ,265黑屏。 这个是h265的: media-internals (2).txt

这个是h264的: media-internals (4).txt

请教一下,h265的视频怎么检测是h265的

HeaveNsHzj commented 2 months ago

这个推流出来的数据格式应该是 enhanced-rtmp,现在flvplugin应该不支持这个格式。

用ffmpeg 7.0.1转码出来的,播放器也是黑屏。 "ffmpeg -i input.mp4 -c:v libx265 -flvflags add_keyframe_index output.hevc.flv"

image
HeaveNsHzj commented 2 months ago

根据enhanced-rtmp的文档,第1个bit是1就是enhanced-rtmp的格式了,这里frameType 9 0b1001,显然就是enhanced-rtmp的文件了,(我本地文件是通过上面的ffmpeg命令转码出来的)。

这个推流出来的数据格式应该是 enhanced-rtmp,现在flvplugin应该不支持这个格式。

用ffmpeg 7.0.1转码出来的,播放器也是黑屏。 "ffmpeg -i input.mp4 -c:v libx265 -flvflags add_keyframe_index output.hevc.flv"

image