精华内容
下载资源
问答
  • 获取每一帧的长度

    千次阅读 2012-02-08 17:14:19
    论坛搜索帮助导航 ...喝彩奥运bluebrowngraygreengreyish-...H.264乐园 » 如何从H264 ES流中获取每一帧的长度?   返回列表发帖 ldf198312 新
    
    
    

    [工程应用] 如何从H264 ES流中获取每一帧的长度?

    将多帧H264编码数据保存到一个文件中,怎么从这个文件中读取每一帧数据?
    或者说,我怎么知道哪个NALU单元是一帧的开始,哪个NALU单元是一帧的结束?
     

     
    slice header 中 first_mb_in_slice = 0,则表示一帧开始
    欢迎加入我们的QQ群:12923082。新加入者请先仔细阅读论坛中的《群成员须知》

    TOP

     
    那什么时候结束呢?
    是不是需要根据下一个first_mb_in_slice=0来判断一帧的结束?

    现在有这样一种应用:VOIP视频电话获取的编码数据是从管道中获取的,在获取的数据可能是一个完整帧,也可能是多个帧,也可能不足一帧。现在需要将数据通过RTP打包发送(一个NALU单元一包),但是不知道什么时候是一帧的结束,也就不能给RTP打上marker位。
    在这种情况下怎么判断帧尾呢?
     

    TOP

     
    目前想到的办法就是根据first_mb_in_slice=0来判断一帧的结束,
    这样在应用中肯定会加大延迟,不过没办法了,编码器接口做的太差了!
     

    TOP

     
    是的。正确做法应该是编码器告诉你什么时候是一帧的结束。如果编码器没有告诉的话那就只有自己从码流中判断了。
    欢迎加入我们的QQ群:12923082。新加入者请先仔细阅读论坛中的《群成员须知》

    TOP

     

    展开全文
  • 只有i帧的pts,dts,如何求取中间的b帧和p帧的长度和解码时间? 如果是consant frame rate,(LastPTS-FirstPTS)/Frame count, 应该就知道每个frame的pts了 variable frame rate就没有办法了 你是指的每个帧...

    只有i帧的pts,dts,如何求取中间的b帧和p帧的长度和解码时间?

    如果是consant frame rate,(LastPTS-FirstPTS)/Frame count, 应该就知道每个frame的pts了

    variable frame rate就没有办法了

    你是指的每个帧duration吗?相邻下一个frame的pts-当前frame的pts,就是当前frame的duration

     

    是这样的,我解出来的pts间隔为480ms,然后和dts的差为120ms,我看参考软件,在两个pts中间每隔40ms一个帧,我怎么知道这些帧的长度等参数呢?这是用在缓冲画图里的。

     

    你已经找到一个I帧,一个P帧,那么,你可以搜索I,P帧之间有多少个picture header,这样就知道一共有多少张frame,然后利用I,P帧拿到的PTS,就能计算出每一张frame的duration

     

    对于constant frame rate, 每个frame的duration都是一样的。对于如下的序列:

    decode 顺序: I Pa B B Pb B B
    Display顺序: I B B Pa B B Pb
    假如你知道前面两个 I, Pa的pts,那么,需要继续往后找到Pb,计算出Pa与Pb之间有多少picture,根据搜索到的picture header。按照上面的decode 顺序就是2张B。这个时候,用Pa的PTS减去I的pts,然后除以3就能算出每一张的duration。每一张的duration知道了,B的pts也就知道了。
    展开全文
  • 报文分段、IP数据包、帧的长度约束

    千次阅读 2013-04-19 16:02:04
     1、数据链路层对数据帧的长度都有一个限制,也就是链路层所能承受的最大数据长度,这个值称为最大传输单元,即MTU。以以太网为例,这个值通常是1500字节。  2、对于IP数据包来讲,也有一个长度,在IP包头中,以...
    转载留存以备学习
    

      1、数据链路层对数据帧的长度都有一个限制,也就是链路层所能承受的最大数据长度,这个值称为最大传输单元,即MTU。以以太网为例,这个值通常是1500字节。

      2、对于IP数据包来讲,也有一个长度,在IP包头中,以16位来描述IP包的长度,也就是说,一个IP包,最长可能是65535字节(多数网络设备将其限制在576字节以内)。

      3、结合以上两个概念,第一个重要的结论就出来了,如果IP包的大小,超过了MTU值,那么就需要分片,也就是把一个IP包分为多个,这个概念非常容易理解,一个载重5T的卡车,要拉10T的货,它当然就得分几次来拉了。

      4、IP分片是很多资料常讲的内容,但是我倒是觉得分不分片其实不重要,重要的是另一个东西。一个数据包穿过一个大的网络,它其间会穿过多个网络,每个网络的MTU值是不同的。我们可以设想,如果接受/发送端都是以太网,它们的MTU都是1500,我们假设发送的时候,IP数据包会以1500来封装,然而,不幸的是,传输中有一段X.25网,它的MTU是576,这会发生什么呢?我想,这个才是我们所关心的。

      当然,结论是显而易见的,这个数据包会被再次分片,咱开始用火车拉,到了半路,不通火车,只通汽车,那一车货会被分为很多车……仅此而已,更重要的是,这种情况下,如果IP包被设置了“不允许分片标志”,那会发生些什么呢?对,数据包将被丢弃,然事收到一份ICMP(Internet Control Message ProtocolInternet控制报文协议)不可达差错,告诉你,需要分片!

      这个网络中最小的MTU值,被称为路径MTU,我们应该有一种有效的手段,来发现这个值,最笨的方法或许是先用traceroute查看所有节点,然后一个个ping……

      5、到了传输层,也会有一个最大值的限制,当然,对于只管发,其它都不管的UDP来说,不再我们讨论之列。这里说的是TCP协议。说到大小,或许会让人想到TCP著名的滑动窗口的窗口大小,它跟收发两端的缓存有关,这里讨论的是传输的最大数据包大小,所以,它也不在讨论之列。

      TCP的选项字段中,有一个最大报文段长度(MSS,Maximum Segment Size),表示了TCP传往另一端的最大数据的长度,当一个连接立时,连接的双方都要通告各自的MSS,也就是说,它说是与TCP的SYN标志在一起的。当然,对于传输来讲,总是希望MSS越大越好,现在超载这么严重,谁家不希望多拉点货……但是,MSS总是有个限制的,也就是MTU-IP头长度-TCP头长度,对于以太网来讲

      它通常是1500-20-20=1460,虽然总是希望它能很大(如1460),但是大多数BSD实现,它都是512的倍数,如1024……

      6、回到分片上来,例如,在Win2000下执行如下命令:

      "ping 192.168.0.1 -l 1473

      按刚才的说法,1473+20(ip头)+8(icmp头)=1501,则好大于1500,它会被分片。

    展开全文
  • 我们来看一下,假设A检测到网络是空闲,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到网络是空闲,开始发数据包,这时就会发生碰撞,B首先发现发生碰撞,开始发送碰撞信号,所谓碰撞信号,就是连续...

    我们来看一下,假设A检测到网络是空闲的,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到网络是空闲的,开始发数据包,这时就会发生碰撞,B首先发现发生碰撞,开始发送碰撞信号,所谓碰撞信号,就是连续的01010101或者10101010,十六进制就是55或AA。这个碰撞信号会返回到A,如果碰撞信号到达A时,A还没有发完这个数据包,A就知道这个数据包发生了错误,就会重传这个数据包。但如果碰撞信号会返回到A时,数据包已经发完,则A不会重传这个数据包。

      要保证以太网的重传,必须保证A收到碰撞信号的时候,数据包没有传完,要实现这一要求,A和B之间的距离很关键,也就是说信号在A和B之间传输的来回时间必须控制在一定范围之内。IEEE定义了这个标准,一个碰撞域内,最远的两台机器之间的round-trip time 要小于512bit time.(来回时间小于512位时,所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个碰撞域的直径。

      512个位时,也就是64字节的传输时间,如果以太网数据包大于或等于64个字节,就能保证碰撞信号到达A的时候,数据包还没有传完。

      这就是为什么以太网要最小64个字节,同样,在正常的情况下,碰撞信号应该出现在64个字节之内,这是正常的以太网碰撞,如果碰撞信号出现在64个字节之后,叫 late collision。这是不正常的。

      总结:最小数据帧的设计原因和以太网电缆长度有关,为的是让两个相距最远的站点能够感知到双方的数据发生了碰撞;最远两端数据的往返时间就是争用期,以太网的争用期是51.2微妙,正好发送64byte数据。


    转载于:https://blog.51cto.com/dingzhaoqiang/1697473

    展开全文
  • 假设公共总线媒体长度为S,在媒体上传播速度为0.7C(光速),网络传输率为R(bps),长为L(bps),tPHY为某站物理层时延;  则有:  碰撞槽时间=2S/0.7C+2tPHY  因为Lmin/R=碰撞槽时间  所以:Lmin =...
  • 为什么以太网帧的长度最短64字节,最长1518字节? 1.碰撞槽时间 假设公共总线媒体长度为S,帧在媒体上的传播速度为0.7C(光速),网络的传输率为R(bps),帧长为L(bps),tPHY为某站的物理层时延;...
  • IP协议数据帧长度是多少?

    千次阅读 2019-04-11 22:07:26
    1、如果使用PPP协议,帧最大长度1510...2、如果在以太网中,帧的长度为:64~1518字节(10~100Mbps 的以太网),1G及以上的以太网,帧长度为512~1518字节;其中数据长度(加载上层的协议数据)不超过1500字节。 ...
  • 10Mbps以太网的帧长度

    千次阅读 2016-07-23 14:28:42
    1.以太网帧的最短长度为64字节,或者帧中的数据不得少于46个字节,其中以太网帧头有18字节(以太网2的值为:MAC+2类型+4CRC,注意,如果是802.3的规范,它支持SNAP和802.3以太,其中的2个字节的类型字段就变为帧的长度),...
  • Unity3D中同步实现一同步长度固定间隔下实现 在同步模型中每个客户端都会对整个游戏世界进行模拟这种方法好 处在于减少了需要发送信息同步只需要发送用户输入信息而对于反过 来中心服务器模型来...
  • 以太网切包: /*为什么要切包? 一个传输的以太网帧长度最小为64个字节,最长为1518个字节:[ 6字节目的Mac地址 + 6字节源Mac地址 + 2字节的type...因此把帧的长度控制在46~1500字节之间。*/ /*本工程的要求是要求报...
  • 一、MAC帧结构MAC帧是数据帧的一种。而所谓数据帧,就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据...
  • 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制? 以太网(IEEE 802.3)格式: 1、前导码:7字节0x55,一串1、0间隔,用于信号同步 2、起始定界符:1字节0xD5(10101011),表示一开始 3、DA(目的MAC...
  • 大小与帧长度

    万次阅读 2018-03-06 16:33:59
    如果以PCM(未经编码的音频数据)来说,它根本就不需要帧的概念,根据采样率和采样精度就可以播放了。比如采样率为44.1kHZ,采样精度为16位的音频,你可以算出bps(比特率)是44100*16bps,每秒的音频数据是固定的...
  • 关于CAN标准帧与扩展帧两种格式长度的...■CAN总线的标准帧和扩展帧主要决定帧ID的长度 ■标准帧的帧ID长度是11位,也就是帧ID的范围是000-7FF ■扩展帧的帧ID长度是29位,也就是帧ID的范围是0000 0000-1FFF FFFF ...
  • 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制? 以太网(IEEE 802.3)格式: 1、前导码:7字节0x55,一串1、0间隔,用于信号同步 2、起始定界符:1字节0xD5(10101011),表示一开始 3、DA...
  • MobileIMSDKServer修改TCP的帧长度为60KBjar包
  • 训练和测试一个有效的机器学习模型最重要的一步是收集大量数据并使用...大多数方法依赖于将视频裁剪成相等的长度,以便在迭代期间提取相同数量的。但在我们需要从每一获取信息来有效地预测某些事情的场景中,...
  • (2012年联考) 两台主机之间的数据链路层采用了后退N帧协议(GBN)传输数据,数据的传输速率为16kbps,单向传播时延为270ms,数据帧的长度范围是128~512字节,接收方总是以数据帧等长的帧进行确认(即确认帧长度与发送...
  • 关于可变帧长度数据解析

    千次阅读 2018-11-15 16:54:10
    关于可变帧长度数据解析 在项目中需要解析另一主机数据,而该主机数据是由积木式拼搭而成可变数据格式,每个积木所包含数据长度不定,但是都小于10; 这里说明一下我在实际应用中解决方法: 首先是和...
  • 笔记-关于Modbus一帧的数据长度

    千次阅读 2019-05-30 16:01:27
    Modbus一帧的数据长度为:127.
  • 一、MAC帧结构MAC帧是数据帧的一种。而所谓数据帧,就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据...
  • 如上图所示,我的抓包工具显示我抓取到的ARP的请求和回复包的长度分别是60和42和字节,但是一般以太网的真的最小长度不是60个字节么,为什么在这个抓包器里面会出现42个字节的包呢? 原因是这42个字节的包是我本机...
  • 帧的最小长度 CSMA/CD

    2019-01-04 15:54:00
    ·使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。 ·每个站在发送数据之后的一小段... 最先发送数据帧的站,在发送数据帧后至多经过时间 2Tp(两倍的端到端往返时延)就可...
  • 以太网帧长度大小限制

    千次阅读 2019-03-31 17:22:37
    表示以太网传输最大帧长度。 为什么要有最大帧长度限制呢? 这是因为以太网采用是CSMA/CD方法在介质上传输数据。CSMA/CD叫做带冲突检测载波监听多路访问技术,在发送数据之前需要检测链路是否空闲,只有链路...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,062
精华内容 1,224
关键字:

帧的长度