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

娄底网站制作备案号查询平台

娄底网站制作,备案号查询平台,免费空间网,跨境电商seo本文将介绍如何将H.264封装成flv格式。在看本文之间#xff0c;建议先看一看下面两篇文章#xff1a;首先说一说构建一个FLV文件需要什么#xff1f;FLV Header FLv script tag FLV Video tag FLV Audio tag由于这里只是封装H.264#xff0c;所以不包括Audio tag。下面将…本文将介绍如何将H.264封装成flv格式。在看本文之间建议先看一看下面两篇文章首先说一说构建一个FLV文件需要什么FLV Header FLv script tag FLV Video tag FLV Audio tag由于这里只是封装H.264所以不包括Audio tag。下面将通过分析示例来说明FLV Header FLv script tag FLV Video tag这三部分如何构建。1、FLV Header通过阅读上面的文章《FLV格式详解》应该就很清楚FLV Header的内容了。下面来分析一个实例Signature0x46(F)Signature0x4c(L)Signature0x56(V)Version01Flags01TypeFlagsReserved [Bit 3-7]0TypeFlagsAudio [Bit 2]0TypeFlagsReserved [Bit 1]0TypeFlagsVideo [Bit 0]1DataOffset00 00 00 09preTagSize00 00 00 00 // 第一个tag默认为02、FLv script tag又称Metadata Tag位于flv header后的第一个tag下面来分析一个实例Tag HeaderTagType12(表示这是一个script tag)Datasize00 00 9f(Tag Data 部分的大小)Timestamp00 00 00(该Tag的时间戳)Timestamp_ex00(时间戳的扩展部分)StreamID00 00 00(总是0)Tag data因为TagType为0x12所以这部分的数据为两个AMF包第一个AMF包type02(表示字符串)stringLen00 0a(字符串长度为10)string6f 6e 4d 65 74 61 44 61 74 61(onMetaData)第二个AMF包type08(表示数组)arrayNum00 00 00 07(数组元素个数)stringLen00 08(第一个数组元素字符串长度)string64 75 72 61 74 69 6f 6e(duration)valType00(数据类型double型)val40 03 70 a3 d7 0a 3d 71(double型)stringLen00 05string77 69 64 74 68(width)...end00 00 09preTagSize00 00 00 aa3、FLV Video Tag这部分封装着图像数据也就是H.264的数据封装在这里。H.264是由一个一个NALU组成NALU的类型有(SPS、PPS、I帧的SLICE、非I帧的SLICE)封装H.264就是将这些NALU一个一个取出来然后封装成Tag。需要注意的是SPS与PPS必须封装在一个Tag中。下面分别通过实例来分析各种NALU(SPS、PPS、I帧的SLICE、SEI、非I帧的SLICE)是怎么封装的。1、SPS与PPSTag HeaderTagType09(Tag的类型包括音频(0x08)、视频(0x09)、script data(0x12))Datasize00 00 2e(Tag Data 部分的大小)Timestamp00 00 00(时间戳19ms)Timestamp_ex00(时间戳的扩展部分)StreamID00 00 00(总是0)Tag dataFrameType | CodecID17(keyframe | AVC)(视频tag的参数)AVCVideoPaket(因为CodecID7所以VideoData为AVCVideoPaket)AVCPaketType00(ACVPacket的类型0: AVC sequence header1: AVC NALU2: AVC end of sequence)CompositionTime00 00 00(因为ACVPaketType0所以DataAVCDecoderConfigurationRecord)AVCDecoderConfigurationRecordconfigurationVersion01AVCProfileIndication64profile_compatibility00AVCLevelIndication1elengthSizeMinusOneffnumOfSequenceParameterSetse1(低五位为SPS的个数计算方法为numOfSequenceParameterSets 0x1F1)sequenceParameterSetLength00 18(SPS的长度24)sequenceParameterSetNALUnits67 64 00 1e ac d9 40 a0 33 b0 11 00 00 03 02 47 00 00 6d 34 0f 16 2d 96(SPS)numOfPictureParameterSets01(PPS的个数)pictureParameterSetLength00 06(PPS的长度)pictureParameterSetNALUnits68 eb e3 cb 22 c0(PPS)previousTagSize00 00 00 392、I帧的SLICETag HeaderTagType09(Tag的类型包括音频(0x08)、视频(0x09)、script data(0x12))Datasize00 35 78(Tag Data 部分的大小)Timestamp00 00 0a(时间戳19ms)Timestamp_ex00(时间戳的扩展部分)StreamID00 00 00(总是0)Tag dataFrameType | CodecID17(key frame | AVC)(视频tag的参数)因为CodecID7所以VideoData为AVCVideoPaketAVCVideoPaketAVCPaketType01(ACVPacket的类型0: AVC sequence header1: AVC NALU2: AVC end of sequence)CompositionTime00 00 0aNaluLen00 00 35 6fNaluData...preTagSize00 00 35 83对于SEI的封装跟I帧是一样的。3、非I帧的SLICE非I帧的封装格式和I帧的封装格式基本一样唯一不同的是FrameType | CodecID部分应该设置为FrameType | CodecID27(inter frame | AVC)(视频tag的参数)总结以上通过实例讲解了FLV的头部信息script tag以及H.264不同类型的NALU如何封装成tag下面放出源码。
http://www.zqtcl.cn/news/605670/

相关文章:

  • 中国室内设计联盟网官网网站专题页优化
  • 设计模板图热狗网站关键词优化
  • 无锡网站开发公司重庆网站有哪些
  • 做网站找什么公司工作网站开发思维导图内容
  • 有人知道做网站吗?wordpress多站点cdn
  • 网站风格特点大型外包公司有哪些
  • 如何网站seo用asp做网站有哪控件
  • 网站建设需要哪些成本wordpress商城建站教程
  • 做网络的网站很重要吗网站认证费用
  • flash网站项目背景网页截图快捷键可拉动
  • 郑州企业建设网站北京企业网站模板建站开发
  • 宣传旅游网站建设的观点是什么公众号怎么推广和引流
  • 企业网站制作多少钱山西网络营销方案
  • 焦作住房和城乡建设局网站旅行网站模板
  • 男做基视频网站国家重点高新技术企业名单
  • 公司官方网站开发网站建设电子商务
  • seo网站优化系统搜索引擎优化排名案例
  • 郑州网站建设工作室网站建设全流程 知乎
  • 如何利用源码做网站外贸网站制作推广
  • 国内做网站哪家公司好免费查找资料的网站
  • 自己做的网站百度搜不到搭建网站seo
  • 奇墙网站建设高端网站建设公司联系电话
  • 宁波那家公司做网站好中企动力科技股份有限公司招聘
  • 水果网站推广网站首页静态好还是动态好
  • iis网站属性小程序源码无需服务器
  • 景区网站建设材料代运营有哪些套路坑
  • 六安电商网站建设哪家好有关做美食的网站
  • 卸载wordpress插件网店seo关键词
  • 金山网站制作赤城seo网站优化排名
  • 提供坪山网站建设深圳商城网站哪家做的好