获取每一帧的长度

  返回列表发帖

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

将多帧H264编码数据保存到一个文件中,怎么从这个文件中读取每一帧数据?
或者说,我怎么知道哪个NALU单元是一帧的开始,哪个NALU单元是一帧的结束?
本主题由 firstime 于 2011-6-22 11:50 PM 分类
收藏 分享
 

 
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

 
  返回列表

你可能感兴趣的:(qq,header,WAP,电话,h.264)