播放的flv直播流没有声音的时候画面会卡住或者就没有画面。
longjieha opened this issue · 6 comments
有没有外网可以访问的flv测试地址?
无声流:http://119.29.152.247:81/live?app=demo&stream=stream-1
有声流:http://119.29.152.247:81/live?app=demo&stream=stream-2
用的ffmpeg推的流,音频aac,视频h264,推流参数只有volume不同,有声设置的是1无声设置的是0,这两个流使用flv.js都可以正常播放,可以在http://119.29.152.247:81地址上测试,另外还发现使用某些高宽比会花屏。
为了兼容问题,可以的话,考虑用ffmpeg
把flv
的profile
转为baseline
。
第一个地址可以播放:
var flv = new FlvPlayer({
container: '.flvplayer-app',
url: 'http://119.29.152.247:81/live?app=demo&stream=stream-1',
decoder: './uncompiled/flvplayer-decoder-multiple.js',
debug: true,
live: true,
autoPlay: true,
hasAudio: false,
});
第二个地址也可以播放:
var flv = new FlvPlayer({
container: '.flvplayer-app',
url: 'http://119.29.152.247:81/live?app=demo&stream=stream-2',
decoder: './uncompiled/flvplayer-decoder-multiple.js',
debug: true,
live: true,
autoPlay: false,
hasAudio: true,
});
转baseline之后报了个错,视频高宽无法自适应视频大小
使用obs推流时如果使用baseline也会有相同的报错
表现跟ffmpeg转码是一致的,不知道这个是否与我使用的nginx-http-flv直播模块相关
a88eaab4-ee4d-4b72-bba4-523c1d640c7a:1 Uncaught FlvPlayerError: AMF: [amf1] type expect 2, but got 5 at Object.error (blob:http://localhost:8080/a88eaab4-ee4d-4b72-bba4-523c1d640c7a:1:3724) at demuxerScripTag (blob:http://localhost:8080/a88eaab4-ee4d-4b72-bba4-523c1d640c7a:1:5799) at onmessage (blob:http://localhost:8080/a88eaab4-ee4d-4b72-bba4-523c1d640c7a:1:11471)
因为兼容问题,在解封装script tag的时候失败了,导致获取不到视频的宽高。
解失败了之后能在其他地方获得视频高宽吗?