hls协议中m3u8文件tag总结

1.  引言

本文档主要描述了“如何传输无边界多媒体数据流的”的协议的规范和实现细节。该协议支持加密媒体流和统一流得多版本自适应(多码流自适应)。在该协议下,媒体数据在生成之后会立即进行传输,进而保证其具有接近实时播放的效果。数据的传输建立在HTTP协议的基础之上。

 

其他相关参考文档将在第11节中给出。

 

2.  总结

任意多媒体流将由只想某播放列表文件的URI表示,该文件由一个排序的媒体URI列表和信息标签组成。每个媒体URI只想一个连续的流的文件切片。

在播放过程中,客户端首先获取播放列表文件,进而获取播放列表中描述的文件片并播放它。客户端会不断地重新加载播放列表文件。

本文档中部分关键词的描述可参考RFC 2119。

 

3.  播放列表文件

3.1 引言

         播放列表文件是扩展M3U播放列表。本文档通过定义额外的标签扩展了M3U文件格式。

        

         一个M3U播放列表文件包含多个独立的行。每一行由一个LF标记结尾或由一个CR+LF标记结尾。每行的内容可以是一个URI,空行或者是以”#”开头的注释。空白行将被忽略。空格符将不会被展示出来,除非某元素明确的制定它。

 

         一个URI行指定了一个媒体文件或者另外一个播放列表。(参阅3.3.8节)

 

         URIs地址可以使相对地址。该相对路径的定位地址必须与播放列表文件所在目录一致。

         由”#”开头的行可以是注释或者标签。一般标签以”#EXT”开头,其余的行均被视为注释。

 

         播放列表的总时长应该是其所包含媒体文件的时长之和。

 

         M3U文件中,以.m3u8结尾,或其http头中”Content-Type”字段为” application/vnd.apple.mpegurl”会以UTF-8编码,而以”m3u” 或其http对应字段为” "audio/mpegurl”会以US-ASCII编码。播放列表文件必须以上面某一匹配对对应。

 

         扩展的M3U文件格式定义了两个标签:EXTM3U和EXTINF。扩展的M3U文件通过在第一行中加入” #EXTM3U” 与基本的M3U文件进行区分。

 

        

3.2 属性列表

         某些扩展的M3U标签的值是一个由逗号作为分隔符的属性列表,属性列表中不应出现空格。其语法如:

         AttributeName=AttributeValue

        

         其中属性名不需要被引号包含,它是一个有字符[A –Z ] 和‘-‘组成的字符串。而属性值得取值范围如下:

l  十进制整型数:由[ 0 –9 ]组合成的10进制整数。

l  十六进制整数:[ 0 –9 ] 和 [A –F],以0x或0X开头

l  十进制浮点数:[ 0 –9 ] 和‘ . ‘

l  字符串:引号包含,不可使用linefeed(0xA,换行) carriage-return(0xD, 回车) 和双引号(0x22)。需要使用这些特殊符号时,需要转义。

l  枚举字符串:由属性定义的一个取值集合,表现形式为一个无引号字符串,其值不能包括双引号、逗号和空格。

l  十进制表示的分辨率: 宽度X高度,单位为像素

 

属性值得类型由给定的属性定义。在一个属性列表中,属性名应该仅出现一次。客户端在实现的过程中,需要忽略无法识别的属性名/属性值对。尤其对于枚举类型,若其属性名可识别,但其属性值不可识别,则也需要忽略。

 

 

        

3.3 标准标签

3.3.1 EXTM3U

扩展的M3U文件与基本的M3U的区别在第一行,其值必须为标签 #EXTM3U。这个标签在媒体播放列表和主播放列表中均应该被包含。形式如下:

 

#EXTM3U

 

3.3.2 EXTINF

该标签指定媒体文件片的时长。其作用范围仅限于它后面的媒体文件片,其后必须为一个媒体文件片的资源地址(URI)。每个文件片均需前置一个EXTINF。形式如下:

