100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 海康威视摄像头rtsp推流至H5总结

海康威视摄像头rtsp推流至H5总结

时间:2024-04-28 20:34:14

相关推荐

海康威视摄像头rtsp推流至H5总结

方式一:web3.0

此方式跟海康后台原理一样,安装WebComponentsKit插件,flash方式,推流稳定。支持H264和H265.缺点,只支持IE

下载路径

方式二:rtsp-web-converter-master

项目GitHub上找的,支持rtsp H.264推送,H.265不稳定

个人觉得是JavaAC哪里设置问题,贴出核心代码,希望懂的大佬,抚照一二

//grabber.setImageHeight(720);//grabber.setImageWidth(1280);stream = new ByteArrayOutputStream();recorder = new FFmpegFrameRecorder(stream, grabber.getImageWidth(), grabber.getImageHeight(),grabber.getAudioChannels());recorder.setInterleaved(true);recorder.setVideoOption("preset", "ultrafast");recorder.setVideoOption("tune", "zerolatency");recorder.setVideoOption("crf", "28");recorder.setPixelFormat(avutil.AV_PIX_FMT_YUVJ420P);recorder.setFrameRate(15);recorder.setGopSize(60);if (grabber.getAudioChannels() > 0) {recorder.setAudioChannels(grabber.getAudioChannels());recorder.setAudioBitrate(grabber.getAudioBitrate());recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);}recorder.setFormat("flv");recorder.setVideoBitrate(2000000);recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);recorder.start();if (headers == null) {headers = stream.toByteArray();stream.reset();writeResponse(headers);}while (runing) {// 抓取一帧Frame f = grabber.grab();if (f != null) {try {// 转码recorder.record(f);} catch (Exception e) {}if (stream.size() > 0) {byte[] b = stream.toByteArray();stream.reset();writeResponse(b);if (outEntitys.isEmpty()) {log.info("没有输出退出");break;}}}Thread.sleep(5);}

方式1&2 下载地址

/download/zjy660358/12883451

方式三:rtsp_to_rtmp

本服务负责将各个监控设备的实时视频rtsp协议流,转换为rtmp协议流,推送给nginx的rtmp服务,

然后由nginx的rtmp模块将流切片,转换为m3u8+ts格式片断,然后由nginx对外提供web访问m3u8和ts片段的服务,供页面呈现

Gitee

试了一下,只支持H.264

时间紧迫,项目中监控采用方式一,但是其他效果IE不支持。硬件解决。分个屏幕单独看监控

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。