用flv播放器能播放rtsp视频流,为什么前端项目中用flv.js插件不能播放rtsp视频流
在react项目中,播放不了
useEffect(() => {
if (videoRef.current) {
// 创建播放器实例
if (!player && flvjs.isSupported()) {
const flvPlayer = flvjs.createPlayer(
{
type: 'rtsp',
url: 'rtsp://admin:admin123@192.168.99.110..................',
isLive: true, //数据源是否为直播流
hasAudio: false, //数据源是否包含有音频
hasVideo: true, //数据源是否包含有视频
enableStashBuffer: false, //是否启用缓存区
},
{
enableWorker: false, //不启用分离线程
enableStashBuffer: false, //关闭IO隐藏缓冲区
autoCleanupSourceBuffer: true, //自动清除缓存
}
)
// 播放器实例挂载到video标签上
flvPlayer.attachMediaElement(videoRef.current)
// 设置播放器实例
setPlayer(flvPlayer)
// 加载并播放
flvPlayer.load()
flvPlayer.play()
videoInstanceRef.current = flvPlayer // 保存播放器实例
}
}
return () => {
if (videoInstanceRef.current) {
videoInstanceRef.current.destroy() // 清理函数中销毁播放器
}
}
}, [player, videoRef])
rtsp流和rtmp流是udp协议的,要播放此类型的流需要媒体服务器转换格式;