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

自己做的产品在哪个网站上可从卖做企业网站到哪里找

自己做的产品在哪个网站上可从卖,做企业网站到哪里找,南通旅游网站建设,oa办公系统怎么注册本来是应该先写一个媒体文件格式的简单讲解的#xff0c;还没来得及写#xff0c;以后再写。今天就先根据ffmpeg的flv.c的flv_demux这个结构体来讲解一下当前比较流行的媒体格式flv. FLV 是FLASH VIDEO的简称#xff0c;FLV流媒体格式是随着Flash MX的推出发展而来的视频格式… 本来是应该先写一个媒体文件格式的简单讲解的还没来得及写以后再写。今天就先根据ffmpeg的flv.c的flv_demux这个结构体来讲解一下当前比较流行的媒体格式flv. FLV 是FLASH VIDEO的简称FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快使得网络观看视频文件成为可能.当前主流的媒体网站像国内的优酷、国外youtube其标清格式的文件均采用flv的格式。 FLV文件结构解析 FLV是一个二进制文件其文件格式如下图 由文件头FLV header和很多tag组成。tag又可以分成三类audio,video,script分别代表音频流视频流脚本流关键字或者文件信息之类。   FLV Header FLV的Header信息一般比较简单包括文件类型之类的全局信息。如下图中解析   文件类型3bytes 总是FLV0x46 0x4C 0x56否则就不是在ffmpeg中在没有指定文件格式的情况下也是通过这个字段来探测文件是否属于FLV格式的。 版本1byte 一般是0x01表示FLV version 1 流信息1byte 倒数第一bit是1表示有视频倒数第三bit是1表示有音频其他都应该是0有些软件如flvtool2可能造成倒数第四bit是1不过也没发现有什么不对 header长度4bytes 整个文件头的长度一般是93114当然头部字段也有可能包含其它信息这个时间其长度就不是9了。 FLV Body FLV body就是由很多tag组成的一个tag包括下列信息       previoustagsize 4bytes 前一个tag的长度第一个tag就是0 tag类型1byte 共分为三类 * 8 -- 音频tag * 9 -- 视频tag * 18 -- 脚本tag 数据区长度3bytes 时间戳3bytes 单位毫秒同时还有1bytes的扩展时间戳放在最高位大部分时间时间戳为媒体的dts信息如果是脚本tag就是0 streamsID 3bytes 总是0不知道干啥用 数据区根据不同的tag类型就有不同的数据区 脚本tag 脚本tag一般是用文本方式表示如下图flv的metadata信息 从中可以看出是通过文本的方式来标记的其解析后其header信息为   从中可以看出其type为18。time stamp为0.data size为33638. metadata tag data信息解析后为 其中有一些媒体信息 例如视频的高和宽它的codec id。帧率。音频的信息例如音频的sample ratecodec id,sample size及是否立体声。还有整个文件的大小等等。 音频的tag信息 音频的tag信息如下图 其中time stamp 为0是因为其为第一个音频tag. 视频tag 这是文件中的第6个tag所以其time stamp不为0。因为其为视频tag所以其type为9。 ffmpeg中的flv文件格式解析的实现 其中flv_read_header主要是从文件中读取一些头信息同时作一些初始化化的工作 static int flv_read_header(AVFormatContext *s,AVFormatParameters *ap) {          ……     url_fskip(s-pb, 4); //将flv的头去掉。     flags get_byte(s-pb);//读出flv的video和audio flag信息。          ……          if(flags FLV_HEADER_FLAG_HASVIDEO){         if(!create_stream(s, 0))  //创建视频流             return AVERROR(ENOMEM);     }     if(flags FLV_HEADER_FLAG_HASAUDIO){         if(!create_stream(s, 1)) //创建音频流             return AVERROR(ENOMEM);     }     offset get_be32(s-pb); //获取文件头长度         …… } 其它tag的读取 static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) {      …… for(;;url_fskip(s-pb, 4)){ /* pkt size is repeated at end. skip it */     pos url_ftell(s-pb);     type get_byte(s-pb); //获取tag的类型前面已经提到flv的tag大概有以下三种 FLV_TAG_TYPE_AUDIO 0x08,FLV_TAG_TYPE_VIDEO 0x09,FLV_TAG_TYPE_META  0x12,     size get_be24(s-pb);//获取tag的长度     dts get_be24(s-pb);     dts | get_byte(s-pb) 24; //计算tag的timestamp也就是dts信息     ……     if (type FLV_TAG_TYPE_AUDIO) { //判断是否为audio tag        ……          } else if (type FLV_TAG_TYPE_VIDEO) {//判断是否为video tag        ……                if ((flags 0xf0) 0x50) /* video info / command frame */             goto skip;     } else {         if (type FLV_TAG_TYPE_META size 1314)//判断是否为meta tag,如果是meta信息则会将信息存放在一个map表中。          …… } 版权所有博水。转载请注明出处http://www.cnblogs.com/qingquan/ 转载于:https://www.cnblogs.com/xumaojun/p/8543061.html
http://wiki.neutronadmin.com/news/25310/

相关文章:

  • 苏州seo推广优化seo 网站排名
  • 西南大学校园网站建设往年考试卷最好的网站模板
  • 万网主机怎么上传网站吗大型车网站建设
  • 音乐网站制作教程中装建设董事长
  • 做网站前端和平面配合凡客做网站怎么样
  • 188建站系统源码国家最新政策解读
  • 网站制作公司排行榜前十名wordpress删除顶部
  • 在什么网站上做自媒体公司门户网站该怎么做
  • 贵州省住房和城乡建设部网站首页手机兼职在家挣钱的方法
  • wordpress进不来后台企业网站seo报价
  • 小网站如何做密码找回杭州网站搜索
  • 建设工程中标通知书查询网站免费jianzhan
  • 目前做网站框架兰州口碑营销
  • 中国建设部网站办事大厅长长沙网站制作
  • 小学的门户网站建设网站设计过程
  • div网站模板用thinkphp做的网站
  • 网站 数据报表如何做千年之恋网页制作代码
  • 做一套公司网站费用驻马店专业做网站公司
  • 安徽整站优化成都app开发公司排名
  • 里水九江网站建设网站首页栏目设置
  • 克隆网站后台建站推广什么意思
  • 网站推广工作职责网站如何seo推广
  • 找相似图片 识别广州seo网站推广优化
  • 网站谷歌优化怎么做网站怎么备案在哪里
  • 零基础学python要多久一个具体网站的seo优化方案
  • 做自己的彩票网站商城网站开发技术可行性分析
  • 免费网站建设一级潍坊建筑公司排名
  • 传统媒体网站建设做网站公司 信科网络
  • 网站 动态 静态asp.net开发微网站开发
  • 赤蚁网站建设网站备案需要材料