当前位置: 首页 > wzjs >正文

成人做暧视频观看网站站长工具是做什么的

成人做暧视频观看网站,站长工具是做什么的,网站开发分类列表,通过做政府门户网站的实验获得什么1.首先说了一下为什么要用ISUP协议来取流 ISUP主要就是用来解决摄像头没有公网ip的情况,如果摄像头或者所在局域网的路由器有公网ip的话,其实采用rtsp直接取流是最方便也是性能最好的,但是项目的摄像头没有公网IP所以被迫使用ISUP,ISUP是海康…

1.首先说了一下为什么要用ISUP协议来取流

ISUP主要就是用来解决摄像头没有公网ip的情况,如果摄像头或者所在局域网的路由器有公网ip的话,其实采用rtsp直接取流是最方便也是性能最好的,但是项目的摄像头没有公网IP所以被迫使用ISUP,ISUP是海康自己的协议,海康官网是有对应的DEMO,我主要根据他们的java版本的demo进行改造海康DEMO地址,

2.具体实现

首先得设置摄像头编码格式H.264

音频编码要改成ACC

还需要设置一下ehome协议,ip地址填取流服务器的地址,本地测试就填本机ip地址就行,这个密钥要和ISUP服务器的密钥一样 --注意上述配置修改完后要点击保存才会生效

3.核心代码_取流并再推流到nginx-rtmp

代码(完整服务源码地址)

   thread = new Thread(() -> {try {
//           打印FFmpeg日志可以帮助确定输入流的音视频编码格式帧率等信息,需要时可以取消注释
//            avutil.av_log_set_level(avutil.AV_LOG_INFO);
//            FFmpegLogCallback.set();grabber = new FFmpegFrameGrabber(inputStream, 0);grabber.setOption("rtsp_transport", "tcp"); // 设置RTSP传输协议为TCP
//            grabber.setVideoCodec(avcodec.AV_CODEC_ID_H264); // 设置视频编解码器为H.264
//            grabber.setAudioCodec(avcodec.AV_CODEC_ID_AAC); // 设置音频编解码器为ACCgrabber.setFormat("mpeg"); // 设置格式为MPEGgrabber.start();// 获取输入格式上下文AVFormatContext ifmt_ctx = grabber.getFormatContext();log.info("视频宽度:" + grabber.getImageWidth());log.info("视频高度:" + grabber.getImageHeight());log.info("音频通道:" + grabber.getAudioChannels());recorder = new FFmpegFrameRecorder(pushAddress, grabber.getImageWidth(), grabber.getImageHeight(), grabber.getAudioChannels());recorder.setInterleaved(true);  // 设置音视频交织方式recorder.setVideoOption("crf", "23"); //画质参数recorder.setFormat("flv");  // 设置推流格式为 FLV
//                recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);  // 设置音频编码器为 AACrecorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);  // 设置视频编码器为 H.264recorder.setSampleRate(grabber.getSampleRate());  // 设置音频采样率recorder.setFrameRate(grabber.getFrameRate()); //设置视频帧率recorder.setVideoBitrate(3000000);  // 设置视频比特率为 3 Mbps(根据需要调整)
//                recorder.setVideoQuality(0);  // 设置视频质量参数(0为最高质量)
//                recorder.setAudioQuality(0);  // 设置音频质量参数(0为最高质量)recorder.setGopSize((int) (grabber.getFrameRate()*2));recorder.setPixelFormat(avutil.AV_PIX_FMT_YUV420P);recorder.setVideoOption("tune", "zerolatency"); // 降低编码延迟recorder.setVideoOption("preset", "superfast"); // 提升编码速度recorder.start(ifmt_ctx);  // 启动推流器Frame frame;count=0;long t1 = System.currentTimeMillis();AVPacket packet;while (running &&(packet = grabber.grabPacket()) != null) {count++;recorder.recordPacket(packet);
//                    if ((System.currentTimeMillis() - t1) > RECORD_LENGTH) {
//                        break;
//                    }if (count % 100 == 0) {// 处理每帧log.info("packet推流帧====>" + count);}}} 

4.结语

搭建nginx-rtmp可以看看搭建nginx-rtmp,搭建完成后,nginx-rtmp可以提供HLS的url以供前端播放,也可以使用rtmp协议的url播放,只不过rtmp协议的现在的浏览器基本不支持播放了

本地实测延迟大概在5秒内,一般3秒左右

其实刚开始用的是别人代码,虽然也能实现视频预览,但是光一个摄像头进行推流就占了40%的cpu,性能消耗太多了,后来改了一下javaCV的配置,现在4核8G的服务器实测开启一个摄像头推流仅占1%cpu,cpu占用下降了不少

有些问题,

1.如果你拉的流解析没有音频通道(为0)的话,nginx-rtmp是不会生成.m3u8和ts文件的,无法生成播放hls的文件那么就只能用rtmp协议的url播放了 或者 手动添加音频。。。

2.如果运行出现Pipe closed异常,那么你应该找异常栈栈顶出现的异常,栈顶异常会导致流被关闭,但主线程会一直向流里面写入数据,所以会导致出现一大串Pipe closed

3.源码中依赖的lib文件里面动态链接库最好不要修改相对位置。.dll是windows系统运行需要的,.so是linux系统需要的

4.目前启动ISUP服务器时出现 72 错误码(套接字绑定错误) ,如果端口没有占用的话 那大概率是你设置的公网ip错了 windows上得cmd 上ipconfig看看自己ip是不是和yml配置文件一样, 不一样就得改一样。

5 出现169错误码的,要把SMS服务的端口打开,例如我demo中的7660端口,不然摄像头无法上传视频流

http://www.dtcms.com/wzjs/351316.html

相关文章:

  • 星沙网站建设公司it培训机构排行榜
  • 静态手机网站基础自己做网站的流程
  • 网站建设与维护心得seo优化排名推广
  • 怎么做点图片链接网站谷歌推广开户
  • 商丘做建设网站的公司关键词出价计算公式
  • 网站建设捌金手指花总十八网络营销做得好的企业有哪些
  • 邯郸哪里做网站百度搜索排名靠前
  • 做一个网站的步骤网络营销成功案例ppt免费
  • 嘉兴网站建设嘉兴线上培训平台
  • 手机网站开发软件北京网站制作400办理多少钱
  • 网站建设要用什么软件百度热搜词排行榜
  • 做机械出口用哪个网站好关键词搜索爱站网
  • 做产品目录的网站网站搭建的流程
  • 大型企业网站优化seo推广如何做
  • 专业网站建设制作多少钱云南网站seo服务
  • 淘宝找人做网站靠谱吗泰州百度关键词优化
  • 淘宝客网站怎么做的百度认证
  • 手机游戏的官方网站开发是同步进行的么?微信引流主动被加软件
  • 有没有帮人做CAD的网站厉害的seo顾问
  • 重庆便宜做网站的网站怎么推广
  • 建设网站范文加盟培训机构
  • 网站建设公司成都案例展示企业网站seo优化外包
  • 青岛公司建站网站销售清单软件永久免费版
  • 企业网站平台如何做网络推广淄博seo公司
  • 做外贸企业网站要注意哪些业务推广方式有哪些
  • 哪些网站布局设计做的比较好的宁德市人民医院
  • 360网站备案查询百度收录站长工具
  • 设计电子商务网站百度关键词优化怎么做
  • 宁波企业网站排名优化公司怎么免费给自己建网站
  • 上海网站建设小程序开发武汉seo排名扣费