m3u8格式说明

阅读更多

一、概念
1. Playlist file
    一个M3U的 Playlist 就是一个由多个独立行组成的文本文件,每行由回车/换行区分。每一行可以是一个URI  空白行或
是以”#“号开头的字符串,并且空格只能存在于一行中不同元素间的分隔。
   一个URI 表示一个媒体段或是”variant Playlist file“(最多支持一层嵌套,即一个mm3u8文件中嵌套另一个m3u8),
以”#EXT“开头的表示一个”tag“,否则表示注释,直接忽略
2. Tags
    #EXTM3U:  每个M3U文件第一行必须是这个tag。
    #EXTINF:指定每个媒体段(ts)的持续时间,这个仅对其后面的URI有效,每两个媒体段URI间被这个tag分隔开,其格式如下:
                     #EXTINF:,  :<br>  duration表示持续的时间(秒)”Durations MUST be integers if the protocol version of the Playlist file is less</p> <p style="margin-right: auto; margin-bottom: 15px; margin-left: auto; border: 0px; text-indent: 24px; color: #222222; font-family: 'Microsoft YaHei', SimSun, Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;">than 3“,否则可以是浮点数。<br>    #EXT-X-BYTERANGE:表示媒体段是一个媒体URI资源中的一段,只对其后的media URI有效,格式如下:<br>                     #EXT-X-BYTERANGE:<n>[@o]:<br>  其中n表示这个区间的大小,o表在URI中的offset;”The EXT-X-BYTERANGE tag appeared in version 4 of the protocol“。<br>    #EXT-X-TARGETDURATION:指定最大的媒体段时间长(秒)。所以#EXTINF中指定的时间长度必须小于或是等于这个最大<br>值。这个tag在整个PlayList文件中只能出现一 次(在嵌套的情况下,一般有真正ts url的m3u8才会出现该tag)。格式如下:<br>                     #EXT-X-TARGETDURATION:<s>:s表示最大的秒数。</p> <p style="margin-right: auto; margin-bottom: 15px; margin-left: auto; border: 0px; text-indent: 24px; color: #222222; font-family: 'Microsoft YaHei', SimSun, Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;">    #EXT-X-MEDIA-SEQUENCE:每一个media URI 在 PlayList中只有唯一的序号,相邻之间序号+1。<br>                     #EXT-X-MEDIA-SEQUENCE:<number>:<br>                    一个media URI并不是必须要包含的,如果没有,默认为0。<br>    #EXT-X-KEY:表示怎么对media segments进行解码。其作用范围是下次该tag出现前的所有media URI,格式如下:<br>                     #EXT-X-KEY:<attribute-list>:<br>                    NONE 或者 AES-128。如果是NONE,则URI以及IV属性必须不存在,如果是AES-128(Advanced Encryption</p> <p style="margin-right: auto; margin-bottom: 15px; margin-left: auto; border: 0px; text-indent: 24px; color: #222222; font-family: 'Microsoft YaHei', SimSun, Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;">                    Standard),则URI必须存在,IV可以不存在。<br>                    对于AES-128的情况,keytag和URI属性共同表示了一个key文件,通过URI可以获得这个key,如果没有<br>                    IV(Initialization Vector),则使用序列号作为IV进行编解码,将序列号的高位赋到16个字节的buffer中,左边补0;如果<br>                    有IV,则将改值当成16个字节的16进制数。</p> <p style="margin-right: auto; margin-bottom: 15px; margin-left: auto; border: 0px; text-indent: 24px; color: #222222; font-family: 'Microsoft YaHei', SimSun, Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;">    #EXT-X-PROGRAM-DATE-TIME:将一个绝对时间或是日期和一个媒体段中的第一个sample相关联,只对下一个meida URI有效,格式如下:<br>                     #EXT-X-PROGRAM-DATE-TIME:<YYYY-MM-DDThh:mm:ssZ><br>                     For example:<br>                     #EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00<br>   #EXT-X-ALLOW-CACHE:是否允许做cache,这个可以在PlayList文件中任意地方出现,并且最多出现一次,作用效果是所有的媒体段。格式如下:<br>                     #EXT-X-ALLOW-CACHE:<YES|NO><br>   #EXT-X-PLAYLIST-TYPE: 提供关于PlayList的可变性的信息, 这个对整个PlayList文件有效,是可选的,格式如下:<br>                     #EXT-X-PLAYLIST-TYPE:<EVENT|VOD> :如果是VOD,则服务器不能改变PlayList 文件;如果是EVENT,则<br>服务器不能改变或是删除PlayList文件中的任何部分,但是可以向该文件中增加新的一行内容。<br>   #EXT-X-ENDLIST:表示PlayList的末尾了,它可以在PlayList中任意位置出现,但是只能出现一个,格式如下:<br>                     #EXT-X-ENDLIST<br>   #EXT-X-MEDIA:被用来在PlayList中表示相同内容的不用语种/译文的版本,比如可以通过使用3个这种tag表示3中不用语音的音<br>频,或者用2个这个tag表示不同角度的video在PlayLists中。这个标签是独立存在的,其格式如下:<br>                    #EXT-X-MEDIA:<attribute-list>:该属性列表中包含:URI、TYPE、GROUP-ID、LANGUAGE、NAME、DEFAULT、AUTOSELECT。<br>                    URI:如果没有,则表示这个tag描述的可选择版本在主PlayList的EXT-X-STREAM-INF中存在;<br>                    TYPE:AUDIO and VIDEO;<br>                    GROUP-ID:具有相同ID的MEDIAtag,组成一组样式;<br>                    LANGUAGE:identifies the primary language used in the rendition。<br>                    NAME:The value is a quoted-string containing a human-readable description of the rendition. If the LANGUAGE attribute is present then this description SHOULD be in that language。<br>                    DEFAULT: YES或是NO,默认是No,如果是YES,则客户端会以这种选项来播放,除非用户自己进行选择。<br>                    AUTOSELECT:YES或是NO,默认是No,如果是YES,则客户端会根据当前播放环境来进行选择(用户没有根据自己偏好进行选择的前提下)。<br>        The EXT-X-MEDIA tag appeared in version 4 of the protocol。<br>o All EXT-X-MEDIA tags in the same group MUST have the same TYPE<br>attribute.<br>o All EXT-X-MEDIA tags in the same group MUST have different NAME<br>attributes.<br>o A group MUST NOT have more than one member with a DEFAULT<br>attribute of YES.<br>o All members of a group whose AUTOSELECT attribute has a value of<br>YES MUST have LANGUAGE [RFC5646] attributes with unique values.<br>o All members of a group with TYPE=AUDIO MUST use the same audio<br>sample format.<br>o All members of a group with TYPE=VIDEO MUST use the same video<br>sample format。</p> <p style="margin-right: auto; margin-bottom: 15px; margin-left: auto; border: 0px; text-indent: 24px; color: #222222; font-family: 'Microsoft YaHei', SimSun, Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;">  #EXT-X-STREAM-INF:指定一个包含多媒体信息的 media URI 作为PlayList,一般做M3U8的嵌套使用,它只对紧跟后面的URI有<br>效,格式如下:<br>#EXT-X-STREAM-INF:<attribute-list><br><URI><br>有以下属性:<br>BANDWIDTH:带宽,必须有。<br>PROGRAM-ID:该值是一个十进制整数,惟一地标识一个在PlayList文件范围内的特定的描述。一个PlayList 文件中可<br>能包含多个有相同ID的此tag。<br>CODECS:不是必须的。<br>RESOLUTION:分辨率。<br>AUDIO:这个值必须和AUDIO类别的“EXT-X-MEDIA”标签中“GROUP-ID”属性值相匹配。<br>VIDEO:同上</p> <p style="margin-right: auto; margin-bottom: 15px; margin-left: auto; border: 0px; text-indent: 24px; color: #222222; font-family: 'Microsoft YaHei', SimSun, Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;">m3u8的组成格式有多种,下面给出一个实例,http://ipadlive.cntv.soooner.com/cctv_p2p_hdcctv2.m3u8这个是CCTV-2财经的一个源,内容如下<br>#EXTM3U<br>#EXT-X-ALLOW-CACHE:NO<br>#EXT-X-TARGETDURATION:10<br>#EXT-X-MEDIA-SEQUENCE:8453235<br>#EXTINF:19,<br>http://124.232.164.44:80/ipad/160_15601_4572/20130804075250.ts?userid=VSNDNP-183061027101_160_15601_4572<br>#EXTINF:2,<br>http://124.232.164.44:80/ipad/160_15601_4572/20130804075300.ts?userid=VSNDNP-183061027101_160_15601_4572<br>#EXTINF:10,<br>http://124.232.164.44:80/ipad/160_15601_4572/20130804075310.ts?userid=VSNDNP-183061027101_160_15601_4572</p> <p style="margin-right: auto; margin-bottom: 15px; margin-left: auto; border: 0px; text-indent: 24px; color: #222222; font-family: 'Microsoft YaHei', SimSun, Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;">如果是这种的话,就很方便其中http一行就是完整的一个链接,否则还要进行拼接。</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1177175803578871808"></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/99.htm" title="ios内付费" target="_blank">ios内付费</a> <span class="text-muted">374016526</span> <a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E4%BB%98%E8%B4%B9/1.htm">内付费</a> <div>近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。   具体使用如下: 这里的sender其实就是调用者,这里主要是为了回调使用。 [KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa</div> </li> <li><a href="/article/226.htm" title="20 款优秀的 Linux 终端仿真器" target="_blank">20 款优秀的 Linux 终端仿真器</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/linux%E8%A7%86%E9%A2%91/1.htm">linux视频</a><a class="tag" taget="_blank" href="/search/linux%E8%B5%84%E6%96%99/1.htm">linux资料</a><a class="tag" taget="_blank" href="/search/linux%E8%87%AA%E5%AD%A6/1.htm">linux自学</a><a class="tag" taget="_blank" href="/search/linux%E6%95%99%E7%A8%8B/1.htm">linux教程</a> <div>  终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。) 你能从开源世界中找到大量的终端仿真器,它们</div> </li> <li><a href="/article/353.htm" title="Solr Deep Paging(solr 深分页)" target="_blank">Solr Deep Paging(solr 深分页)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/solr%E6%B7%B1%E5%88%86%E9%A1%B5/1.htm">solr深分页</a><a class="tag" taget="_blank" href="/search/solr%E5%88%86%E9%A1%B5%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98/1.htm">solr分页性能问题</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2148370 作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述 长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr</div> </li> <li><a href="/article/480.htm" title="数据库面试题" target="_blank">数据库面试题</a> <span class="text-muted">18289753290</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98+%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">面试题 数据库</a> <div>1.union ,union all 网络搜索出的最佳答案: union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序; 2.索引有哪些分类?作用是</div> </li> <li><a href="/article/607.htm" title="Android TV屏幕适配" target="_blank">Android TV屏幕适配</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>先说下现在市面上TV分辨率的大概情况 两种分辨率为主 1.720标清,分辨率为1280x720. 屏幕尺寸以32寸为主,部分电视为42寸 2.1080p全高清,分辨率为1920x1080 屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有   适配遇到问题,已1080p尺寸为例: 分辨率固定不变,屏幕尺寸变化较大。 如:效果图尺寸为1920x1080,如果使用d</div> </li> <li><a href="/article/734.htm" title="Timer定时器与ActionListener联合应用" target="_blank">Timer定时器与ActionListener联合应用</a> <span class="text-muted">永夜-极光</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>功能:在控制台每秒输出一次   代码: package Main; import javax.swing.Timer; import java.awt.event.*; public class T { private static int count = 0; public static void main(String[] args){ </div> </li> <li><a href="/article/861.htm" title="Ubuntu14.04系统Tab键不能自动补全问题解决" target="_blank">Ubuntu14.04系统Tab键不能自动补全问题解决</a> <span class="text-muted">随便小屋</span> <a class="tag" taget="_blank" href="/search/Ubuntu+14.04/1.htm">Ubuntu 14.04</a> <div>Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下:   1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限) sudo vi /etc/bash.bashrc  接下来会提示输入密码 2、找到文件中的下列代码 #enable bash completion in interactive shells #if</div> </li> <li><a href="/article/988.htm" title="学会人际关系三招 轻松走职场" target="_blank">学会人际关系三招 轻松走职场</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA/1.htm">职场</a> <div>要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。   第一,多汇报 最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。   第二,勤沟通 团队的力</div> </li> <li><a href="/article/1115.htm" title="《O2O:移动互联网时代的商业革命》读书笔记" target="_blank">《O2O:移动互联网时代的商业革命》读书笔记</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a> <div>移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。   O2O:Online to OffLine 线上线下活动 O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。   手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。   线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人</div> </li> <li><a href="/article/1242.htm" title="js实现图片随鼠标滚动的效果" target="_blank">js实现图片随鼠标滚动的效果</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E6%BB%9A%E5%8A%A8%E5%B1%9E%E6%80%A7%E7%9A%84%E8%8E%B7%E5%8F%96/1.htm">滚动属性的获取</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%89%87%E6%BB%9A%E5%8A%A8/1.htm">图片滚动</a><a class="tag" taget="_blank" href="/search/%E5%B1%9E%E6%80%A7%E8%8E%B7%E5%8F%96/1.htm">属性获取</a><a class="tag" taget="_blank" href="/search/%E9%A1%B5%E9%9D%A2%E5%8A%A0%E8%BD%BD/1.htm">页面加载</a> <div>1,获取样式属性值 top 与顶部的距离 left 与左边的距离 right 与右边的距离 bottom 与下边的距离 zIndex 层叠层次     例子:获取左边的宽度,当css写在body标签中时 <div id="adver" style="position:absolute;top:50px;left:1000p</div> </li> <li><a href="/article/1369.htm" title="ajax同步异步参数async" target="_blank">ajax同步异步参数async</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/async/1.htm">async</a> <div>        开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。         格式: $.ajax({ type: 'POST', ur</div> </li> <li><a href="/article/1496.htm" title="Webx3框架(1)" target="_blank">Webx3框架(1)</a> <span class="text-muted">Bill_chen</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a> <div>Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发; 采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。 Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部</div> </li> <li><a href="/article/1623.htm" title="【MongoDB学习笔记五】MongoDB概述" target="_blank">【MongoDB学习笔记五】MongoDB概述</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo</div> </li> <li><a href="/article/1750.htm" title="spring/hibernate/struts2常见异常总结" target="_blank">spring/hibernate/struts2常见异常总结</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div> Spring ①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException 缺少aspectjweaver.jar,该jar包常用于spring aop中   ②java.lang.ClassNotFoundException: org.sprin</div> </li> <li><a href="/article/1877.htm" title="jquery easyui表单重置(reset)扩展思路" target="_blank">jquery easyui表单重置(reset)扩展思路</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/form/1.htm">form</a><a class="tag" taget="_blank" href="/search/jquery+easyui/1.htm">jquery easyui</a><a class="tag" taget="_blank" href="/search/reset/1.htm">reset</a> <div>在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。 扩展的时候要考虑的控件有: combo,combobox,combogrid,combotree,datebox,datetimebox 需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。 在所有的reset方法添加完毕之后,就需要对fo</div> </li> <li><a href="/article/2004.htm" title="编程之美-烙饼排序" target="_blank">编程之美-烙饼排序</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> package beautyOfCoding; import java.util.Arrays; /* *《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。 *《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码: */ </div> </li> <li><a href="/article/2131.htm" title="Struts1.X 源码分析之ActionForm赋值原理" target="_blank">Struts1.X 源码分析之ActionForm赋值原理</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a> <div>struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。 如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s</div> </li> <li><a href="/article/2258.htm" title="[空天防御与经济]在获得充足的外部资源之前,太空投资需有限度" target="_blank">[空天防御与经济]在获得充足的外部资源之前,太空投资需有限度</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90/1.htm">资源</a> <div>       这里有一个常识性的问题:       地球的资源,人类的资金是有限的,而太空是无限的.....       就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制.... &</div> </li> <li><a href="/article/2385.htm" title="ORACLE临时表—ON COMMIT PRESERVE ROWS" target="_blank">ORACLE临时表—ON COMMIT PRESERVE ROWS</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E4%B8%B4%E6%97%B6%E8%A1%A8/1.htm">临时表</a> <div>ORACLE临时表 转 临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前 会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。 创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会</div> </li> <li><a href="/article/2512.htm" title="基于Nginx XSendfile+SpringMVC进行文件下载" target="_blank">基于Nginx XSendfile+SpringMVC进行文件下载</a> <span class="text-muted">denger</span> <a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a><a class="tag" taget="_blank" href="/search/lighttpd/1.htm">lighttpd</a> <div>    在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。 @RequestMapping("/courseware/{id}") public void download(@PathVariable("id") String courseID, HttpServletResp</div> </li> <li><a href="/article/2639.htm" title="scanf接受char类型的字符" target="_blank">scanf接受char类型的字符</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div>/* 2013年3月11日22:35:54 目的:学习char只接受一个字符 */ # include <stdio.h> int main(void) { int i; char ch; scanf("%d", &i); printf("i = %d\n", i); scanf("%</div> </li> <li><a href="/article/2766.htm" title="学编程的价值" target="_blank">学编程的价值</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助   像这位朋友学习:   http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html   VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的</div> </li> <li><a href="/article/2893.htm" title="二维数组(矩阵)对角线输出" target="_blank">二维数组(矩阵)对角线输出</a> <span class="text-muted">飞天奔月</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a> <div>今天在BBS里面看到这样的面试题目,   1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组  { 1 2 3 4 } { 5 6 7 8 } { 9 10 11 12 } {13 14 15 16 } 打印顺序  4 3 8 2 7 12 1 6 11 16 5 10 15 9 14 13 要</div> </li> <li><a href="/article/3020.htm" title="Ehcache(08)——可阻塞的Cache——BlockingCache" target="_blank">Ehcache(08)——可阻塞的Cache——BlockingCache</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/BlockingCache/1.htm">BlockingCache</a><a class="tag" taget="_blank" href="/search/%E9%98%BB%E5%A1%9E/1.htm">阻塞</a> <div>可阻塞的Cache—BlockingCache          在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.</div> </li> <li><a href="/article/3147.htm" title="mysqldiff对数据库间进行差异比较" target="_blank">mysqldiff对数据库间进行差异比较</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/mysqld/1.htm">mysqld</a> <div>  mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构    如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下: 1) 基本用法    mysqldiff --server1=admin:12345</div> </li> <li><a href="/article/3274.htm" title="spring data jpa 方法中可用的关键字" target="_blank">spring data jpa 方法中可用的关键字</a> <span class="text-muted">lawrence.li</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 data jpa 支持以方法名进行查询/删除/统计。 查询的关键字为find 删除的关键字为delete/remove (>=1.7.x) 统计的关键字为count (>=1.7.x)   修改需要使用@Modifying注解 @Modifying @Query("update User u set u.firstna</div> </li> <li><a href="/article/3401.htm" title="Spring的ModelAndView类" target="_blank">Spring的ModelAndView类</a> <span class="text-muted">nicegege</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的? /* * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * yo</div> </li> <li><a href="/article/3528.htm" title="搭建 CentOS 6 服务器(13) - rsync、Amanda" target="_blank">搭建 CentOS 6 服务器(13) - rsync、Amanda</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>(一)rsync Server端 # yum install rsync # vi /etc/xinetd.d/rsync service rsync { disable = no flags = IPv6 socket_type = stream wait </div> </li> <li><a href="/article/3655.htm" title="Learn Nodejs 02" target="_blank">Learn Nodejs 02</a> <span class="text-muted">toknowme</span> <a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a> <div>(1)npm是什么 npm is the package manager for node 官方网站:https://www.npmjs.com/ npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作 在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用 &nb</div> </li> <li><a href="/article/3782.htm" title="Spring MVC 拦截器" target="_blank">Spring MVC 拦截器</a> <span class="text-muted">xp9802</span> <a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>Controller层的拦截器继承于HandlerInterceptorAdapter HandlerInterceptorAdapter.java  1  public   abstract   class  HandlerInterceptorAdapter  implements  HandlerIntercep</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>