Comments (25)
OK 我看下
from h265web.js.
你的265 codec stream没问题;但是format有问题,导致slice解析失败; ffplay是一个端上的播放器,相对会兼容更多badcase;
你这个case我转了一下就没问题了
ffmpeg -i data.h265 -vcodec libx265 -vtag hev1 -y test.h265
我不知道你端上硬编码是有那些设置。好的,端上编码这块我也不太清楚,我在研究下。想问下这个format是指什么呢?
你这个应该是annxeb的我没仔细看,看错误是没有解出来其中的slice,所以出现了绿屏,部分宏块解码失败,重新编码之后就OK了,你是c/cpp直接编码的吗? 应该有一些配置项需要改;或者ffmpeg软编试一下
我这边又看了一下,发现是手机编码的问题,经过转码就可以播放了。多谢帮助了!
应该的,能帮到你 我其实更加开心 ~ 有问题可以随时问~
from h265web.js.
test case 视频方便发一下吗?或者media info给我,我参考一个复现
from h265web.js.
test case 视频方便发一下吗?或者media info给我,我参考一个复现
我这边是把手机的投屏流通过websocket推到这个播放器里面的,不是一个现成的视频。想问下你这边之前long run都是没有问题的是吗?
还有一个我想问下,就是我发现这个视频他的播放和我推送的速度有一定延迟,想问下这个是解码的延迟吗?每一帧的解码大概需要多久呢请问?
from h265web.js.
websocket推送?是HEVC的流吗?解码一帧没时间限制
from h265web.js.
websocket推送?是HEVC的流吗?解码一帧没时间限制
嗯嗯是的,我这边是使用ffmpeg来编码的HEVC流,我把这个工程稍微改了一点,改成从websocket中读取数据。前20分钟左右播放是没问题的,大概20分钟的时候就会出现memory access out of bounds的问题。
这个是第一个问题,然后第二个问题和上面这个没关系,我就是发现这个视频在前端播放出来比前端收到数据要有1-2s左右的延迟。想问下这个前端解码大概时间需要多久呢,这个1-2s左右的延迟是符合预期的吗?还是说我有哪里没设置对呢请问?
from h265web.js.
解码时间可以忽略,不然播放器24帧1s来肯定会卡,你的配置是什么样子的
from h265web.js.
解码时间可以忽略,不然播放器24帧1s来肯定会卡,你的配置是什么样子的
OK。我这边播放器的配置是这样子的
var type = "raw265";
var url265raw = "ws://127.0.0.1:18800/websocket/hevc/74605ad8";
var config = {
type: type,
player: "glplayer",
width: 1552,
height: 720,
accurateSeek : true,
token : token,
extInfo : {
readyShow : true,
rawFps : 60
}
};
其中60fps是要略大于我这边喂的视频流fps的
然后我这边websocket里面的数据是字节流,我这边对于play.js稍微做了一点修改。我本身不是做前端的,不太清楚改的是不是正确的,修改的部分如下。
var fileStart = 0;
var startFetch = false;
var networkInterval = window.setInterval(function () {
if (!startFetch) {
startFetch = true;
var h265_stream
h265_stream = new WebSocket(url265);
h265_stream.addEventListener('message',function(event) {
if (h264_stream.readyState === WebSocket.OPEN) {
event.data.arrayBuffer().then(function(buffer) {
var uint8View = new Uint8Array(buffer);
h265webjs.append265raw(uint8View)
});
}
})
}
}, 1);
from h265web.js.
1)想加快起播时间可以把 readyShow设置为false
2)关于 memory的问题 我觉得可能是内存泄露 这里我check一下
from h265web.js.
1)想加快起播时间可以把 readyShow设置为false
2)关于 memory的问题 我觉得可能是内存泄露 这里我check一下
好的,辛苦,我也来研究一下是不是我哪里配置的有问题。
from h265web.js.
我这里测试了一下,内存方面,265raw play mode没有发现有问题目前,你check下websocket方面是否有没有释放的内存?
from h265web.js.
补充一个细节,着你websocket是一帧一帧 append的吗?如果是一帧一帧,那么可以不用走这套播放器,直接用底层解码能力
https://github.com/numberwolf/h265web.js-wasm-decoder 这个是底层解码器
from h265web.js.
我这里测试了一下,内存方面,265raw play mode没有发现有问题目前,你check下websocket方面是否有没有释放的内存?
好的,我当时大概是会在20min左右的时候出现问题。我今天没来及看,我明天拉我这边懂前端的朋友帮忙一起看下是不是我这边的问题。多谢了!
from h265web.js.
补充一个细节,着你websocket是一帧一帧 append的吗?如果是一帧一帧,那么可以不用走这套播放器,直接用底层解码能力
https://github.com/numberwolf/h265web.js-wasm-decoder 这个是底层解码器
我这边应该是一帧一帧append在一起的,sps和pps好像是和I帧合在一起发送的,我需要再看下。
这个底层解码器我明天一并试一下,thanks。
from h265web.js.
对的,我sdk里面的方法是非帧类型 流式的,所以会耗费时间,这里我觉得你既然是完整的NALU 可以直接用底层解码器,一帧一帧喂进去
from h265web.js.
对的,我sdk里面的方法是非帧类型 流式的,所以会耗费时间,这里我觉得你既然是完整的NALU 可以直接用底层解码器,一帧一帧喂进去
我这边遇到另一个问题,就是我通过手机硬编码输出的视频流喂进去之后出现了只显示左半边的情况,然后右半边是绿色的,同时console里面会打印First slice in a frame missing.的错误日志
我这边喂进去的数据开头是这样的
buffer 1:
0 0 0 1 64 (vps)
0 0 0 1 66 (sps)
0 0 0 1 68 (pps)
buffer 2:
0 0 0 1 38 (IDR)
.....
请问这个对于我的视频输入格式有什么要求吗?
from h265web.js.
emmm....你要不把你的流保存一下看一下,我是随便ffmpeg转一个265都可以,所以需要check一下硬编码出来的265 raw data
from h265web.js.
ffmpeg -i input.mp4
-vcodec libx265 -pix_fmt yuv420p
-an
-maxrate 1000k -bufsize 1000k
-vtag hev1
-y video.h265
from h265web.js.
对了 vps+sps+pps+IDR 作为一个buffer传进去也可以试一下; 然后你也可以把你的流文件发我 我看一下
from h265web.js.
对了 vps+sps+pps+IDR 作为一个buffer传进去也可以试一下; 然后你也可以把你的流文件发我 我看一下
好的多谢,我先试一下;不行的话我发一个流文件好了,thanks.
from h265web.js.
对了 vps+sps+pps+IDR 作为一个buffer传进去也可以试一下; 然后你也可以把你的流文件发我 我看一下
我这边拼在一起了好像还是不行,拼在一起之后第一帧是
buffer 1:
0 0 0 1 64 (vps)
0 0 0 1 66 (sps)
0 0 0 1 68 (pps)
0 0 0 1 38 (IDR)
这边看到依然是绿色,并且有报错 First slice in a frame missing,这边是我自己存出来的裸流文件
data.h265.zip
我这边直接用ffplay来播放这个文件倒是可以的,辛苦帮看看我这边是不是哪里没配置对
from h265web.js.
你的265 codec stream没问题;但是format有问题,导致slice解析失败; ffplay是一个端上的播放器,相对会兼容更多badcase;
你这个case我转了一下就没问题了
ffmpeg -i data.h265 -vcodec libx265 -vtag hev1 -y test.h265
我不知道你端上硬编码是有那些设置。
from h265web.js.
你的265 codec stream没问题;但是format有问题,导致slice解析失败; ffplay是一个端上的播放器,相对会兼容更多badcase;
你这个case我转了一下就没问题了
ffmpeg -i data.h265 -vcodec libx265 -vtag hev1 -y test.h265
我不知道你端上硬编码是有那些设置。
好的,端上编码这块我也不太清楚,我在研究下。想问下这个format是指什么呢?
from h265web.js.
你的265 codec stream没问题;但是format有问题,导致slice解析失败; ffplay是一个端上的播放器,相对会兼容更多badcase;
你这个case我转了一下就没问题了
ffmpeg -i data.h265 -vcodec libx265 -vtag hev1 -y test.h265
我不知道你端上硬编码是有那些设置。好的,端上编码这块我也不太清楚,我在研究下。想问下这个format是指什么呢?
你这个应该是annxeb的我没仔细看,看错误是没有解出来其中的slice,所以出现了绿屏,部分宏块解码失败,重新编码之后就OK了,你是c/cpp直接编码的吗? 应该有一些配置项需要改;或者ffmpeg软编试一下
from h265web.js.
你的265 codec stream没问题;但是format有问题,导致slice解析失败; ffplay是一个端上的播放器,相对会兼容更多badcase;
你这个case我转了一下就没问题了
ffmpeg -i data.h265 -vcodec libx265 -vtag hev1 -y test.h265
我不知道你端上硬编码是有那些设置。好的,端上编码这块我也不太清楚,我在研究下。想问下这个format是指什么呢?
你这个应该是annxeb的我没仔细看,看错误是没有解出来其中的slice,所以出现了绿屏,部分宏块解码失败,重新编码之后就OK了,你是c/cpp直接编码的吗? 应该有一些配置项需要改;或者ffmpeg软编试一下
我这边又看了一下,发现是手机编码的问题,经过转码就可以播放了。多谢帮助了!
from h265web.js.
Related Issues (20)
- 这个h265webjs库里面的有一个发请求的链接可否去掉 HOT 4
- 视频播放等待时间长 HOT 3
- 每次关闭视频再播放时都需要重新加载
- h265web.js用的FFmpeg4.2.3是原生版本吗?
- 关于在Mac M2芯片的goole浏览器上的播放问题
- 播放WS-FLV(LIVE) 视频编码H264,音频编码G711A的直播流时,音频解析失败
- 怎么在没有硬解码的电脑上播放H265视频呢
- Issue with MP4 Videos and Codecs
- vue3 + vite, window.new265webjs is not a function HOT 2
- 编译ffmpeg的时候,提示ffmpeg_g这个文件找不到 HOT 1
- 播放h265流的时候,player.resize和player.snapshot方法报错
- 创建播放器 创建出来的就只有一个空的黑色的div是社么问题? HOT 2
- chrome 无法播放H265协议视频 HOT 4
- 未提供视频流地址,怎么展示播放按钮?
- 不能播放.h264格式的视频文件
- 这样操作不会有版权问题吗
- 国产统信操作系统播放异常 HOT 2
- 能否作为mse库整合入其他播放器
- 使用此款插件只能在联网环境下使用吗
- 切片报错: e.getContext is not a function
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from h265web.js.