zoukankan      html  css  js  c++  java
  • 海康威视主码流和子码流的区别

    转自https://blog.csdn.net/yxwmzouzou/article/details/52367635

    一般高清摄像头产品编码器可同时产生两个不同的编码格式,统称主码流和子码流,双码流技术兼顾了高质量图像传输和窄带宽传输。

    主码流用于本地存储,子码流适用于图像在低带宽网络上传输。

    双码流采用一路高码率的码流用于本地高清存储,例如QCIF/CIF/D1编码,一路低码率的码流用于网络传输,例如QCIF/CIF编码,同时兼顾本地存储和远程网络传输。双码流能实现本地传输和远程传输两种不同的带宽码流需要,本地传输采用高码流可以获得更高的高清录像存储,远程传输采用较低的码流以适应CDMA/ADSL等各种网络而获得更高的图像流畅度。

    海康威视首家提出了主码流与子码流这样的概念,是为了解决在网络情况不好时为了满足远程预览的流畅性降低码率,而不影响本地录像提出的双码流技术,即一路视频进入DVR后,DVR可以编码提供两种码流,主码流和子码流,主码流分辨率高于子码流,主码流用来录像,子码流用来网传,默认客户端访问采用主码流客户可以根据网络情况选择子码流访问,这样做的目的是当我用子码流预览时如果网络状况不是很好,可以降低子码流的位率(随着位率的降低画质会有降低),以达到改善网络浏览的流畅性,而又不改变本地录像的录像效果。

    知道了上述理论,就可以明白为什么网络上老是有人在问这样的问题: 
    为什么视频监控使用子码流图像模糊?

    为什么网络摄像机一用主码流就拖屏,子码流就没问题?

    主码流是最高像素分辨率模式,次码流是低像素低分辨率模式。

    选择主码流时,画质高,对带宽要求也高,像你说的情况画面拖屏或者出现断层卡画面就是网络传输不过来。

    这样的情况解决办法:

    选择次码流,低画质,提高画面传输的流畅度
    
    在设置后台,将码流对应的帧率调低,分辨率调低,这样可以降低带宽需求
    
    提高网络带宽,满足高画质传输需求。

    主码流和子码流是数字化后的两种数据流,通常情况下会采用相同的编码方式(个别厂商会采用不同的编码方式,主要取决于所采用的芯片组);采用同样的数字化算法,图像的清晰程度主要由三个方面决定,分辨率码率帧率,所以您可以从上述三个方面下手进行参数的配置来获得您满意的图像质量。 
    主码流通常被用于视频的存储,子码流通常被用于网络传输,通常情况下这两种码流都可以对上述三方面的参数进行自定义设置;针对不同的网络环境配置最佳的参数。 
    对于您所提出的问题,请先看采用视频主码流的录像图像您是否满意,如果录像质量满意就说明通过调整子码流的参数可以得到您认为清晰的图像(至少设备本身的性能是能够达到您要求的);接下来看您所配置的满意视频的码率参数与网络环境的有效上行带宽是否匹配,如果匹配就可以得到您满意的图像;也可通过直接将网传码流直接选为主码流实现您的需求。 
    大多情况下都是由于目前的网络带宽问题不得不降低分辨率、码率、帧率来应对,而大多数设备默认的子码流参数都会比主码流参数低很多,所以通过网络远程就会看到不理想的图像效果。

  • 相关阅读:
    多线程系列二:原子操作
    多线程系列一:线程基础
    java面试题——高级篇
    SpringMVC系列(十六)Spring MVC与Struts2的对比
    SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系
    Android IOS WebRTC 音视频开发总结(三六)-- easyRTC介绍
    Android IOS WebRTC 音视频开发总结(三五)-- chatroulette介绍
    Android IOS WebRTC 音视频开发总结(三四)-- windows.20150706
    Android IOS WebRTC 音视频开发总结(三三)-- Periscope介绍
    Android IOS WebRTC 音视频开发总结(三二)-- WebRTC项目开发建议
  • 原文地址:https://www.cnblogs.com/qifeng1024/p/13447295.html
Copyright © 2011-2022 走看看