#EXTINF:,</p> <p> </p> <p>Duration的取值可以是:十进制整型或十进制浮点数,采用近似取整。若协议版本低于3,则该值必须为整数。协议版本不小于3时,其值使用浮点数表示。</p> <p>Title部分用于对其后文件片添加一些可读的描述信息。</p> <p> </p> <p>3.4 新标签</p> <p>本节中我们将展示本文档中新定义的标签。</p> <p> </p> <p>3.4.1 EXT-X-BYTERANGE</p> <p>         本标签标明文件片为URI对应文件资源的一个子集。其仅作用于其后的下一个媒体文件URI 。形式如下:</p> <p>         #EXT-X-BYTERANGE:<n>[@<o>]</p> <p>         其中n为整数,表示子集的字节数。o为可选项,标明子集的起始位置,相当于从资源开始出计算的偏移量。若o未定义,则其开始位置为上一个子集的结束位置下一个字节。</p> <p> </p> <p>         当o未定义的时候,其上一个文件资源必须是同一文件的子集,且其不能为文件列表中的第一个文件片。</p> <p>         本标签出现在4以上版本,且不应出现在主播放列表中。</p> <p> </p> <p>3.4.2 EXT-X-TARGETDURATION</p> <p>         本标签的值应大于等于文件列表中最大文件片的时长,其只在媒体播放列表中出现一次,作用域为整个媒体文件列表,它不可出现在主播放列表中,形式如下:</p> <p>         #EXT-X-TARGETDURATION:<max-duration></p> <p> </p> <p>3.4.3 EXT-X-MEDIA-SEQUENCE</p> <p>         播放列表中的每个文件片均由唯一的一个整型序列号,其值顺序加1递增。本标签的值为当前播放列表中第一个文件片的序列号。形式如下:</p> <p>         #EXT-X-MEDIA-SEQUENCE:<number></p> <p> </p> <p>         本标签需出现在第一个文件片之前,且不能出现在主播放列表中。当媒体播放列表不包含改标签时,其首个文件片的序列号被视为0 。</p> <p>         文件资源定位符中可不出现序列号。</p> <p> </p> <p>3.4.4 EXT-X-KEY</p> <p>         媒体文件片可能被加密,而本标签表明如何对其进行解密。它作用于其后所有的文件片,直到下一个同名标签(with the same KEYFORMAT)的出现。两个以上的EXT-X-KEY可能会将不同的KEYFORMAT属性作用于同一文件片,它们必须被解析为相同的key。</p> <p> </p> <p>#EXT-X-KEY:<attribute-list></p> <p> </p> <p>以下是一些属性:</p> <p>METHOD : 枚举值,标明加密方法,必须。</p> <p>u  NONE ,未加密,当METHOD取值为NONE时,以下属性不得出现 URI、IV、KEYFORMAT、KEYFORMATVERSION</p> <p>u  AES-128,使用128位密钥和PKCS7补齐的AES算法。该取值下,URI属性必须出现,IV属性可选。</p> <p>u  SAMPLE-AES ,标明文件片中包含使用AES-128加密的媒体取样,如audio或video,这些取样的加密和封装方式与媒体文件的编码和文件片类型有关。</p> <p>客户端遇到无法识别的METHOD,放弃解密。</p> <p> </p> <p>URI : 引号包含的字符串,其URI指明获取密钥的地址,出METHOD取值为NONE时,该属性为必须。</p> <p> </p> <p>Iv:   十六进制整数,指明密钥使用的初始向量。</p> <p> </p> <p>KEYFORMAT: 引号包含的字符串,指明密钥在URI中的表现形式。该属性可选,当该属性不出现时,其具有一个默认值”identity”。</p> <p> </p> <p>KEYFORMATVERSION:引号包含的字符串,其内容为斜杠分隔的整数,如”1/3”,当有多个KEYFORMAT时,指明实例的版本,不出现表示值为1 。</p> <p> </p> <p>3.4.5 EXT-X-PROGRAM-DATE-TIME</p> <p>         标明其后一个文件片第一个取样的日期和事件,形式如下:</p> <p>         #EXT-X-PROGRAM-DATE-TIME:<YYYY-MM-DDThh:mm:ssZ></p> <p>         示例:#EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00</p> <p> </p> <p>3.4.6 EXT-X-ALLOW-CACHE</p> <p>         作用于全局文件片,表明客户端是否缓存文件资源。</p> <p>         #EXT-X-ALLOW-CACHE:<YES|NO></p> <p> </p> <p>3.4.7 EXT-X-PLAYLIST-TYPE</p> <p>         标明播放列表的类型信息,作用于整个播放列表文件,可选的。</p> <p>         #EXT-X-PLAYLIST-TYPE:<EVENT|VOD></p> <p> </p> <p>3.4.8 EXT-X-ENDLIST</p> <p>         标明其后再没有文件片,可以出现在播放列表文件的任意位置,但只能出现一次。</p> <p> </p> <p>3.4.9 EXT-X-MEDIA</p> <p>         用于对统一内容会有不同翻译的媒体播放列表。属性有点多,而且感觉不是很重要,不翻了,自己看吧。</p> <p>http://tools.ietf.org/html/draft-pantos-http-live-streaming-13</p> <p> </p> <p>3.4.10 EXT-X-STREAM-INF</p> <p>         用于指定一个变化的流(多码流)。其属性提供了该可变留的一些信息。其标明它后面的URI是该可变流的一个可选项。</p> <p>         该标签不应出现在媒体文件播放列表中。</p> <p>         #EXT-X-STREAM-INF:<attribute-list></p> <p><URI></p> <p> </p> <p>其属性定义如下:</p> <p>BANDWIDTH : 指定码率的整数。应该为URI中文件片码流的上限,必须。</p> <p> </p> <p>CODECS: 引号包含的字符串,内容为逗号分割的格式列表,每个格式标明一个媒体播放列表中的文件片的媒体取样类型。该属性属于推荐属性(should,但是不加好像也没事)。</p> <p> </p> <p>RESOLUTION: 十进制坐标,标明资源的分辨率。</p> <p> </p> <p>PROGRAM-ID: 实际使用中用到过,但是不知道其作用,文档中也没写。</p> <p> </p> <p>还有一些其他的属性,去看英文吧。</p> <p> </p> <p>3.4.11 EXT-X-DISCONTINUITY</p> <p>         标明前后两个文件片编码方式不连续,比如:</p> <p>         文件类型,track的类型和数量,编码参数,编码序号,时间戳序号等</p> <p>         #EXT-X-DISCONTINUITY</p> <p>         其不应出现在主播放列表中。实际中还没发现它的用处。</p> <p> </p> <p>3.4.12 EXT-X-DISCONTINUITY-SEQUENCE</p> <p>         该标签允许多码流不同码流之间同步,并能够使多个流在它们的媒体播放列表文件中加入EXT-X-DISCONTINUITY标签。</p> <p>         #EXT-X-DISCONTINUITY-SEQUENCE:<number></p> <p>         其中number是一个十进制证书。不连续的文件片序列号必须是递增的。</p> <p>         一个媒体播放列表不能包含多于一个EXT-X-DISCONTINUITY-SEQUENCE标签。如果列表文件中不包含该标签,则文件列表中第一个文件片的不连续序列号标记为0。</p> <p>         本标签必须出现在第一个文件片之前,且必须出现在EXT-X-DISCONTINUITY标签前,且只能出现在媒体播放文件列表中 。</p> <p>         如果媒体列表文件中EXT-X-PLAYLIST-TYPE的值为VOD或者EVENT,则不可使用本标签。</p> <p> </p> <p>3.4.13 EXT-X-I-FRAMES-ONLY</p> <p>本选项标明播放列表文件中文件片都描述了一个I关键帧。本标签作用于整个播放列表文件。</p> <p>#EXT-X-I-FRAMES-ONLY</p> <p>在拥有 该标签的播放列表文件中,文件片的时长是从某一个I帧开始到另外一个I帧的出现或者文件列表末尾。</p> <p>包含关键帧资源的媒体文件必须以传输流PAT/PMT开始,或者与EXT-X-MAP标签一起出现。</p> <p>包含有EXT-X-BYTERANGE标签的I帧分片的字节范围不能包含PAT/PMT。本标签只应该出现在媒体文件列表中。</p> <p> </p> <p>3.4.14 EXT-X-MAP</p> <p>         本标签用于说明如何获取用于解析媒体文件片的头部信息,比如传输流 PAT/PMT 或者WebVTT头。</p> <p>         它作用于其后出现的所有文件片,直到文件末尾或EXT-X-DISCONTINUITY出现。</p> <p>         #EXT-X-MAP:<attribute-list></p> <p> </p> <p>         选项情况如下:</p> <p>         URI:”string” ,指明包含头部信息的资源的URI,必须的。</p> <p>         </p> <p>         </p> <p>         BYTERANGE:”string”,指明URI资源的一定字节范围,可选的。不填写该属性时,指代URI所指的全部资源。</p> <p> </p> <p>         这个标签的使用情景:当播放列表文件中的第一个文件片在资源的开头部分没有和PAT/PMT紧随,且文件片带有EXT-X-I-FRAMES-ONLY标签。该标签不应出现在主列表文件中。</p> <p> </p> <p>3.4.15 EXT-X-I-FRAME-STREAM-INF</p> <p>         本标签标明媒体播放列表文件包含多媒体内容的I-frame。本标签单独使用,不依赖于任何资源的URI。</p> <p>         #EXT-X-I-FRAME-STREAM-INF:<attribute-list></p> <p>本标签支持所有EXT-X-I-FRAME-STREAM-INF支持的属性,并额外支持一个URI属性。</p> <p> </p> <p>3.4.16 EXT-X-INDEPENDENT-SEGMENTS</p> <p>         本标签标明,一个分片可以独立解码而不需要其他分片的信息。本选项作用于列表文件中的所有项目。</p> <p>         #EXT-X-INDEPENDENT-SEGMENTS</p> <p>         本选项可选,但只能使用一次,当其放置在主列表文件中时,其作用于所有播放列表文件中的每一个文件片。貌似很有用啊。</p> <p> </p> <p>3.4.17 EXT-X-INDEPENDENT-SEGMENTS</p> <p>         没太看懂他的作用,有时间测试了之后再翻译这段。</p> <p> </p> <p>3.4.18 EXT-X-VERSION</p> <p>         本标签标明播放列表文件兼容版本。</p> <p>         #EXT-X-VERSION:<n></p> <p>         这个标签没啥意思,自己看看吧。</p> <pre>        </pre> <p> hls协议地址 :http://tools.ietf.org/html/draft-pantos-http-live-streaming-13#section-3.4.11</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1296111114798571520"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(hls)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835210310995243008.htm" title="FPGA器件在线配置方法概述" target="_blank">FPGA器件在线配置方法概述</a> <span class="text-muted">fpga和matlab</span> <a class="tag" taget="_blank" href="/search/FPGA/1.htm">FPGA</a><a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a><a class="tag" taget="_blank" href="/search/FPGA/1.htm">FPGA</a><a class="tag" taget="_blank" href="/search/%E5%9C%A8%E7%BA%BF%E9%85%8D%E7%BD%AE/1.htm">在线配置</a> <div>目录1.配置电路结构和原理2.ICR控制电路软件3.几种常见的FPGA在线配置方法3.1动态部分重配置(PartialReconfiguration,PR)3.2在系统编程(In-SystemProgramming,ISP)3.3多比特流配置(Multi-BitstreamConfiguration)3.4远程更新与配置3.5使用OpenCL或HLS工具FPGA(Field-Programmabl</div> </li> <li><a href="/article/1833390525701517312.htm" title="使用flv.js + websokect播放rtsp格式视频流" target="_blank">使用flv.js + websokect播放rtsp格式视频流</a> <span class="text-muted">音视频开发老马</span> <a class="tag" taget="_blank" href="/search/%E6%B5%81%E5%AA%92%E4%BD%93%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">流媒体服务器</a><a class="tag" taget="_blank" href="/search/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/1.htm">Android音视频开发</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/1.htm">音视频开发</a><a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/flv/1.htm">flv</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E5%AA%92%E4%BD%93%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">流媒体服务器</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/1.htm">音视频开发</a> <div>1.问题背景在最近的项目中,涉及到海康接入的视频播放的问题,海康这边获取到的视频流是rtsp格式,web端目前没有直接可以播放的组件,于是最开始是后端处理了视频流,返回hls格式的m3u8地址,这样用videojs插件就可以播放了,但是问题就是处理了的m3u8地址播放效果非常差,第一次加载时间较长,且播放过程中很卡,尤其是项目的界面做的是视频监控墙,不止一个视频,导致没办法看了。想着最好的方式还是</div> </li> <li><a href="/article/1833215304533110784.htm" title="which Linux" target="_blank">which Linux</a> <span class="text-muted">Caspian Wren</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>在Linux系统中,which命令用于定位并显示指定命令的完整路径。它会搜索系统的PATH变量中指定的目录,找到并输出第一个匹配的命令的完整路径。这对于确定在系统中执行哪个特定的命令很有用。例如,如果您想知道ls命令的完整路径,可以在终端中输入:whichls它将输出类似于/bin/ls的路径。which命令通常用于验证系统中是否安装了某个特定的命令,并且在脚本中查找命令的位置。</div> </li> <li><a href="/article/1832875630803382272.htm" title="ios流媒体直播整个框架介绍(HLS、RTSP)" target="_blank">ios流媒体直播整个框架介绍(HLS、RTSP)</a> <span class="text-muted">少一些浮躁__</span> <a class="tag" taget="_blank" href="/search/IOS/1.htm">IOS</a> <div>一、HTTP(WebService)基于HTTP的渐进下载ProgressiveDownload流媒体播放仅是在完全下载后再播放模式基础上做了一些小的改进。与下载播放模式中必须等待整个文件下载完毕后才能开始播放不同,渐进下载客户端在开始播放之前仅需等待一段较短的时间用于下载和缓冲该媒体文件最前面的一部分数据,之后便可以一边下载一边播放。在正式开始播放之前的这一小段缓冲应使得后续即使在网络较为拥塞的</div> </li> <li><a href="/article/1832593615667425280.htm" title="第11周作业---HLS编程环境入门" target="_blank">第11周作业---HLS编程环境入门</a> <span class="text-muted">pss_runner</span> <div>目录HLS概念HLS是什么HLS与VHDL/Verilog有什么关系?HLS技术问题HLS开发步骤环境搭建编写test.cpp文件预编译cpp文件HLS概念HLS是什么高层次综合(High-levelSynthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。所谓的高层次语言,包括C、C++、SystemC等,通常有着较高的抽象度,并且往往不具有时</div> </li> <li><a href="/article/1832070066338885632.htm" title="FFmpeg任意文件读取漏洞分析" target="_blank">FFmpeg任意文件读取漏洞分析</a> <span class="text-muted">音视频开发老马</span> <a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a> <div>背景介绍FFmpeg是一套目前非常流行的可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。目前有非常多的视音频软件或是视频网站、手机APP都采用了这个库,但是这个库历史上曝出的漏洞也非常之多。这次的漏洞是利用了ffmpeg可以处理HLS播放列表的功能,在AVI文件中的GAB2字幕块中嵌入了一个HLS文件,然后提供给ffmpeg进行转</div> </li> <li><a href="/article/1830445099503415296.htm" title="HLS点播实现(H.264和AAC码流)" target="_blank">HLS点播实现(H.264和AAC码流)</a> <span class="text-muted">辉辉岁月</span> <div>前言VideoToolbox硬编码H.264使用AudioToolbox编码AAC使用AudioToolbox播放AAC在前面我们介绍了从麦克风采集声音并用AudioToolbox编码成AAC码流和从摄像头采集图像并用VideoToolbox编码成H.264码流,这次我们不使用VideoToolbox和AudioToolbox播放音视频,而是把这两个格式的文件打包成TS流,并用通过HLS协议在浏览</div> </li> <li><a href="/article/1828557754290237440.htm" title="【React】react实现前端播放m3u8格式视频" target="_blank">【React】react实现前端播放m3u8格式视频</a> <span class="text-muted">ah_biao</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E5%A4%84%E7%90%86/1.htm">视频处理</a><a class="tag" taget="_blank" href="/search/hls/1.htm">hls</a> <div>DPlayer文档:http://dplayer.js.org导入依赖yarnadddplayerhls.js在头部引入依赖importDPlayerfrom'dplayer'constHls=require('hls.js')新建一个div初始化播放器componentDidMount(){video=newDPlayer({container:document.getElementById('</div> </li> <li><a href="/article/1826690432671772672.htm" title="Vitis/Vivado HLS 流水线中的存储依赖——解决方法之二" target="_blank">Vitis/Vivado HLS 流水线中的存储依赖——解决方法之二</a> <span class="text-muted">优质蛋白 - 芯片打工人</span> <a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%B1%82%E6%AC%A1%E7%BB%BC%E5%90%88HLS/1.htm">高层次综合HLS</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/fpga/1.htm">fpga</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a> <div>和上一篇内容Vitis/VivadoHLS流水线中的存储依赖——解决方法之一中一样,考虑以下函数模块,voidExampleModule(hls::streamstrm_in,hls::streamstrm_out){#pragmaHLSINTERFACEmode=ap_ctrl_noneport=returnt_datamem[2*N];#pragmaHLSBIND_STORAGEvariabl</div> </li> <li><a href="/article/1772492045785563136.htm" title="总结近一年折腾的那些事情-致敬Frp神器" target="_blank">总结近一年折腾的那些事情-致敬Frp神器</a> <span class="text-muted">WarmSword</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7/1.htm">工具</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/p2p/1.htm">p2p</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a> <div>蓦然回首,发现中年的自己,假期的日常主要就是休息遛娃游玩,好久没有写一写博客了。自己近1年有一些自己闲暇的时间的时候,其实也在折腾一些事情。gohls折腾的事情,主要是娱乐好玩工具性的一些东西,比如抄了一下gohls这个项目GitHub-shimberger/gohls:Aserverthatexposesadirectoryforvideostreamingviawebinterface,在家里</div> </li> <li><a href="/article/1761471008155459584.htm" title="又拍云传输协议对比及指标" target="_blank">又拍云传输协议对比及指标</a> <span class="text-muted">Allan_Zeng</span> <div>又拍云一站式直播解决方案基于又拍云CDN,支持RTMP、HTTP-FLV和HLS三大直播协议,并且通过智能调度、链路保障、追帧处理、丢帧处理以及业界首创的HLS+技术,将RTMP、HTTP-FLV直播延迟控制在1秒内,将HLS直播延时控制在4秒左右。</div> </li> <li><a href="/article/1759936693386964992.htm" title="除法器 c语言 模拟,用Vivado-HLS实现低latency除法器" target="_blank">除法器 c语言 模拟,用Vivado-HLS实现低latency除法器</a> <span class="text-muted">小小羊羊羊</span> <a class="tag" taget="_blank" href="/search/%E9%99%A4%E6%B3%95%E5%99%A8/1.htm">除法器</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E6%8B%9F/1.htm">模拟</a> <div>GeorgeWang–XilinxDSPSpecialist1VivadoHLS简介XilinxVivadoHigh-LevelSynthesis(HLS)工具将C,C++,或者SystemC设计规范,算法转成RegisterTransferLevel(RTL)实现,可综合到XilinxFPGA。将DSP算法快速转到RTLFPGA实现将C至RTL时间缩短4倍基于C语言的验证时间缩短100倍RTL仿</div> </li> <li><a href="/article/1759932106663882752.htm" title="【从Python基础到深度学习】 8. VIM两种状态" target="_blank">【从Python基础到深度学习】 8. VIM两种状态</a> <span class="text-muted">风筝超冷</span> <a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>一、安装sudoaptinstallvim二、VIM两种模式-命令状态/编辑状态1.1进入/退出VIM进入VIMvim退出vim:q2.2根目录下添加配置文件window下创建vimrc类型文件内容如下:setnusetcursorlinesethlsearchsettabstop=4使用Winscp将vimrc文件拖入根目录下(Winscp使用见【从Python基础到深度学习】3.Winscp与</div> </li> <li><a href="/article/1759895386857762816.htm" title="OpenCV 4基础篇| 色彩空间类型转换" target="_blank">OpenCV 4基础篇| 色彩空间类型转换</a> <span class="text-muted">游戏开发小Y</span> <a class="tag" taget="_blank" href="/search/OpenCV/1.htm">OpenCV</a><a class="tag" taget="_blank" href="/search/4%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E5%AE%9E%E6%88%98/1.htm">4从入门到实战</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/OpenCV/1.htm">OpenCV</a><a class="tag" taget="_blank" href="/search/4%E5%9F%BA%E7%A1%80%E7%AF%87/1.htm">4基础篇</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>目录1.色彩空间基础2.色彩空间类型2.1GRAY色彩空间2.2BGR色彩空间2.3CMY(K)色彩空间2.4XYZ色彩空间2.5HSV色彩空间2.6HLS色彩空间2.7CIEL*a*b*色彩空间2.8CIEL*u*v*色彩空间2.9YCrCb色彩空间3.类型转换函数3.1cv2.cvtColor3.2cv2.inRange1.色彩空间基础RGB图像是一种比较常见的色彩空间类型,除此之外,比较常见</div> </li> <li><a href="/article/1759856108723335168.htm" title="VSCode中Python报错已安装的模块不存在的解决" target="_blank">VSCode中Python报错已安装的模块不存在的解决</a> <span class="text-muted">MWHLS</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a> <div>文章首发见博客:https://mwhls.top/4889.html。无图/格式错误/后续更新请见首发页。更多更新请到mwhls.top查看欢迎留言提问或批评建议,私信不回。难得遇见奇葩报错,值得发文庆祝。场景使用VSCode时,在启用的环境A中,报错ModuleNotFoundError:Nomodulenamed'ftfy'。使用pipinstallftfy安装该库后,依然提示该报错。关闭该</div> </li> <li><a href="/article/1759818390945492992.htm" title="硬件加速OpenCV的图像处理方法研究" target="_blank">硬件加速OpenCV的图像处理方法研究</a> <span class="text-muted">Jason_儿</span> <div>摘要:研究了一种基于VivadoHLS加速OpenCV程序的方法,其核心是利用Xilinx高层次综合工具VivadoHLS,将C++编写的OpenCV程序按照VivadoHLS处理规范进行修改,进而将代码转换为硬件描述语言,可快速生成IP核。结合XilinxZynqSoC架构和其视频图像处理方面的优势,通过软硬件协同的方法,实现OpenCV程序算法向高性能处理平台ZynqSoC系统的移植和加速。该</div> </li> <li><a href="/article/1759794804834791424.htm" title="iOS 关于直播" target="_blank">iOS 关于直播</a> <span class="text-muted">SuperMan_Wang</span> <div>Mac上搭建直播服务器Nginx+rtmpMac直播服务器Nginx配置对HLS的支持使用nginx和rtmp插件搭建视频直播和点播服务器其实本人想自己做整套的直播(包括移动端和服务端),但是之前一直做得比较迷茫。最近偶然间看到以上三篇博客,瞬间解除了我很多疑惑。分享出来,希望大家一起研究下。稍后,我完整做好了,会更新一篇完整的做的过程。</div> </li> <li><a href="/article/1759712616793600000.htm" title="1⃣0⃣【德语纪录片】【ZDFinfo Doku】2020-09-10、Stadt frisst Mensch - Chinas Kampf um Wohnraum" target="_blank">1⃣0⃣【德语纪录片】【ZDFinfo Doku】2020-09-10、Stadt frisst Mensch - Chinas Kampf um Wohnraum</a> <span class="text-muted">Zeraphine</span> <div>StadtfrisstMensch-ChinasKampfumWohnraumChina:einLandderMegacitys.ImmermehrLeutedrängenindieständigexpandierendenMetropolen,dieWohlstandundModerneversprechen.DochumwelchenPreis?ImmobilienpreiseinChinas</div> </li> <li><a href="/article/1759640842794004480.htm" title="视频直播系统架构的设计与实现" target="_blank">视频直播系统架构的设计与实现</a> <span class="text-muted">007php007</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/API/1.htm">API</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a> <div>视频直播系统作为一种实时性强、用户互动性高的应用,其架构设计至关重要。本文将介绍如何设计和实现一个稳定、高性能的直播系统架构,以提供良好的用户体验和可靠的服务。1.系统架构概述-介绍视频直播系统的整体架构,包括客户端、服务器端、流媒体服务器等组成部分,并解释它们之间的交互关系。2.实时传输协议选择-探讨不同的实时传输协议,如RTMP、HLS、WebRTC等,以及它们在直播系统中的应用场景和优缺点。</div> </li> <li><a href="/article/1757410660058152960.htm" title="【Vitis】Vitis HLS2023不支持的功能特性" target="_blank">【Vitis】Vitis HLS2023不支持的功能特性</a> <span class="text-muted">神仙约架</span> <a class="tag" taget="_blank" href="/search/xilinx/1.htm">xilinx</a><a class="tag" taget="_blank" href="/search/vitis/1.htm">vitis</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a><a class="tag" taget="_blank" href="/search/xilinx/1.htm">xilinx</a><a class="tag" taget="_blank" href="/search/vitis/1.htm">vitis</a><a class="tag" taget="_blank" href="/search/hls/1.htm">hls</a> <div>VitisHLS简介Vitis™HLS是一种高层次综合工具,支持将C、C++和OpenCL™函数硬连线到器件逻辑互连结构和RAM/DSP块上。VitisHLS可在Vitis应用加速开发流程中实现硬件内核,并使用C/C++语言代码在Vivado®DesignSuite中为赛灵思器件设计开发RTLIP。【Vitis】HLS高层次综合的优势【Vitis】基于C++函数开发组件的步骤【Vitis】Viti</div> </li> <li><a href="/article/1757410527480397824.htm" title="【Vitis】Vitis HLS简介" target="_blank">【Vitis】Vitis HLS简介</a> <span class="text-muted">神仙约架</span> <a class="tag" taget="_blank" href="/search/vitis/1.htm">vitis</a><a class="tag" taget="_blank" href="/search/xilinx/1.htm">xilinx</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a><a class="tag" taget="_blank" href="/search/vitis/1.htm">vitis</a><a class="tag" taget="_blank" href="/search/HSL/1.htm">HSL</a><a class="tag" taget="_blank" href="/search/xilinx/1.htm">xilinx</a> <div>VitisHLS简介Vitis™HLS是一种高层次综合工具,支持将C、C++和OpenCL™函数硬连线到器件逻辑互连结构和RAM/DSP块上。VitisHLS可在Vitis应用加速开发流程中实现硬件内核,并使用C/C++语言代码在Vivado®DesignSuite中为赛灵思器件设计开发RTLIP。【Vitis】VitisHLS简介【Vitis】HLS高层次综合的优势【Vitis】基于C++函数开</div> </li> <li><a href="/article/1757287475602014208.htm" title="【生产实测有效】Linux磁盘清理常用命令" target="_blank">【生产实测有效】Linux磁盘清理常用命令</a> <span class="text-muted">白-胖-子</span> <a class="tag" taget="_blank" href="/search/Linux%E5%9F%BA%E7%A1%80%E5%91%BD%E4%BB%A4/1.htm">Linux基础命令</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/1.htm">运维常见问题</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>经常遇到磁盘空间告警需要清理常用方法磁盘空间分析先查看整体磁盘空间使用情况df-Thlsblk再有针对性的查看使用率过高的磁盘du-hsx--exclude=/{proc,sys,dev,boot,home,tmp,usr,var,app,ncltybbpo}/*查找大文件find.-typed-exectar-cjvf{}.tar.bz2{}\;-execrm-rf{}\;find.-maxde</div> </li> <li><a href="/article/1757247850141466624.htm" title="学习笔记:去广告时代下的品牌故事学" target="_blank">学习笔记:去广告时代下的品牌故事学</a> <span class="text-muted">数据分析成长记</span> <div>笔记整理自:梁将军:https://mp.weixin.qq.com/s/2pMKJlYZafHlS9cUu5PHhg故事的力量,它要比数据更容易说服别人,可以实现“认知大于事实”的效果01故事为什么可以“颠倒黑白”?故事提供了「思考框架」,故事可以将你带入一个默认的思考框架里,你一旦进入这个思考框架,你就丧失了其他判断。故事不是由事实组成,而是由「选择性事实」组成。在品牌故事的撰写里,企业要学会</div> </li> <li><a href="/article/1756981902520107008.htm" title="2020-03-09" target="_blank">2020-03-09</a> <span class="text-muted">龍_98f6</span> <div>2020-3-9linux基础命令1.文件查找或命令查找whichwhereis[root@wangjc~]#whichlsaliasls='ls--color=auto'/usr/bin/ls[root@wangjc~]#whereislsls:/usr/bin/ls/usr/share/man/man1/ls.1.gz==which==ls#查找ls命令的绝对路径==whereis==#查找命</div> </li> <li><a href="/article/1755958296390418432.htm" title="charles抓取https请求" target="_blank">charles抓取https请求</a> <span class="text-muted">Frankeen</span> <div>charles初始操作1,点击Help,然后点击SSLProxying,然后点击InstallCharlesRootCertificateonaMobileDeviceorRemoteBrowser.image.png2,在配置了代理的手机,手机在浏览器上面输入chls.pro/ssl然后下载按操作安装证书(安卓,ios手机安装都可能会出现一些问题,常见问题可以根据我下面讲解解决)image.pn</div> </li> <li><a href="/article/1755876213982773248.htm" title="使用HLS FFT报错: undefined reference to‘xilinx_ip_xfft_v9_1_*‘问题解决方法" target="_blank">使用HLS FFT报错: undefined reference to‘xilinx_ip_xfft_v9_1_*‘问题解决方法</a> <span class="text-muted">凳子花❀</span> <a class="tag" taget="_blank" href="/search/Verilog/1.htm">Verilog</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97IC%E8%AE%BE%E8%AE%A1/1.htm">数字IC设计</a><a class="tag" taget="_blank" href="/search/HLS/1.htm">HLS</a><a class="tag" taget="_blank" href="/search/HLS/1.htm">HLS</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a> <div>最近需要用到HLS的FFT库,写了一个简单代码后编译报错:../Vitis_HLS/hls_fft.h:670:undefinedreferenceto'xilinx_ip_xfft_v9_1_create_state'../Vitis_HLS/hls_fft.h:771:undefinedreferenceto'xilinx_ip_xfft_v9_1_bitacc_simulate'../Vit</div> </li> <li><a href="/article/1755875578449248256.htm" title="HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘" target="_blank">HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘</a> <span class="text-muted">凳子花❀</span> <a class="tag" taget="_blank" href="/search/HLS/1.htm">HLS</a><a class="tag" taget="_blank" href="/search/Verilog/1.htm">Verilog</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97IC%E8%AE%BE%E8%AE%A1/1.htm">数字IC设计</a><a class="tag" taget="_blank" href="/search/uvm/1.htm">uvm</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>最近在通过HLS实现一些算法,其中用到了hls::cos函数,写完代码编译报错:../Vitis_HLS/hls_cordic_apfixed.h:229:undefinedreferenceto`cordic_apfixed::circ_table_arctan_128'build/xf_computePhaseMap_accel.o:Infunction`voidcordic_apfixed:</div> </li> <li><a href="/article/1755855057443635200.htm" title="vue使用Mars3d弹框嵌套video视频/实时视频(m3u8)使用hls.js" target="_blank">vue使用Mars3d弹框嵌套video视频/实时视频(m3u8)使用hls.js</a> <span class="text-muted">Uxiao7</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>下载hls.jshttp://mars3d.cn/lib/video/hls/hls.js下载1.首先绘制地图我使用的天地图asyncinfoMars3d(){constthat=this;varmapOptions={scene:{center:{lat:30.435192,lng:103.936535,alt:200000,heading:359,pitch:-79},highDynamicR</div> </li> <li><a href="/article/1755558771813269504.htm" title="python视频播放列表信息库之m3u8使用详解" target="_blank">python视频播放列表信息库之m3u8使用详解</a> <span class="text-muted">Rocky006</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>m3u8库是什么?m3u8是一个用于解析和操作M3U8文件的Python库。M3U8文件,是指使用UTF-8编码格式的M3U文件,它们通常用于播放列表文件,尤其是在HTTPLiveStreaming(HLS)中。简单来说,m3u8库能帮助你读取和编辑存储视频播放列表信息的文件。为什么要使用m3u8库?在视频流技术中,M3U8文件扮演着至关重要的角色。它允许视频内容提供者将一个大视频分割成多个小片段</div> </li> <li><a href="/article/1755533741180076032.htm" title="Docker nginx容器代理播放m3u8视频文件(HLS)" target="_blank">Docker nginx容器代理播放m3u8视频文件(HLS)</a> <span class="text-muted">Dontla</span> <a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>文章目录DockerNginx容器代理播放M3U8文件教程获取NginxDocker镜像设置Nginx配置文件用ffmpeg将MP4文件转换成m3u8文件运行Docker容器测试M3U8流其他问题我用vlc都能播放http://192.168.121.50/forest4kTest.m3u8和http://192.168.121.50/forest4kTest.mp4,那还要m3u8做什么,直接播</div> </li> <li><a href="/article/50.htm" title="java封装继承多态等" target="_blank">java封装继承多态等</a> <span class="text-muted">麦田的设计者</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/encapsulatopn/1.htm">encapsulatopn</a> <div>       最近一段时间看了很多的视频却忘记总结了,现在只能想到什么写什么了,希望能起到一个回忆巩固的作用。     1、final关键字       译为:最终的        &</div> </li> <li><a href="/article/177.htm" title="F5与集群的区别" target="_blank">F5与集群的区别</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4/1.htm">集群</a><a class="tag" taget="_blank" href="/search/F5/1.htm">F5</a> <div>        http请求配置不是通过集群,而是F5;集群是weblogic容器的,如果是ejb接口是通过集群。         F5同集群的差别,主要还是会话复制的问题,F5一把是分发http请求用的,因为http都是无状态的服务,无需关注会话问题,类似</div> </li> <li><a href="/article/304.htm" title="LeetCode[Math] - #7 Reverse Integer" target="_blank">LeetCode[Math] - #7 Reverse Integer</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a> <div>原题链接:#7 Reverse Integer   要求: 按位反转输入的数字 例1: 输入 x = 123, 返回 321 例2: 输入 x = -123, 返回 -321   难度:简单   分析: 对于一般情况,首先保存输入数字的符号,然后每次取输入的末位(x%10)作为输出的高位(result = result*10 + x%10)即可。但</div> </li> <li><a href="/article/431.htm" title="BufferedOutputStream" target="_blank">BufferedOutputStream</a> <span class="text-muted">周凡杨</span> <div>     首先说一下这个大批量,是指有上千万的数据量。      例子:      有一张短信历史表,其数据有上千万条数据,要进行数据备份到文本文件,就是执行如下SQL然后将结果集写入到文件中!      select t.msisd</div> </li> <li><a href="/article/558.htm" title="linux下模拟按键输入和鼠标" target="_blank">linux下模拟按键输入和鼠标</a> <span class="text-muted">被触发</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>查看/dev/input/eventX是什么类型的事件, cat /proc/bus/input/devices 设备有着自己特殊的按键键码,我需要将一些标准的按键,比如0-9,X-Z等模拟成标准按键,比如KEY_0,KEY-Z等,所以需要用到按键 模拟,具体方法就是操作/dev/input/event1文件,向它写入个input_event结构体就可以模拟按键的输入了。 linux/in</div> </li> <li><a href="/article/685.htm" title="ContentProvider初体验" target="_blank">ContentProvider初体验</a> <span class="text-muted">肆无忌惮_</span> <a class="tag" taget="_blank" href="/search/ContentProvider/1.htm">ContentProvider</a> <div>ContentProvider在安卓开发中非常重要。与Activity,Service,BroadcastReceiver并称安卓组件四大天王。 在android中的作用是用来对外共享数据。因为安卓程序的数据库文件存放在data/data/packagename里面,这里面的文件默认都是私有的,别的程序无法访问。 如果QQ游戏想访问手机QQ的帐号信息一键登录,那么就需要使用内容提供者COnte</div> </li> <li><a href="/article/812.htm" title="关于Spring MVC项目(maven)中通过fileupload上传文件" target="_blank">关于Spring MVC项目(maven)中通过fileupload上传文件</a> <span class="text-muted">843977358</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9%E5%A4%B4%E5%83%8F/1.htm">修改头像</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a><a class="tag" taget="_blank" href="/search/upload/1.htm">upload</a> <div>Spring MVC 中通过fileupload上传文件,其中项目使用maven管理。   1.上传文件首先需要的是导入相关支持jar包:commons-fileupload.jar,commons-io.jar 因为我是用的maven管理项目,所以要在pom文件中配置(每个人的jar包位置根据实际情况定) <!-- 文件上传 start by zhangyd-c --&g</div> </li> <li><a href="/article/939.htm" title="使用svnkit api,纯java操作svn,实现svn提交,更新等操作" target="_blank">使用svnkit api,纯java操作svn,实现svn提交,更新等操作</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/svnkit/1.htm">svnkit</a> <div> 原文:http://blog.csdn.net/hardwin/article/details/7963318   import java.io.File; import org.apache.log4j.Logger; import org.tmatesoft.svn.core.SVNCommitInfo; import org.tmateso</div> </li> <li><a href="/article/1066.htm" title="对比浏览器,casperjs,httpclient的Header信息" target="_blank">对比浏览器,casperjs,httpclient的Header信息</a> <span class="text-muted">alleni123</span> <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/crawler/1.htm">crawler</a><a class="tag" taget="_blank" href="/search/header/1.htm">header</a> <div> @Override protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String type=req.getParameter("type"); Enumeration es=re</div> </li> <li><a href="/article/1193.htm" title="java.io操作 DataInputStream和DataOutputStream基本数据流" target="_blank">java.io操作 DataInputStream和DataOutputStream基本数据流</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%B5%81/1.htm">流</a> <div>1,java中如果不保存整个对象,只保存类中的属性,那么我们可以使用本篇文章中的方法,如果要保存整个对象  先将类实例化  后面的文章将详细写到     2,DataInputStream 是java.io包中一个数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。</div> </li> <li><a href="/article/1320.htm" title="车辆保险理赔案例" target="_blank">车辆保险理赔案例</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E8%BD%A6%E9%99%A9/1.htm">车险</a> <div>理赔案例: 一货运车,运输公司为车辆购买了机动车商业险和交强险,也买了安全生产责任险,运输一车烟花爆竹,在行驶途中发生爆炸,出现车毁、货损、司机亡、炸死一路人、炸毁一间民宅等惨剧,针对这几种情况,该如何赔付。 赔付建议和方案: 客户所买交强险在这里不起作用,因为交强险的赔付前提是:“机动车发生道路交通意外事故”; 如果是交通意外事故引发的爆炸,则优先适用交强险条款进行赔付,不足的部分由商业</div> </li> <li><a href="/article/1447.htm" title="学习Spring必学的Java基础知识(5)—注解" target="_blank">学习Spring必学的Java基础知识(5)—注解</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>        文章来源:http://www.iteye.com/topic/1123823,整理在我的博客有两个目的:一个是原文确实很不错,通俗易懂,督促自已将博主的这一系列关于Spring文章都学完;另一个原因是为免原文被博主删除,在此记录,方便以后查找阅读。           有必要对</div> </li> <li><a href="/article/1574.htm" title="【Struts2一】Struts2 Hello World" target="_blank">【Struts2一】Struts2 Hello World</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Hello+world/1.htm">Hello world</a> <div>Struts2 Hello World应用的基本步骤 创建Struts2的Hello World应用,包括如下几步: 1.配置web.xml 2.创建Action 3.创建struts.xml,配置Action 4.启动web server,通过浏览器访问   配置web.xml <?xml version="1.0" encoding="</div> </li> <li><a href="/article/1701.htm" title="【Avro二】Avro RPC框架" target="_blank">【Avro二】Avro RPC框架</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a> <div>1. Avro RPC简介 1.1. RPC RPC逻辑上分为二层,一是传输层,负责网络通信;二是协议层,将数据按照一定协议格式打包和解包 从序列化方式来看,Apache Thrift 和Google的Protocol Buffers和Avro应该是属于同一个级别的框架,都能跨语言,性能优秀,数据精简,但是Avro的动态模式(不用生成代码,而且性能很好)这个特点让人非常喜欢,比较适合R</div> </li> <li><a href="/article/1828.htm" title="lua set get cookie" target="_blank">lua set get cookie</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/lua+cookie/1.htm">lua cookie</a> <div>lua: local access_token = ngx.var.cookie_SGAccessToken if access_token then ngx.header["Set-Cookie"] = "SGAccessToken="..access_token.."; path=/;Max-Age=3000" end</div> </li> <li><a href="/article/1955.htm" title="java-打印不大于N的质数" target="_blank">java-打印不大于N的质数</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class PrimeNumber { /** * 寻找不大于N的质数 */ public static void main(String[] args) { int n=100; PrimeNumber pn=new PrimeNumber(); pn.printPrimeNumber(n); System.out.print</div> </li> <li><a href="/article/2082.htm" title="Spring源码学习-PropertyPlaceholderHelper" target="_blank">Spring源码学习-PropertyPlaceholderHelper</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>今天在看Spring 3.0.0.RELEASE的源码,发现PropertyPlaceholderHelper的一个bug 当时觉得奇怪,上网一搜,果然是个bug,不过早就有人发现了,且已经修复: 详见: http://forum.spring.io/forum/spring-projects/container/88107-propertyplaceholderhelper-bug </div> </li> <li><a href="/article/2209.htm" title="[逻辑与拓扑]布尔逻辑与拓扑结构的结合会产生什么?" target="_blank">[逻辑与拓扑]布尔逻辑与拓扑结构的结合会产生什么?</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E6%8B%93%E6%89%91/1.htm">拓扑</a> <div>    如果我们已经在一个工作流的节点中嵌入了可以进行逻辑推理的代码,那么成百上千个这样的节点如果组成一个拓扑网络,而这个网络是可以自动遍历的,非线性的拓扑计算模型和节点内部的布尔逻辑处理的结合,会产生什么样的结果呢?    是否可以形成一种新的模糊语言识别和处理模型呢?  大家有兴趣可以试试,用软件搞这些有个好处,就是花钱比较少,就算不成</div> </li> <li><a href="/article/2336.htm" title="ITEYE 都换百度推广了" target="_blank">ITEYE 都换百度推广了</a> <span class="text-muted">cuisuqiang</span> <a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a><a class="tag" taget="_blank" href="/search/AdSense/1.htm">AdSense</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6%E6%8E%A8%E5%B9%BF/1.htm">百度推广</a><a class="tag" taget="_blank" href="/search/%E5%B9%BF%E5%91%8A/1.htm">广告</a><a class="tag" taget="_blank" href="/search/%E5%A4%96%E5%BF%AB/1.htm">外快</a> <div>以前ITEYE的广告都是谷歌的Google AdSense,现在都换成百度推广了。   为什么个人博客设置里面还是Google AdSense呢?   都知道Google AdSense不好申请,这在ITEYE上也不是讨论了一两天了,强烈建议ITEYE换掉Google AdSense。至少,用一个好申请的吧。   什么时候能从ITEYE上来点外快,哪怕少点</div> </li> <li><a href="/article/2463.htm" title="新浪微博技术架构分析" target="_blank">新浪微博技术架构分析</a> <span class="text-muted">dalan_123</span> <a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A/1.htm">新浪微博</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>新浪微博在短短一年时间内从零发展到五千万用户,我们的基层架构也发展了几个版本。第一版就是是非常快的,我们可以非常快的实现我们的模块。我们看一下技术特点,微博这个产品从架构上来分析,它需要解决的是发表和订阅的问题。我们第一版采用的是推的消息模式,假如说我们一个明星用户他有10万个粉丝,那就是说用户发表一条微博的时候,我们把这个微博消息攒成10万份,这样就是很简单了,第一版的架构实际上就是这两行字。第</div> </li> <li><a href="/article/2590.htm" title="玩转ARP攻击" target="_blank">玩转ARP攻击</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/r/1.htm">r</a> <div>我写这片文章只是想让你明白深刻理解某一协议的好处。高手免看。如果有人利用这片文章所做的一切事情,盖不负责。 网上关于ARP的资料已经很多了,就不用我都说了。 用某一位高手的话来说,“我们能做的事情很多,唯一受限制的是我们的创造力和想象力”。 ARP也是如此。 以下讨论的机子有 一个要攻击的机子:10.5.4.178 硬件地址:52:54:4C:98</div> </li> <li><a href="/article/2717.htm" title="PHP编码规范" target="_blank">PHP编码规范</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83/1.htm">编码规范</a> <div>一、文件格式 1. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。例如:<?php$foo = 'foo';2. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,禁止使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。例</div> </li> <li><a href="/article/2844.htm" title="linux 脱机管理(nohup)" target="_blank">linux 脱机管理(nohup)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux+nohup/1.htm">linux nohup</a><a class="tag" taget="_blank" href="/search/nohup/1.htm">nohup</a> <div>脱机管理 nohup 转载请出自出处:http://eksliang.iteye.com/blog/2166699 nohup可以让你在脱机或者注销系统后,还能够让工作继续进行。他的语法如下 nohup [命令与参数] --在终端机前台工作 nohup [命令与参数] & --在终端机后台工作   但是这个命令需要注意的是,nohup并不支持bash的内置命令,所</div> </li> <li><a href="/article/2971.htm" title="BusinessObjects Enterprise Java SDK" target="_blank">BusinessObjects Enterprise Java SDK</a> <span class="text-muted">greemranqq</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/SAP/1.htm">SAP</a><a class="tag" taget="_blank" href="/search/Crystal+Reports/1.htm">Crystal Reports</a> <div>最近项目用到oracle_ADF  从SAP/BO 上调用 水晶报表,资料比较少,我做一个简单的分享,给和我一样的新手 提供更多的便利。   首先,我是尝试用JAVA JSP 去访问的。   官方API:http://devlibrary.businessobjects.com/BusinessObjectsxi/en/en/BOE_SDK/boesdk_ja</div> </li> <li><a href="/article/3098.htm" title="系统负载剧变下的管控策略" target="_blank">系统负载剧变下的管控策略</a> <span class="text-muted">iamzhongyong</span> <a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%B9%B6%E5%8F%91/1.htm">高并发</a> <div>假如目前的系统有100台机器,能够支撑每天1亿的点击量(这个就简单比喻一下),然后系统流量剧变了要,我如何应对,系统有那些策略可以处理,这里总结了一下之前的一些做法。 1、水平扩展 这个最容易理解,加机器,这样的话对于系统刚刚开始的伸缩性设计要求比较高,能够非常灵活的添加机器,来应对流量的变化。 2、系统分组 假如系统服务的业务不同,有优先级高的,有优先级低的,那就让不同的业务调用提前分组</div> </li> <li><a href="/article/3225.htm" title="BitTorrent DHT 协议中文翻译" target="_blank">BitTorrent DHT 协议中文翻译</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/bit/1.htm">bit</a> <div>前言 做了一个磁力链接和BT种子的搜索引擎 {Magnet & Torrent},因此把 DHT 协议重新看了一遍。 BEP: 5Title: DHT ProtocolVersion: 3dec52cb3ae103ce22358e3894b31cad47a6f22bLast-Modified: Tue Apr 2 16:51:45 2013 -070</div> </li> <li><a href="/article/3352.htm" title="Ubuntu下Java环境的搭建" target="_blank">Ubuntu下Java环境的搭建</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a> <div>配置命令:   $sudo apt-get install ubuntu-restricted-extras   再运行如下命令:   $sudo apt-get install sun-java6-jdk   待安装完毕后选择默认Java.   $sudo update- alternatives --config java   安装过程提示选择,输入“2”即可,然后按回车键确定。 </div> </li> <li><a href="/article/3479.htm" title="js字符串转日期(兼容IE所有版本)" target="_blank">js字符串转日期(兼容IE所有版本)</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/TO/1.htm">TO</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a><a class="tag" taget="_blank" href="/search/String/1.htm">String</a><a class="tag" taget="_blank" href="/search/IE/1.htm">IE</a> <div> /** * 字符串转时间(yyyy-MM-dd HH:mm:ss) * result (分钟) */ stringToDate : function(fDate){ var fullDate = fDate.split(" ")[0].split("-"); var fullTime = fDate.split("</div> </li> <li><a href="/article/3606.htm" title="【数据挖掘学习】关联规则算法Apriori的学习与SQL简单实现购物篮分析" target="_blank">【数据挖掘学习】关联规则算法Apriori的学习与SQL简单实现购物篮分析</a> <span class="text-muted">superlxw1234</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E5%85%B3%E8%81%94%E8%A7%84%E5%88%99/1.htm">关联规则</a> <div>关联规则挖掘用于寻找给定数据集中项之间的有趣的关联或相关关系。 关联规则揭示了数据项间的未知的依赖关系,根据所挖掘的关联关系,可以从一个数据对象的信息来推断另一个数据对象的信息。 例如购物篮分析。牛奶 ⇒ 面包 [支持度:3%,置信度:40%] 支持度3%:意味3%顾客同时购买牛奶和面包。 置信度40%:意味购买牛奶的顾客40%也购买面包。 规则的支持度和置信度是两个规则兴</div> </li> <li><a href="/article/3733.htm" title="Spring 5.0 的系统需求,期待你的反馈" target="_blank">Spring 5.0 的系统需求,期待你的反馈</a> <span class="text-muted">wiselyman</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>               Spring 5.0将在2016年发布。Spring5.0将支持JDK 9。          Spring 5.0的特性计划还在工作中,请保持关注,所以作者希望从使用者得到关于Spring 5.0系统需求方面的反馈。  </div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>