<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>射手科技官方博客 &#187; 日志</title>
	<atom:link href="http://blog.splayer.org/index.php/category/aeya/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.splayer.org</link>
	<description>KISS user experience</description>
	<lastBuildDate>Thu, 02 Jun 2011 17:54:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>射手影音皮肤设计制作说明</title>
		<link>http://blog.splayer.org/index.php/2011/04/splayer-skin-manual/</link>
		<comments>http://blog.splayer.org/index.php/2011/04/splayer-skin-manual/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 17:22:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[日志]]></category>
		<category><![CDATA[skin]]></category>
		<category><![CDATA[SPlayer]]></category>
		<category><![CDATA[射手影音]]></category>
		<category><![CDATA[皮肤]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2719</guid>
		<description><![CDATA[&#160; 一、了解影音皮肤设计框架 OK！同学们，现在开始给影音进行解剖，看看它的构造和我们人类有什么不同，解剖到任何区域我都由左往右一个个器官进行介绍，同学们要坚持住哦！ 区域1： 影音的顶部，由顶部背景图片、LOGO文字图片、缩进系统按钮、缩小按钮、延展按钮（原始大小）、关闭按钮组成。 区域2： 影音的tips，先由tips背景图片，左边由放大1倍、放大2倍、标准画面（去上下黑边、去左右黑边）、音轨选择、画质增益，右边由正常播放（单曲循环、列表循环）、亮度对比度、截图、全屏切换（原始缩进）、窗口置前（窗口正常）、关闭按钮（全屏时才出现）组成。 区域3： 影音的控制栏，先是控制栏背景图片，剩下的先分为左、中、右三个部分来观察它吧 左边由LOGO、分享按钮、字幕左箭头、字幕按钮、字幕右箭头 中边由上一段、快退、停止、播放（暂停）、步进、快进、下一段 右边由打开文件、播放列表、设置面板、声音开启（静音）、声音大小调节按钮、声音调整背景图组成 区域4： 影音的边框由影音边框组成组成 区域5： 影音的打开文件部分，由影音打开文件按钮组成 这个打开文件与区域3右边的打开文件功能一样但视觉大小有区别 &#160; 二、影音皮肤设计制作要点 上一节我们对影音进行了全面解剖，额~大家小心点不要踩到，不然影响后期拼装，配合一下，谢谢 …… OK，知道了影音的组成元素，要记住他们哦，麻雀虽小，五脏还是要全的！ 背景图片制作方法： (在skins文件甲下创建一个FrameCfg.dat) 区域1： 顶部背景图片 分为ABC三个部分组成一张图，A与C同等宽度与高度，B则横向无限延展 编辑FrameCfg.dat //标题栏 CAPTIONHEIGHT:31;  //标题栏框横向延展图高度B区域 LCAPTIONTHICKWIDTH:3;//标题栏框左边图宽度A区域 RCAPTIONTHICKWIDTH:3;//标题栏框右边图宽度C区域 &#160; 区域2： tips背景图片，为一个颜色块来做横向无限延展背景图 区域3： 控制栏背景图片 切掉两边取中间A部分1px图横向无限延展 声音调整背景图 作为贴图背景 区域4： 影音边框 取4个角，4个1px边做为无限延展 编辑FrameCfg.dat //框架 FRAMECORNERWIDTH:3;//圆角的宽度 FRAMECORNERHEIGHT:3;//圆角的高度 LFRAMETHICKHEIGHT:1;//左边框纵向延展高度 TFRAMETHICKWIDTH:1;//顶部框横向延展宽度 RFRAMETHICKHEIGHT:1;//左边框纵向延展高度 BFRAMETHICKWIDTH:1;//底部框横向延展宽度 按钮图片制作方法： 所有的可操作按钮只需要做一张显示图即可，操作的状态效果系统会自动实现，减轻了很大的工作量，还不错吧 制作规范： [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div>
<p style="font-size: large;font-weight: bold">一、了解影音皮肤设计框架</p>
</div>
<p>OK！同学们，现在开始给影音进行解剖，看看它的构造和我们人类有什么不同，解剖到任何区域我都由左往右一个个器官进行介绍，同学们要坚持住哦！ <br /><span id="more-2719"></span><br />
    <img width="688" height="404" src="http://blog.splayer.org/wp-content/uploads/2011/04/untitled_clip_image001.jpg" alt="C:\暂存\工作——播放器\播放器UI\2011版播放器\皮肤设计说明文档\jieshuo.jpg"><br />
    <strong>区域1：</strong> <br />
  影音的顶部，由顶部背景图片、LOGO文字图片、缩进系统按钮、缩小按钮、延展按钮（原始大小）、关闭按钮组成。 </p>
<p><strong>区域2：</strong> <br />
影音的tips，先由tips背景图片，左边由放大1倍、放大2倍、标准画面（去上下黑边、去左右黑边）、音轨选择、画质增益，右边由正常播放（单曲循环、列表循环）、亮度对比度、截图、全屏切换（原始缩进）、窗口置前（窗口正常）、关闭按钮（全屏时才出现）组成。 </p>
<p><strong>区域3：</strong> <br />
  影音的控制栏，先是控制栏背景图片，剩下的先分为左、中、右三个部分来观察它吧 <br />
  左边由LOGO、分享按钮、字幕左箭头、字幕按钮、字幕右箭头 <br />
  中边由上一段、快退、停止、播放（暂停）、步进、快进、下一段 <br />
右边由打开文件、播放列表、设置面板、声音开启（静音）、声音大小调节按钮、声音调整背景图组成 </p>
<p><strong>区域4：</strong> <br />
影音的边框由影音边框组成组成 </p>
<p><strong>区域5： </strong><br />
  影音的打开文件部分，由影音打开文件按钮组成 <br />
这个打开文件与区域3右边的打开文件功能一样但视觉大小有区别 </p>
<p>&nbsp;</p>
<div>
<p style="font-size: large;font-weight: bold">二、影音皮肤设计制作要点</p>
</div>
<p>上一节我们对影音进行了全面解剖，额~大家小心点不要踩到，不然影响后期拼装，配合一下，谢谢 ……<br />
  OK，知道了影音的组成元素，要记住他们哦，麻雀虽小，五脏还是要全的！</p>
<p>背景图片制作方法：<br />
(在skins文件甲下创建一个FrameCfg.dat)</p>
<p><strong>区域1： </strong><br />
顶部背景图片<br />
<img width="720" height="66" src="http://blog.splayer.org/wp-content/uploads/2011/04/untitled_clip_image003.jpg" alt="C:\暂存\工作——播放器\播放器UI\2011版播放器\皮肤设计说明文档\Untitled-1.jpg"><br />
分为ABC三个部分组成一张图，A与C同等宽度与高度，B则横向无限延展 </p>
<p>编辑FrameCfg.dat<br />
  //标题栏 <br />
  CAPTIONHEIGHT:31;  //标题栏框横向延展图高度B区域 <br />
  LCAPTIONTHICKWIDTH:3;//标题栏框左边图宽度A区域 <br />
  RCAPTIONTHICKWIDTH:3;//标题栏框右边图宽度C区域 </p>
<p>&nbsp;</p>
<p><strong>区域2：</strong> <br />
tips背景图片<img width="11" height="20" src="http://blog.splayer.org/wp-content/uploads/2011/04/untitled_clip_image004.jpg" alt="C:\暂存\工作——播放器\播放器UI\2011版播放器\Untitled-2.jpg">，为一个颜色块来做横向无限延展背景图 </p>
<p><strong>区域3：</strong> <br />
控制栏背景图片<br />
<img width="720" height="119" src="http://blog.splayer.org/wp-content/uploads/2011/04/untitled_clip_image006.jpg" alt="C:\暂存\工作——播放器\播放器UI\2011版播放器\皮肤设计说明文档\Untitled-3.jpg"><br />
切掉两边取中间A部分1px图横向无限延展 </p>
<p>声音调整背景图<br />
<img width="154" height="27" src="http://blog.splayer.org/wp-content/uploads/2011/04/untitled_clip_image008.jpg"><br />
作为贴图背景 </p>
<p><strong>区域4： </strong><br />
影音边框</p>
<p><img width="719" height="244" src="http://blog.splayer.org/wp-content/uploads/2011/04/untitled_clip_image009.jpg" alt="C:\暂存\工作——播放器\播放器UI\2011版播放器\皮肤设计说明文档\Untitled-4.jpg"></p>
<p>取4个角，4个1px边做为无限延展 <br />
  编辑FrameCfg.dat<br />
  //框架 <br />
  FRAMECORNERWIDTH:3;//圆角的宽度 <br />
  FRAMECORNERHEIGHT:3;//圆角的高度 <br />
  LFRAMETHICKHEIGHT:1;//左边框纵向延展高度 <br />
  TFRAMETHICKWIDTH:1;//顶部框横向延展宽度 <br />
  RFRAMETHICKHEIGHT:1;//左边框纵向延展高度 <br />
BFRAMETHICKWIDTH:1;//底部框横向延展宽度 </p>
<p><em><strong>按钮图片制作方法：</strong></em></p>
<p><img width="682" height="30" src="http://blog.splayer.org/wp-content/uploads/2011/04/untitled_clip_image011.jpg"><br />
  所有的可操作按钮只需要做一张显示图即可，操作的状态效果系统会自动实现，减轻了很大的工作量，还不错吧 </p>
<p><em><strong>制作规范：</strong></em></p>
<p>图片格式：bmp<br />
  图片尺寸：无 <br />
  图片命名：需与原始文件名对应上，见影音元素命名表 </p>
<p><em><strong>&nbsp;<br />
图片元素命名表：</strong></em> </p>
<p><strong>区域1： </strong><br />
  顶部背景图片           CAPTION<br />
  LOGO文字图片        CAPTIONTEXT<br />
  缩进系统按钮          BTN_MINTOTRAY_SINGLE<br />
  缩小按钮                   MINIMIZE_SINGLE<br />
  延展按钮                    MAXIMIZE_SINGLE               原始大小        RESTORE_SINGLE<br />
关闭按钮                   CLOSE_SINGLE     </p>
<p><strong>区域2： </strong><br />
  tips背景图片              TOPBACKGROUND<br />
  放大1倍                     TOP_1X_SINGLE<br />
  放大2倍                     TOP_2X_SINGLE<br />
  标准画面        TOP_NORMAL_WIDER_SINGLE<br />
  （去上下黑边TOP_NORMAL_SINGLE                、            去左右黑边TOP_LETTERBOX_WIDER_SINGLE） <br />
  音轨选择       TOP_AUDIO_SINGLE<br />
  画质增益        TOP_VIDEO_SINGLE<br />
  正常播放        TOP_NOCYCLE_SINGLE<br />
  （单曲循环TOP_SINGLECYCLE_SINGLE          、        列表循环TOP_ALLCYCLE_SINGLE） <br />
  亮度对比度             TOP_GAMMA_SINGLE<br />
  截图                   TOP_CAPTURE_SINGLE<br />
  全屏切换      TOP_FULLSCREEN_SINGLE               （原始缩进TOP_RESTORE_SINGLE） <br />
  窗口置前      pinail2_SINGLE （窗口正常pinail_SINGLE）   <br />
  关闭按钮      TOP_CLOSE_SINGLE </p>
<p>
  <strong>区域3：</strong> <br />
  控制栏背景图片      BOTTOMBACKGROUND <br />
  左边由 <br />
  LOGO                        SPLAYER<br />
  分享按钮                BTN_SHARE_SINGLE<br />
  字幕左箭头           BTN_SUB_DELAY_REDUCE_SINGLE<br />
  字幕按钮               BTN_SUB_SINGLE<br />
  字幕右箭头          BTN_SUB_DELAY_INCREASE_SINGLE<br />
  中边由 <br />
  上一段                  BTN_PREV_SINGLE<br />
  快退                      FAST_BACKWORD_SINGLE<br />
  停止                     BTN_STOP_SINGLE<br />
  播放         BTN_PLAY_SINGLE           （暂停          BTN_PAUSE_SINGLE） <br />
  步进             BTN_STEP_SINGLE<br />
  快进              FAST_FORWORD_SINGLE<br />
  下一段          BTN_NEXT_SINGLE<br />
  右边由 <br />
  打开文件              BTN_OPENFILE_SMALL_SINGLE<br />
  播放列表              BTN_PLAYLIST_SINGLE<br />
  设置面板              BTN_SETTING_SINGLE<br />
  声音开启     VOLUME_SINGLE      （静音    MUTED_SINGLE）            <br />
  声音大小调节按钮      VOLUME_TM_SINGLE<br />
  声音调整背景图      VOLUME_BG </p>
<p><strong>区域4： </strong><br />
  <strong>影音的边框由影音边框组成    FRAMECORNER </strong></p>
<p><strong>区域5：</strong> <br />
  影音打开文件按钮       BTN_BIGOPEN_SINGLE</p>
<p><strong>其他元素： </strong><br />
  预览图      皮肤名称 single <br />
  影音标示       watermark2</p>
<div>
  <span style="font-size: large;font-weight: bold">三、上传 </span></div>
<p>步骤： <br />
  1：整理好图片元素，对应好图片名 <br />
  2：在SPlayer\skins下自建文件夹命名为xxxx<br />
  3：再将整理好的图片元素放入xxxx中 <br />
  4：打开射手影音播放器右键   界面==》选择xxxx皮肤 <br />
  5：恭喜您已经成功的做了一套符合自己的皮肤了 </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2011/04/splayer-skin-manual/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>{如何加入开源项目的小手册}</title>
		<link>http://blog.splayer.org/index.php/2011/03/how-to-join-open-source-project/</link>
		<comments>http://blog.splayer.org/index.php/2011/03/how-to-join-open-source-project/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 05:27:55 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2573</guid>
		<description><![CDATA[参与开源项目，可以快速提高自己的技术水平，学到很多学校中学不到但在工作中会非常有帮助的技巧。一份参与过开源项目的履历，也越来越受到用人单位的重视。所以最近几年，我们技术爱好者对开源项目投入的关注是越来越多了。可仍会看到很多对开源项目充满兴趣和热情的同学，用了错误的方式方法以至于不得其门而入。这段时间我特意将自己的心得整理了一下，供爱好者参考。 第一阶段：看和学 在和一些开源爱好者的接触过程中，我发现很多人都对自己关注的项目缺乏技术层面的理解。不论是对功能、代码或者项目的设计方向都很模糊，甚至大部分连代码都没有下载编译过。我想提醒爱好者的是，参与开源项目并不是靠一个简单的意愿就可以驱动的进程。阅读项目代码和了解设计脉络是必须的！ 从小处着手：尝试修正bug/issue 绝大部分面向公众开放的开源项目都有issue区或者bug tracker。所谓issue区，也就是问题汇总。对项目有兴趣的爱好者，与其漫无目的开始，不如在issue/bug中先找到一个自己感兴趣的小问题，作为第一个目标并尝试解决它。 制作patch patch又叫做补丁。是用来修补代码的文本文件。一个典型的patch文件例如: --- clinkcc.orig/configure.in 2005-11-14 18:08:07.000000000 +0100 +++ clinkcc/configure.in 2005-11-14 18:08:13.000000000 +0100 @@ -150,6 +150,7 @@ AC_CHECK_FUNCS([iconv]) +AM_ICONV 可以看到patch文件是对修改前和修改后文件进行了比较，并将有差异的部分记录在文件中。例如使用命令行工具diff来制作的patch： diff -u oldFile newFile &#62; mods.diff 很多可视化版本管理工具本身也自带制作patch的功能。 通过小巧的patch，项目管理者可以快速的看到修订内容并进行评估。如果没有patch，项目管理者就很难对修改做出是否可用的判断。所以为了不浪费双方的时间，掌握制作patch的专业技巧也是必须的。 熟悉版本管理系统 开源项目中使用的版本管理系统的种类越来越多。除了被淘汰的cvs、传统主流的svn，新的版本管理体系例如Git和Mercutial(Hg)越来越流行。系统越来越多，确实增加了开发者的学习成本。但也只有掌握版本管理系统，才有可能和其他项目开发者并行开发并进行友好的协作。因此在完成第一个issue的阶段，也是摸熟版本管理工具的好时机，要好好把握。 代码规范 现代的各大开源项目对代码规范的要求越来越严格。在几十人以上和近百万行代码的项目中，必须依赖代码规范来保证代码的可读性。所以在撰写代码时，一定要注意是否符合该项目中对代码规范的要求，以免被退票。 遵守规则 一些大型项目中，可能还有除了代码规范之外的项目规则。一定要仔细阅读清楚主页或开发者社区的相关说明，以避免不必要口舌。 更进一步 联系项目管理者 当有一些可能带来重大改变的想法时，务必要先和项目管理者保持良好的沟通。通过email或邮件列表或irc将你的想法描述清楚。获得项目管理者和项目中其他开发者的认同和帮助是一个关键。附带提一句，初次联络时，务必不要忘记自我介绍，这并不仅仅是礼貌，更是建立信任的主要基础。 成为固定成员 通过积累patch和建立信任的阶段之后，通常管理者都会主动邀请你成为固定的开发成员。对于这个问题，我的建议是保持良好的心态，该来的自然会来。 建立新的分支或Fork Fork是我认为很难翻译的词。Fork的原意就是餐具中的叉子，没有任何褒贬的倾向。在开发者的世界，可以将它理解为师出同源的几个叉子尖。当你对项目有一个“狂野”的想法时，项目管理者可能并不愿意在项目中看到这样的实验性分支。这时就可以fork一个分支项目，来实现自己的想法。尤其是git和hg大流行的背景下，fork后再merge back变得很容易，所以fork对项目的维护负担也减小变得更容易被接受。 时间管理 绝大部分参与开源项目的开发者都是利用业余时间来撰写代码的。所以良好的时间管理，才能帮助你有效的达成目标。近年来开源项目的技术规格越来越高，有一个预先制定的时间表，更能帮助你准备好一个良好的心态而不至半途而废。只要用心和持之以恒，你就会受到关注和尊重，甚至是雇主的重新评估乃至嘉许。 希望这篇小手册可以帮更多开发者轻松的参与到更多国际化的开源项目中。也欢迎随时关注射手的开源项目 http://hg.splayer.org/splayer/]]></description>
			<content:encoded><![CDATA[<p>参与开源项目，可以快速提高自己的技术水平，学到很多学校中学不到但在工作中会非常有帮助的技巧。一份参与过开源项目的履历，也越来越受到用人单位的重视。所以最近几年，我们技术爱好者对开源项目投入的关注是越来越多了。可仍会看到很多对开源项目充满兴趣和热情的同学，用了错误的方式方法以至于不得其门而入。这段时间我特意将自己的心得整理了一下，供爱好者参考。</p>
<h2>第一阶段：看和学</h2>
<p>在和一些开源爱好者的接触过程中，我发现很多人都对自己关注的项目缺乏技术层面的理解。不论是对功能、代码或者项目的设计方向都很模糊，甚至大部分连代码都没有下载编译过。我想提醒爱好者的是，参与开源项目并不是靠一个简单的意愿就可以驱动的进程。阅读项目代码和了解设计脉络是必须的！</p>
<h3>从小处着手：尝试修正bug/issue</h3>
<p>绝大部分面向公众开放的开源项目都有issue区或者bug tracker。所谓issue区，也就是问题汇总。对项目有兴趣的爱好者，与其漫无目的开始，不如在issue/bug中先找到一个自己感兴趣的小问题，作为第一个目标并尝试解决它。<span id="more-2573"></span></p>
<h3>制作patch</h3>
<p>patch又叫做补丁。是用来修补代码的文本文件。一个典型的patch文件例如:</p>
<blockquote><p><code>--- clinkcc.orig/configure.in	2005-11-14 18:08:07.000000000 +0100<br />
+++ clinkcc/configure.in	2005-11-14 18:08:13.000000000 +0100<br />
@@ -150,6 +150,7 @@<br />
AC_CHECK_FUNCS([iconv])<br />
+AM_ICONV</code></p></blockquote>
<p>可以看到patch文件是对修改前和修改后文件进行了比较，并将有差异的部分记录在文件中。例如使用命令行工具diff来制作的patch：</p>
<blockquote><p><code>diff -u oldFile newFile &gt; mods.diff</code></p></blockquote>
<p>很多可视化版本管理工具本身也自带制作patch的功能。<br />
通过小巧的patch，项目管理者可以快速的看到修订内容并进行评估。如果没有patch，项目管理者就很难对修改做出是否可用的判断。所以为了不浪费双方的时间，掌握制作patch的专业技巧也是必须的。</p>
<h3>熟悉版本管理系统</h3>
<p>开源项目中使用的版本管理系统的种类越来越多。除了被淘汰的cvs、传统主流的svn，新的版本管理体系例如Git和Mercutial(Hg)越来越流行。系统越来越多，确实增加了开发者的学习成本。但也只有掌握版本管理系统，才有可能和其他项目开发者并行开发并进行友好的协作。因此在完成第一个issue的阶段，也是摸熟版本管理工具的好时机，要好好把握。</p>
<h3>代码规范</h3>
<p>现代的各大开源项目对代码规范的要求越来越严格。在几十人以上和近百万行代码的项目中，必须依赖代码规范来保证代码的可读性。所以在撰写代码时，一定要注意是否符合该项目中对代码规范的要求，以免被退票。</p>
<h3>遵守规则</h3>
<p>一些大型项目中，可能还有除了代码规范之外的项目规则。一定要仔细阅读清楚主页或开发者社区的相关说明，以避免不必要口舌。</p>
<h2>更进一步</h2>
<h3>联系项目管理者</h3>
<p>当有一些可能带来重大改变的想法时，务必要先和项目管理者保持良好的沟通。通过email或邮件列表或irc将你的想法描述清楚。获得项目管理者和项目中其他开发者的认同和帮助是一个关键。附带提一句，初次联络时，务必不要忘记自我介绍，这并不仅仅是礼貌，更是建立信任的主要基础。</p>
<h3>成为固定成员</h3>
<p>通过积累patch和建立信任的阶段之后，通常管理者都会主动邀请你成为固定的开发成员。对于这个问题，我的建议是保持良好的心态，该来的自然会来。</p>
<h3>建立新的分支或Fork</h3>
<p>Fork是我认为很难翻译的词。Fork的原意就是餐具中的叉子，没有任何褒贬的倾向。在开发者的世界，可以将它理解为师出同源的几个叉子尖。当你对项目有一个“狂野”的想法时，项目管理者可能并不愿意在项目中看到这样的实验性分支。这时就可以fork一个分支项目，来实现自己的想法。尤其是git和hg大流行的背景下，fork后再merge back变得很容易，所以fork对项目的维护负担也减小变得更容易被接受。</p>
<h2>时间管理</h2>
<p>绝大部分参与开源项目的开发者都是利用业余时间来撰写代码的。所以良好的时间管理，才能帮助你有效的达成目标。近年来开源项目的技术规格越来越高，有一个预先制定的时间表，更能帮助你准备好一个良好的心态而不至半途而废。只要用心和持之以恒，你就会受到关注和尊重，甚至是雇主的重新评估乃至嘉许。</p>
<p>希望这篇小手册可以帮更多开发者轻松的参与到更多国际化的开源项目中。也欢迎随时关注射手的开源项目 <a href="http://hg.splayer.org/splayer/">http://hg.splayer.org/splayer/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2011/03/how-to-join-open-source-project/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>随笔：“开源谈的其实是言论自由，不是免费啤酒”</title>
		<link>http://blog.splayer.org/index.php/2011/02/four-freedoms-of-gpl-free-speech-not-free-beer/</link>
		<comments>http://blog.splayer.org/index.php/2011/02/four-freedoms-of-gpl-free-speech-not-free-beer/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 12:44:20 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[日志]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[fsf]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2601</guid>
		<description><![CDATA[开源来自自由软件运动。以下内容引自 www.gnu.org。GNU就是自由软件基金会（FSF）旗下GPL(GNU Public License)中的G。中文部分是我的学习笔记： Free software中的“Free”是指“自由”。换句话说，我们指的是言论自由，而不是免费啤酒。“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”. 自由软件关乎用户运行、复制、分发、改进软件的基本自由。更精确地，我们可以将之列为四大基本自由。Free software is a matter of the users&#8217; freedom to run, copy, distribute, study, change and improve the software. More precisely, it means [...]]]></description>
			<content:encoded><![CDATA[<p>开源来自自由软件运动。以下内容引自 <a href="http://www.gnu.org/">www.gnu.org</a>。GNU就是自由软件基金会（FSF）旗下GPL(GNU Public License)中的<strong>G</strong>。中文部分是我的学习笔记：</p>
<p>Free software中的“Free”是指“自由”。换句话说，我们指的是言论自由，而不是免费啤酒。<span style="font-size: 0.75em;">“<a href="http://www.gnu.org/philosophy/free-sw.html">Free software</a>” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”.</span></p>
<p>自由软件关乎用户运行、复制、分发、改进软件的基本自由。更精确地，我们可以将之列为四大基本自由。<span style="font-size: 0.75em;">Free software is a matter of the users&#8217; freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program&#8217;s users have the four essential freedoms</span>：</p>
<p>* 运行的自由。<span style="font-size: 0.75em;">The freedom to run the program, for any purpose (freedom 0).</span><br />
* 学习和修改的自由。开源是保证这个自由的前提。<span style="font-size: 0.75em;">The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.</span><br />
* 复制分发的自由。<span style="font-size: 0.75em;">The freedom to redistribute copies so you can help your neighbor (freedom 2).</span><br />
* 对软件进行改进的自由。开源是保证这个自由的前提。<span style="font-size: 0.75em;">The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.</span></p>
<p>射手影音（SPlayer）作为开源运动的支持者和受益者，一直信仰这种自由理念。而我个人，也是因对软件进行改进的这项自由而开始爱上开源。我们希望所有开源爱好者都不要忘记开源运动诞生自这种自由。</p>
<p><!-- 射手影音基于开源社区的产品，作出了自己的改进，这是我们的自由。我们也希望所有开源爱好者都不要忘记这种自由，利用我们的源码，作出自己的改进。 --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2011/02/four-freedoms-of-gpl-free-speech-not-free-beer/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>射手影音登陆苹果应用商店(Mac App&#160;Store)</title>
		<link>http://blog.splayer.org/index.php/2011/02/splayerx-landing-on-mac-app-store/</link>
		<comments>http://blog.splayer.org/index.php/2011/02/splayerx-landing-on-mac-app-store/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 15:46:55 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[SPlayerX]]></category>
		<category><![CDATA[射手影音]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2587</guid>
		<description><![CDATA[经过苹果1个月的审核，射手影音Mac版登上了苹果应用商店(Mac App Store)。很意外很意外的，竟然一度被放在了Top Paid栏目榜首。这令我受宠若惊，因为这是我第一次使用App Store，对漫长的审核期和规则都不够了解，甚至连软件名称和描述都还没来得及做本地化的处理。这实在是令我很不好意思。如果有可能的话，我心底里反而希望用户等到下一个更好的版本之后再下载和使用。 射手影音Mac版没有以免费的形式发布，而是以$1.99作为一个开始，也是射手对消费模式的一次尝试。我们希望用户是因为射手提供的字幕匹配服务和稳定的后续开发而决定购买。如果发现有任何不足，欢迎来我们的反馈区发表意见。如果还想继续试用免费版本或者检视源码，也可以随时到 http://splayer.org/splayerx/ 下载。 另外，SPlayerX的排名提升引起了一些MPlayerX老用户的注意。让我们发现一些用户对射手与MPlayerX的关系存在误解。我想借此机会澄清一下： * 首先，SPlayerX销售额的30%会以捐赠的形式支持相关开源项目 [*注]。 * 从去年开始，我们就和MPlayerX的作者niltsh保持着积极而友好的沟通。 * 从第一天开始，SPlayerX的首页、安装包和关于中都不讳言，且非常明确的说明了与MPlayerX的关系。 * 我衷心希望射手能够借力App Store，返回来支持niltsh，并与MPlayerX一起成长。 * 射手科技一直在尝试为开源项目带来健康发展的模式。Mac版作为我们的一个实验项目，以此种形式作为起点也是模式上的一次探索。希望能在开源这条路上走的更健康更顺利。 注：MPlayerX的作者婉言谢绝了我们的捐助，所以我们会以其他方式回馈给开源社区]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://a11.phobos.apple.com/us/r1000/007/Purple/e2/9e/ce/mzi.mzaubamk.175x175-75.png" title="SPlayerX" class="alignright" width="175" height="175" /><br />
经过苹果1个月的审核，射手影音Mac版<a href="http://itunes.apple.com/app/id414675434?mt=12">登上了苹果应用商店(Mac App Store)</a>。很意外很意外的，竟然一度被放在了Top Paid栏目榜首。这令我受宠若惊，因为这是我第一次使用App Store，对漫长的审核期和规则都不够了解，甚至连软件名称和描述都还没来得及做本地化的处理。这实在是令我很不好意思。如果有可能的话，我心底里反而希望用户等到下一个更好的版本之后再下载和使用。<br />
射手影音Mac版没有以免费的形式发布，而是以$1.99作为一个开始，也是射手对消费模式的一次尝试。我们希望用户是因为射手提供的字幕匹配服务和稳定的后续开发而决定购买。如果发现有任何不足，欢迎来我们的<a href="http://feedback.splayer.org/forums/100639-mac-splayerx">反馈区</a>发表意见。如果还想继续试用免费版本<ins datetime="2011-02-10T13:43:42+00:00">或者检视源码</ins>，也可以随时到 http://splayer.org/splayerx/ 下载。<br />
<span id="more-2587"></span><br />
另外，SPlayerX的排名提升引起了一些MPlayerX老用户的注意。让我们发现一些用户对射手与MPlayerX的关系存在误解。我想借此机会澄清一下：<br />
* 首先，SPlayerX销售额的30%会以捐赠的形式支持相关开源项目 <a href='#remark1'>[*注]</a>。<br />
* 从去年开始，我们就和MPlayerX的作者<a href="https://bitbucket.org/niltsh">niltsh</a>保持着积极而友好的沟通。<br />
* 从第一天开始，SPlayerX的首页、安装包和关于中都不讳言，且非常明确的说明了与MPlayerX的关系。<br />
* 我衷心希望射手能够借力App Store，返回来支持niltsh，并与MPlayerX一起成长。<br />
* 射手科技一直在尝试为开源项目带来健康发展的模式。Mac版作为我们的一个实验项目，以此种形式作为起点也是模式上的一次探索。希望能在开源这条路上走的更健康更顺利。</p>
<p><ins datetime="2011-02-08T15:35:48+00:00"><span id='remark1' style='font-size:0.65em;'>注：MPlayerX的作者婉言谢绝了我们的捐助，所以我们会以其他方式回馈给开源社区</span></ins></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2011/02/splayerx-landing-on-mac-app-store/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>去小公司还是不去大公司</title>
		<link>http://blog.splayer.org/index.php/2010/09/%e5%8e%bb%e5%b0%8f%e5%85%ac%e5%8f%b8%e8%bf%98%e6%98%af%e4%b8%8d%e5%8e%bb%e5%a4%a7%e5%85%ac%e5%8f%b8/</link>
		<comments>http://blog.splayer.org/index.php/2010/09/%e5%8e%bb%e5%b0%8f%e5%85%ac%e5%8f%b8%e8%bf%98%e6%98%af%e4%b8%8d%e5%8e%bb%e5%a4%a7%e5%85%ac%e5%8f%b8/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 03:45:01 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[创业]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2284</guid>
		<description><![CDATA[礼失而求诸野。近年很多大公司都开始走上投资之路。究其原因，无外乎意识到自身业务的局限恐将致使成长性不足，因此寻找投资初创公司的机会来实现财务报表上的正弦波上升段。 而一个时期以来初创公司的增多，也让关于大公司和小公司的比较学研究保持着坚强的生命力。著名的 @Fenng 所发表的博文被不断的转帖，更让这个话题达到了高潮。 几位大牛的博文也可谓委婉。在暗暗表述大家都应该来初创公司(Startup)的主题时，都会先捧捧大公司留足面子。而在我看来：99%的大公司就是XX，愿意呆的人，本来就不适合来小公司。 作为一个思维正常的人类，大都希望留在大公司打工，是符合自然规律的。除了以唐骏为偶像的珍稀品种之外，致力为大公司效力者无外乎两种人。第一种为压力所迫，揉一揉为求一席之地而背起房子车子和孩子的肩膀，只有将冲动深深地埋到连自己都忘记的树洞里面去。另一类则是已经立志追求安逸的人生，平平安安舒舒服服有面子走向大结局已经是终极目标的人。对他们来说，大树底下好乘凉。 这两类朋友，真诚地说，当真不适合初创公司。因为初创公司的发展注定是剧烈波动的，是不稳定的，会是如同过山车般的。正如我们在去游乐场的时候，都可以看到提示：“高血压、心脏病或老年人勿乘”。就是这个道理，如果并不相配的人硬要凑在一起，很可能是个灾难。 所以，大公司还是小公司的问题，确实是因人而异。什么样的人适合初创公司呢？必定多多少少是有些非主流的，甚至因为对人生价值的高预期而导致有些叛逆的朋友。其中优秀并可被称为人才者，是那些叛逆之中又不乏冷静的人──不相信书本，但相信真理;不信上帝，但相信逻辑;不相信中医，但相信方法论;不相信结论，但相信推论……如果你是这类人，到大公司去做小螺丝先天就不适合。 所以，借用李开复的理念来说： 要回答这个问题 必须要先问问你的心 如果你问了 它会告诉你 是去小公司 还是不去大公司]]></description>
			<content:encoded><![CDATA[<p>礼失而求诸野。近年很多大公司都开始走上投资之路。究其原因，无外乎意识到自身业务的局限恐将致使成长性不足，因此寻找投资初创公司的机会来实现财务报表上的正弦波上升段。</p>
<p>而一个时期以来初创公司的增多，也让关于大公司和小公司的比较学研究保持着坚强的生命力。著名的<a href="http://www.dbanotes.net/jobs/howto_choose_company_style.html"> @Fenng </a>所发表的博文被不断的转帖，更让这个话题达到了高潮。</p>
<p>几位大牛的博文也可谓委婉。在暗暗表述大家都应该来初创公司(Startup)的主题时，都会先捧捧大公司留足面子。而在我看来：99%的大公司就是XX，愿意呆的人，本来就不适合来小公司。</p>
<p>作为一个思维正常的人类，大都希望留在大公司打工，是符合自然规律的。除了以唐骏为偶像的珍稀品种之外，致力为大公司效力者无外乎两种人。第一种为压力所迫，揉一揉为求一席之地而背起房子车子和孩子的肩膀，只有将冲动深深地埋到连自己都忘记的树洞里面去。另一类则是已经立志追求安逸的人生，平平安安舒舒服服有面子走向大结局已经是终极目标的人。对他们来说，大树底下好乘凉。</p>
<p>这两类朋友，真诚地说，当真不适合初创公司。因为初创公司的发展注定是剧烈波动的，是不稳定的，会是如同过山车般的。正如我们在去游乐场的时候，都可以看到提示：“高血压、心脏病或老年人勿乘”。就是这个道理，如果并不相配的人硬要凑在一起，很可能是个灾难。</p>
<p>所以，大公司还是小公司的问题，确实是因人而异。什么样的人适合初创公司呢？必定多多少少是有些非主流的，甚至因为对人生价值的高预期而导致有些叛逆的朋友。其中优秀并可被称为人才者，是那些叛逆之中又不乏冷静的人──不相信书本，但相信真理;不信上帝，但相信逻辑;不相信中医，但相信方法论;不相信结论，但相信推论……如果你是这类人，到大公司去做小螺丝先天就不适合。<br />
<span id="more-2284"></span><br />
所以，借用李开复的理念来说：<br />
要回答这个问题<br />
必须要先问问你的心<br />
如果你问了<br />
它会告诉你<br />
是去小公司<br />
还是不去大公司</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2010/09/%e5%8e%bb%e5%b0%8f%e5%85%ac%e5%8f%b8%e8%bf%98%e6%98%af%e4%b8%8d%e5%8e%bb%e5%a4%a7%e5%85%ac%e5%8f%b8/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>射手科技的 XenServer/XenDesktop&#160;虚拟化应用方案</title>
		<link>http://blog.splayer.org/index.php/2010/07/%e5%b0%84%e6%89%8b%e7%a7%91%e6%8a%80%e7%9a%84-xenserverxendesktop-%e8%99%9a%e6%8b%9f%e5%8c%96%e5%ba%94%e7%94%a8%e6%96%b9%e6%a1%88/</link>
		<comments>http://blog.splayer.org/index.php/2010/07/%e5%b0%84%e6%89%8b%e7%a7%91%e6%8a%80%e7%9a%84-xenserverxendesktop-%e8%99%9a%e6%8b%9f%e5%8c%96%e5%ba%94%e7%94%a8%e6%96%b9%e6%a1%88/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 03:14:09 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[技术分享]]></category>
		<category><![CDATA[日志]]></category>
		<category><![CDATA[射手科技]]></category>
		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2172</guid>
		<description><![CDATA[虚拟化技术的优点无数，节省成本、节约能源、便于管理、易于维护等等都是众所周知。射手科技的开发和办公环境需求，基于开源Xen的企业化版本，实践了一套完整的生产用虚拟化环境。 需求整理 射手科技开发环境需要配置的服务器包括且不限于：版本管理、文件共享、开发测试、模拟生产环境、域控制、VPN服务器等。同时为了配合灵活工时制度，需要一个可以远程登录的开发环境系统阵列。 对于没有虚拟化技术的年代，可能需要十多台服务器和专人维护才能满足这些需求。但是基于虚拟化技术，可以将所有这些需求集中在2-3台服务器来完成。 选型 企业化虚拟环境，除了最出名的VMWare之外就是Xen。但是VMWare的企业版（ESX）价格昂贵，对硬件要求也高。而Xen则有免费版，非常适合射手这种创业型企业。所以我决定尝试一下Xen系列的企业化产品。 方案 Xen系列的产品线也不少，特别分为开源和商业化版本。经过比较，商业化版本的XenServer因为包含XenCenter这GUI的管理工具，更容易管理。且它的免费版本已经包括了所有我所需要的功能，所以我选择了XenServer+XenCenter+XenDesktop的配置方案。 具体的方案配置如上图。2台服务器均通过网络采购配件DIY。XenServer使用4核处理器和SSD硬盘。文件服务器使用5块1.5T SATA硬盘，其中2块组RAID1，另外3块组RAID5，以保证文件系统安全。之间使用千兆交换机互联，实测使用网络存储的瓶颈已不在网络而在硬盘IO，所以性能上并不比原方案低，但是容灾、安全、管理和扩展性等各个方面都更加方便。 波折 万事开头难，期间也有不少意外的波折： * 因为XenServer基于Linux，所以原计划将存储和文件共享一并做成RAID，与XenServer使用同一台设备，这样只需要配置1台服务器。但是最终我发现所有家用/商用级主板自带的RAID均不能被XenServer识别。经过资料检索发现，家用/商用主板自带RAID均属于FakeRaid，就是说所谓主板自带的RAID其实仅是存储了一些配置信息，真正的RAID分配读写操作均需操作系统的驱动来完成。而XenServer是没有这种驱动的（对应的开源版本Xen Cloud Platform也有同样问题）。好在XenServer的设计可以将虚拟硬盘通过nfs存储在远程文件服务器上。便少许追加预算，另外配置一台基于Centos的Raid1+Raid5的NFS服务器，兼做samba文件共享存储。同时因为将存储和运算设备分离，容灾性能也可以更好。 虚拟池 XenServer的管理有一个最大的优点，就是虚拟池技术（Pool）。简单的说，就是每台Guest虚拟机，并不一定只能在一台XenServer上运行。你可以将多台XenServer配置为一组虚拟池。而Guest虚拟机可以在多台XenServer之间迁移甚至按需分配。而我将文件存储与XenServer分离的方案更加方便了这种池内的迁移。这个好处不仅提高了运算资源的利用率，在维护上也更加方便（硬件维护升级可以做到几乎无缝迁移），而且降低了设备灾难带来的风险。 XenDesktop Xen系列产品中还有个有趣的XenDesktop，根据官网介绍，使用XenDesktop可以高效的远程登录虚拟机上的桌面环境，同时因为是在虚拟服务器上，非常方便阵列管理。对于射手科技来说，意味着可以配置一台开发环境后，迅速克隆多台。之后可以在任一地点登录到该虚拟环境立刻开始进行工作。且XenDesktop的免费版允许10个用户，非常适合射手科技目前的规模。听上去真是非常美好，所以好奇的我也忍不住动手一试。 不过实际使用的结果并不理想。XenDesktop的配置很大程度上依赖Win的域控制。对于常见的企业环境来说，可能是可以非常快的融入。但对于不熟悉Windows域控管理的我，则是非常痛苦。尽管Xen的企业官网提供了配置向导视频，但缺乏方案上的指导，让我还是感到困难重重： * 不要听视频中的鬼话，Domain Controller 和 Desktop Delivery Controller 别放在同一台虚拟服务器 * Domain Controller 和 Desktop Delivery Controller 不能Clone，域内不能有2台SID完全相同的设备。所以各自都重头安装才好。 * 每个XenDesktop的远程连接都需要一套虚拟环境资源（这一点在介绍视频中语嫣不详）。所以建议还是使用XP环境为主，因为Win7 x64需要最低2G内存才能运行，一台8G RAM的XenServer最多也只能跑3个桌面了（要留给XenServer系统一点）。 * 免费的产品版本中似乎还不能做到配置1台Guest Desktop即可完成部署的程度。配置好后需要逐台Clone。如果谁有更高效的管理和部署经验，还请指导。 迁移 人生难免留下一些之前VMWare上的虚拟机，迁移到XenServer可不算是一件容易的事情。甚至可以说是最大的一个麻烦。这个问题上我尝试多次，也没有找到可以称为最好的方法。只是一些积累的经验分享出来以免更多的人犯同样的错误。 * 最好的格式转换工具应该是VMWare自带的导入、导出工具，而不是XenConverter。VMWare为了便于虚拟机在多个产品之间迁移，大部分产品都可以导出到ovf（一个开放标准的虚拟机配置及存储格式）。例如 http://support.citrix.com/article/CTX116603 。但是这个导出有一些先决条件，如果条件没有满足，就不会出现可以导出到ovf的选项，也没有明显提示。 * 一篇详细的迁移参考 http://forums.citrix.com/message.jspa?messageID=1465589 * VMWare的虚拟机最好是单硬盘的。如果不是，最好想办法合并一下。 [...]]]></description>
			<content:encoded><![CDATA[<p>虚拟化技术的优点无数，节省成本、节约能源、便于管理、易于维护等等都是众所周知。射手科技的开发和办公环境需求，基于开源Xen的企业化版本，实践了一套完整的生产用虚拟化环境。</p>
<p><strong>需求整理</strong><br />
射手科技开发环境需要配置的服务器包括且不限于：版本管理、文件共享、开发测试、模拟生产环境、域控制、VPN服务器等。同时为了配合灵活工时制度，需要一个可以远程登录的开发环境系统阵列。<br />
对于没有虚拟化技术的年代，可能需要十多台服务器和专人维护才能满足这些需求。但是基于虚拟化技术，可以将所有这些需求集中在2-3台服务器来完成。</p>
<p><strong>选型</strong><br />
企业化虚拟环境，除了最出名的VMWare之外就是Xen。但是VMWare的企业版（ESX）价格昂贵，对硬件要求也高。而Xen则有免费版，非常适合射手这种创业型企业。所以我决定尝试一下Xen系列的企业化产品。</p>
<p><strong>方案</strong><br />
Xen系列的产品线也不少，特别分为开源和商业化版本。经过比较，商业化版本的XenServer因为包含XenCenter这GUI的管理工具，更容易管理。且它的免费版本已经包括了所有我所需要的功能，所以我选择了XenServer+XenCenter+XenDesktop的配置方案。<br />
<a href="http://blog.splayer.org/wp-content/uploads/2010/07/xenserver.jpg"><img src="http://blog.splayer.org/wp-content/uploads/2010/07/xenserver-1024x724.jpg" alt="" title="xenserver" width="1024" height="724" class="aligncenter size-large wp-image-2187" /></a><br />
具体的方案配置如上图。2台服务器均通过网络采购配件DIY。XenServer使用4核处理器和SSD硬盘。文件服务器使用5块1.5T SATA硬盘，其中2块组RAID1，另外3块组RAID5，以保证文件系统安全。之间使用千兆交换机互联，实测使用网络存储的瓶颈已不在网络而在硬盘IO，所以性能上并不比原方案低，但是容灾、安全、管理和扩展性等各个方面都更加方便。</p>
<p><strong>波折</strong><br />
万事开头难，期间也有不少意外的波折：<br />
* 因为XenServer基于Linux，所以原计划将存储和文件共享一并做成RAID，与XenServer使用同一台设备，这样只需要配置1台服务器。但是最终我发现所有家用/商用级主板自带的RAID均不能被XenServer识别。经过资料检索发现，家用/商用主板自带RAID均属于FakeRaid，就是说所谓主板自带的RAID其实仅是存储了一些配置信息，真正的RAID分配读写操作均需操作系统的驱动来完成。而XenServer是没有这种驱动的（对应的开源版本Xen Cloud Platform也有同样问题）。好在XenServer的设计可以将虚拟硬盘通过nfs存储在远程文件服务器上。便少许追加预算，另外配置一台基于Centos的Raid1+Raid5的NFS服务器，兼做samba文件共享存储。同时因为将存储和运算设备分离，容灾性能也可以更好。</p>
<p><strong>虚拟池</strong><br />
XenServer的管理有一个最大的优点，就是虚拟池技术（Pool）。简单的说，就是每台Guest虚拟机，并不一定只能在一台XenServer上运行。你可以将多台XenServer配置为一组虚拟池。而Guest虚拟机可以在多台XenServer之间迁移甚至按需分配。而我将文件存储与XenServer分离的方案更加方便了这种池内的迁移。这个好处不仅提高了运算资源的利用率，在维护上也更加方便（硬件维护升级可以做到几乎无缝迁移），而且降低了设备灾难带来的风险。</p>
<p><strong>XenDesktop</strong><br />
Xen系列产品中还有个有趣的XenDesktop，根据官网介绍，使用XenDesktop可以高效的远程登录虚拟机上的桌面环境，同时因为是在虚拟服务器上，非常方便阵列管理。对于射手科技来说，意味着可以配置一台开发环境后，迅速克隆多台。之后可以在任一地点登录到该虚拟环境立刻开始进行工作。且XenDesktop的免费版允许10个用户，非常适合射手科技目前的规模。听上去真是非常美好，所以好奇的我也忍不住动手一试。<br />
不过实际使用的结果并不理想。XenDesktop的配置很大程度上依赖Win的域控制。对于常见的企业环境来说，可能是可以非常快的融入。但对于不熟悉Windows域控管理的我，则是非常痛苦。尽管Xen的企业官网提供了配置向导视频，但缺乏方案上的指导，让我还是感到困难重重：<br />
* 不要听视频中的鬼话，Domain Controller 和 Desktop Delivery Controller 别放在同一台虚拟服务器<br />
* Domain Controller 和 Desktop Delivery Controller 不能Clone，域内不能有2台SID完全相同的设备。所以各自都重头安装才好。<br />
* 每个XenDesktop的远程连接都需要一套虚拟环境资源（这一点在介绍视频中语嫣不详）。所以建议还是使用XP环境为主，因为Win7 x64需要最低2G内存才能运行，一台8G RAM的XenServer最多也只能跑3个桌面了（要留给XenServer系统一点）。<br />
* 免费的产品版本中似乎还不能做到配置1台Guest Desktop即可完成部署的程度。配置好后需要逐台Clone。如果谁有更高效的管理和部署经验，还请指导。</p>
<p><strong>迁移</strong><br />
人生难免留下一些之前VMWare上的虚拟机，迁移到XenServer可不算是一件容易的事情。甚至可以说是最大的一个麻烦。这个问题上我尝试多次，也没有找到可以称为最好的方法。只是一些积累的经验分享出来以免更多的人犯同样的错误。<br />
* 最好的格式转换工具应该是VMWare自带的导入、导出工具，而不是XenConverter。VMWare为了便于虚拟机在多个产品之间迁移，大部分产品都可以导出到ovf（一个开放标准的虚拟机配置及存储格式）。例如  http://support.citrix.com/article/CTX116603 。但是这个导出有一些先决条件，如果条件没有满足，就不会出现可以导出到ovf的选项，也没有明显提示。<br />
* 一篇详细的迁移参考 http://forums.citrix.com/message.jspa?messageID=1465589<br />
* VMWare的虚拟机最好是单硬盘的。如果不是，最好想办法合并一下。<br />
* VMWare的虚拟机硬盘千万不要“按2G大小分割”，其结果就是不能导出到ovf。如果木已成舟，可以用VMWare自带的 vmdisk-manager 命令行先转换为单文件存储。<br />
* 迁移前移除VMWare-Tool，比迁移后移除方便。<br />
* 能不迁移就不迁移（难以预料的问题太多）</p>
<p><strong>后记</strong><br />
使用虚拟化产品部署后，整个服务器环境成本大幅下降：<br />
XenServer配置：AMD 4核+8G内存+SSD   约3000元<br />
文件服务器配置： 最低端的CPU+1G内存+5x 1.5T硬盘  约5千元<br />
总成本控制在1万元内，却完成了原本需要超过10台硬件设备才能完成的功能。同时非常易于维护，并因为硬件设备的减少，能耗也大幅降低。</p>
<p><strong>Tips</strong><br />
* Xen企业产品的官网提供了很多详细指导视频，建议先进行直观的了解。部分教程可以下载回来，协助配置。<br />
* XenServer的免费版也是需要注册激活的，不收钱，但是也别忘记了。<br />
* 如果需要安装GUI的Centos，不要选默认的Centos模板，要选择&#8221;Other Install Media&#8221;才能识别显卡 <img src='http://blog.splayer.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
* 个人观点：lvm是非常不适合虚拟机环境的文件系统。难以迁移和管理，硬件变化对lvm的影响可能是灾难的。我很迷惑为什么现在的Linux都要以lvm为默认的文件系统。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2010/07/%e5%b0%84%e6%89%8b%e7%a7%91%e6%8a%80%e7%9a%84-xenserverxendesktop-%e8%99%9a%e6%8b%9f%e5%8c%96%e5%ba%94%e7%94%a8%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>关于SPlayer项目中 rev#1374-1382&#160;的一些结构变化</title>
		<link>http://blog.splayer.org/index.php/2010/07/%e5%85%b3%e4%ba%8esplayer%e9%a1%b9%e7%9b%ae%e4%b8%ad-rev1374-1382-%e7%9a%84%e4%b8%80%e4%ba%9b%e7%bb%93%e6%9e%84%e5%8f%98%e5%8c%96/</link>
		<comments>http://blog.splayer.org/index.php/2010/07/%e5%85%b3%e4%ba%8esplayer%e9%a1%b9%e7%9b%ae%e4%b8%ad-rev1374-1382-%e7%9a%84%e4%b8%80%e4%ba%9b%e7%bb%93%e6%9e%84%e5%8f%98%e5%8c%96/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 03:24:47 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[技术分享]]></category>
		<category><![CDATA[日志]]></category>
		<category><![CDATA[SPlayer]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[开源]]></category>
		<category><![CDATA[项目管理]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2178</guid>
		<description><![CDATA[射手播放器项目在最近一段时间经历了一些项目管理上的改变，并降低参与门槛： 首先，引入了SVN版本管理系统的trunk/branches/tags机制，以应对此后对多人多线开发的需求，并降低各自开发任务的互相依赖。 其次引入了WTL，为项目整体的架构迁移和重建作准备，使得射手播放器逐渐脱离对MFC的依赖，迈向更理想的程序架构，以追求更简洁高效的代码和程序效率。 在项目管理上，新导入的WTL头文件作为一个第三方依赖，不进入播放器项目的版本管理，在rev#1382后，遵循国际通行的做法，许多项目中使用的第三方依赖类库将逐渐全部从目前的版本管理系统中脱离，并作upstream处理。因此单独从SVN checkout的源代码树将不能直接通过编译。而为了方便新人入手，在开发指南另外提供一个通过Zip打包的项目文件压缩包。这个项目文件压缩包，已经包含全部完成预编译的第三方类库，所以可以直接开始编译。 这样一来，爱好者可以不必安装svn进行checkout，而只要通过http直接下载源码包后，解压即可完成编译（仍需Win7 SDK和DirectX SDK）。]]></description>
			<content:encoded><![CDATA[<p>射手播放器项目在最近一段时间经历了一些项目管理上的改变，并降低参与门槛：<br />
首先，引入了SVN版本管理系统的trunk/branches/tags机制，以应对此后对多人多线开发的需求，并降低各自开发任务的互相依赖。<br />
其次引入了WTL，为项目整体的架构迁移和重建作准备，使得射手播放器逐渐脱离对MFC的依赖，迈向更理想的程序架构，以追求更简洁高效的代码和程序效率。<br />
在项目管理上，新导入的WTL头文件作为一个第三方依赖，不进入播放器项目的版本管理，在rev#1382后，遵循国际通行的做法，许多项目中使用的第三方依赖类库将逐渐全部从目前的版本管理系统中脱离，并作upstream处理。因此单独从SVN checkout的源代码树将不能直接通过编译。而为了方便新人入手，在<a href="http://www.shooter.cn/wiki/%E5%B0%84%E6%89%8B%E6%92%AD%E6%94%BE%E5%99%A8_%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97" target="_blank">开发指南</a>另外提供一个通过Zip打包的项目文件压缩包。这个<a href="http://file.splayer.org/splayer_trunk.zip">项目文件压缩包</a>，已经包含全部完成预编译的第三方类库，所以可以直接开始编译。<br />
这样一来，爱好者可以不必安装svn进行checkout，而只要通过http直接下载源码包后，解压即可完成编译（仍需Win7 SDK和DirectX SDK）。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2010/07/%e5%85%b3%e4%ba%8esplayer%e9%a1%b9%e7%9b%ae%e4%b8%ad-rev1374-1382-%e7%9a%84%e4%b8%80%e4%ba%9b%e7%bb%93%e6%9e%84%e5%8f%98%e5%8c%96/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>射手科技将为参与SPlayer开源项目的志愿者提供资助</title>
		<link>http://blog.splayer.org/index.php/2010/07/%e5%b0%84%e6%89%8b%e7%a7%91%e6%8a%80%e5%b0%86%e4%b8%ba%e6%97%97%e4%b8%8b%e5%bc%80%e6%ba%90%e9%a1%b9%e7%9b%ae%e7%9a%84%e5%8f%82%e4%b8%8e%e8%80%85%e6%8f%90%e4%be%9b%e7%bb%8f%e8%b4%b9%e6%94%af%e6%8c%81/</link>
		<comments>http://blog.splayer.org/index.php/2010/07/%e5%b0%84%e6%89%8b%e7%a7%91%e6%8a%80%e5%b0%86%e4%b8%ba%e6%97%97%e4%b8%8b%e5%bc%80%e6%ba%90%e9%a1%b9%e7%9b%ae%e7%9a%84%e5%8f%82%e4%b8%8e%e8%80%85%e6%8f%90%e4%be%9b%e7%bb%8f%e8%b4%b9%e6%94%af%e6%8c%81/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 03:07:21 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[焦点资讯]]></category>
		<category><![CDATA[射手播放器]]></category>
		<category><![CDATA[射手科技]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2119</guid>
		<description><![CDATA[或许是因为SPlayer的项目结构过于复杂，或许是因为国内开发者的压力较大可自由支配的时间少，或许还有其他的原因，射手影音播放器作为一个立足于中文环境的开源项目，公众开发者的参与度长期以来并不算高。 因此射手科技将尝试为参与开源项目的志愿者，建立个机制，使志愿者可以获得资助，更轻松的参与到项目中来。当然这可能是一个略带争议性的话题，因为作为自由软件或者说开源项目的参与者，似乎应该是出于自愿，是否有必要设计利益关系呢。事实上，从很多大型国际开源项目的经验上说，开发者可以获得回报的机制虽然并不明显，但也并非不寻常。包括对项目捐助的分配，或者开源项目背后的服务等等。引用Google Summer of Code中FAQ的一段： # Isn&#8217;t it unusual for open source developers to be paid?（开源开发者获得报酬是否不寻常？） Not really（并非如此）. Many of our mentors get paid to work on open source. Some run their own consultancies, others tinker for some cash on the side, others work for large companies. Some profess to code for cotton. That said, [...]]]></description>
			<content:encoded><![CDATA[<p>或许是因为SPlayer的项目结构过于复杂，或许是因为国内开发者的压力较大可自由支配的时间少，或许还有其他的原因，射手影音播放器作为一个立足于中文环境的开源项目，公众开发者的参与度长期以来并不算高。</p>
<p>因此射手科技将尝试为参与开源项目的志愿者，建立个机制，使志愿者可以获得资助，更轻松的参与到项目中来。当然这可能是一个略带争议性的话题，因为作为自由软件或者说开源项目的参与者，似乎应该是出于自愿，是否有必要设计利益关系呢。事实上，从很多大型国际开源项目的经验上说，开发者可以获得回报的机制虽然并不明显，但也并非不寻常。包括对项目捐助的分配，或者开源项目背后的服务等等。引用Google Summer of Code中FAQ的一段：</p>
<blockquote><p># Isn&#8217;t it unusual for open source developers to be paid?（开源开发者获得报酬是否不寻常？）<br />
Not really（并非如此）. Many of our mentors get paid to work on open source. Some run their own consultancies, others tinker for some cash on the side, others work for large companies. Some profess to code for cotton.<br />
That said, we do know it is tricky to introduce cash into the mix of Free and Open Source, but that is why we&#8217;re working with external organizations with years of collective experience in this kind of thing.</p></blockquote>
<p>就我个人来说，对这种模式是否有效心里也没底。不过在能力范围内或者逻辑下无法求得最优解时，也许最好的方案确实是follow your  heart。即便错了，至少可以说无怨无悔。</p>
<p>射手科技为参与SPlayer项目的志愿者，包括开发、测试或其他方面的志愿者，提供多种资助模式。虽然数量并不多，但是已是能力所及。：<br />
A) 基于成就的资助模式<br />
针对解决特定TODO条目和技术难题的开发者，按解决的复杂度和时间，获得对应的资助。<br />
优点：时间管理比较灵活，可以从兴趣出发。</p>
<p>B) 固定参与的资助模式<br />
对于长期参与项目的开发者或设计者，可以按月获得相应的资助。同时还可参加由射手科技定期组织的培训和课程。<br />
优点：可以有相对稳定的收入，可以共同学习提高。<br />
凡是并有意愿投入时间加入的志愿者，且成功提交patch或进行功能改进的开发者，均可申请成为项目的固定参与者。<br />
射手科技可为每位固定参与者每月提供高至800元资助。</p>
<p>C) 资深参与者<br />
每1-3个月，我们会对参与者的工作进行评估，对于有突出贡献的参与者，可以获得更多的资助。<br />
射手科技为每位资深项目参与者每月提供高至2000元开发资助。</p>
<p>D) 高级参与者<br />
成为射手科技的固定雇员，长期从事SPlayer相关开发。</p>
<p>具体的参与流程：<br />
开发者在TODO列表和技术挑战中选择一项或几项<br />
向SPlayer项目管理组进行登记，对于需要一定开发周期的条目，预估开发所需消耗的时间。<br />
SPlayer项目管理组对条目和消耗时间进行评估，并与开发者约定可提供的经费金额。<br />
开发者完成开发，提交patch或commit，并领取经费。<br />
完成至少2条TODO列表或1条技术挑战中的项目后，可以申请成为固定参与者，并按月领取开发资助。</p>
<p>SPlayer项目管理组的联络方式：<br />
Email: tomasen@gmail.com</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2010/07/%e5%b0%84%e6%89%8b%e7%a7%91%e6%8a%80%e5%b0%86%e4%b8%ba%e6%97%97%e4%b8%8b%e5%bc%80%e6%ba%90%e9%a1%b9%e7%9b%ae%e7%9a%84%e5%8f%82%e4%b8%8e%e8%80%85%e6%8f%90%e4%be%9b%e7%bb%8f%e8%b4%b9%e6%94%af%e6%8c%81/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>射手影音播放器 3.5.1&#160;稳定版</title>
		<link>http://blog.splayer.org/index.php/2010/04/%e5%b0%84%e6%89%8b%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8-3-5-1-%e7%a8%b3%e5%ae%9a%e7%89%88/</link>
		<comments>http://blog.splayer.org/index.php/2010/04/%e5%b0%84%e6%89%8b%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8-3-5-1-%e7%a8%b3%e5%ae%9a%e7%89%88/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 23:45:29 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[更新]]></category>
		<category><![CDATA[稳定版]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2100</guid>
		<description><![CDATA[射手影音播放器 3.5.1 是个较小的版本更新，不过也包括近50处改进。例如支持IPV6、自动简繁转换、动画字幕、改善字幕匹配服务的网络通讯稳定性等等。 主要更新有： *支持通过IPV6进行通讯来使用字幕匹配服务 *加入自动字幕简繁转换功能。为简体用户自动将繁体字幕转为简体。反之亦然。(此功能也可以在设置面板中关闭) *支持动画字幕，例如卡拉OK式的SSA字幕。 *原生支持rmvb的边下边看 *支持带有TRUEHD标志的mkv文件 *支持SCM格式文件 *支持amr扩展名的文件播放 *支持QTRLE格式的mov文件 *影片正常播放30秒后才会记忆退出断点以供续播 *记忆播放过的影片的字幕和音轨用户选择 其他更新有： *Ctrl+HOME/DELETE/END 可以快速跳转至片头、片中和片尾亮度调节快捷键改为 Alt+HOME/END *显示字幕时改变字幕菜单中的文字为“关闭字幕” *对ram文件提供更好的支持 *对网络音频流不自动进行歌词匹配 *打开文件时间较长时，显示正在打开的提示 *修正部分音频在播放一段时间后无声的问题 *修正amr播放中可能出现的内存泄露问题 *修正一个h264解码问题 *少许改善性能模式下显示隔行画面的画质 *修正部分rmvb文件播放不流畅的问题 *取消手动下载字幕的界面 *防止对日文字幕进行繁简转换 *支持启动即全屏模式 *修正部分情况下工具栏按钮同时显示静音和喇叭标志的问题 *修正OEM版IVM解码文件会安装至错误位置的问题 *顶部悬浮控制面板根据顶部工具栏的高度来确定位置改善DTS数字输出的硬件兼容性 *按下停止按钮时，清除断点续播的记忆位置 *可以通过ui.ini控制主界面的最小宽度 *为不同尺寸的skin图标对界面尺寸做出相应的调整 *当目录下有m3u类的播放列表文件时，避免添加重复的项目文件 *修正快速切换mp3时，下载歌词争用线程导致异常的问题 *修正一个Norton 360最新版导致的冲突问题 *进行自动字幕语言转换时通过OSD进行一点友好的说明提示 *更智能的判断是否进行自动字幕简繁转换选项中 *可以启用和关闭自动字幕简繁转换功能 *修正半透明无标题栏界面播放音乐时不恰当的响应顶部按钮的事件 *闲置时清理30天未使用的字幕文件，避免网络字幕存储文件夹无限增大 *通过网络匹配字幕时不显示“正在显示字幕&#8230;”的提示 *修正：OpenSSL的RAND_ADD可能导致不稳定的线程问题 *非播放中双击界面空白处改为在全屏和窗口之间切换（非影院模式下） *播放器背景图片设置为大尺寸时，手动关闭影片不会再将窗口缩放至背景图片的原始尺寸 *改为按“Tab”键显示当前播放文件位置而不是鼠标移动至界面下半部分时显示当前播放文件所在位置 *调用到断点续播功能时显示提示文字 *修改亮度不能修改时对应的提示文字为“您需要启用画质模式才能控制亮度” *修正一些情况下快捷键不能正常调整亮度的问题 *手动匹配字幕时可以关闭匹配窗口重试网络不超过7次 *在网络连接失败时提示修改防火墙或安全软件设置 [...]]]></description>
			<content:encoded><![CDATA[<p>射手影音播放器 3.5.1 是个较小的版本更新，不过也包括近50处改进。例如支持IPV6、自动简繁转换、动画字幕、改善字幕匹配服务的网络通讯稳定性等等。</p>
<p>主要更新有：<br />
*支持通过IPV6进行通讯来使用字幕匹配服务<br />
*加入自动字幕简繁转换功能。为简体用户自动将繁体字幕转为简体。反之亦然。(此功能也可以在设置面板中关闭)<br />
*支持动画字幕，例如卡拉OK式的SSA字幕。<br />
*原生支持rmvb的边下边看<br />
*支持带有TRUEHD标志的mkv文件<br />
*支持SCM格式文件<br />
*支持amr扩展名的文件播放<br />
*支持QTRLE格式的mov文件<br />
*影片正常播放30秒后才会记忆退出断点以供续播<br />
*记忆播放过的影片的字幕和音轨用户选择<br />
其他更新有：<br />
*Ctrl+HOME/DELETE/END 可以快速跳转至片头、片中和片尾亮度调节快捷键改为 Alt+HOME/END<br />
*显示字幕时改变字幕菜单中的文字为“关闭字幕”<br />
*对ram文件提供更好的支持<br />
*对网络音频流不自动进行歌词匹配<br />
*打开文件时间较长时，显示正在打开的提示<br />
*修正部分音频在播放一段时间后无声的问题<br />
*修正amr播放中可能出现的内存泄露问题<br />
*修正一个h264解码问题<br />
*少许改善性能模式下显示隔行画面的画质<br />
*修正部分rmvb文件播放不流畅的问题<br />
*取消手动下载字幕的界面<br />
*防止对日文字幕进行繁简转换<br />
*支持启动即全屏模式<br />
*修正部分情况下工具栏按钮同时显示静音和喇叭标志的问题<br />
*修正OEM版IVM解码文件会安装至错误位置的问题<br />
*顶部悬浮控制面板根据顶部工具栏的高度来确定位置改善DTS数字输出的硬件兼容性<br />
*按下停止按钮时，清除断点续播的记忆位置<br />
*可以通过ui.ini控制主界面的最小宽度<br />
*为不同尺寸的skin图标对界面尺寸做出相应的调整<br />
*当目录下有m3u类的播放列表文件时，避免添加重复的项目文件<br />
*修正快速切换mp3时，下载歌词争用线程导致异常的问题<br />
*修正一个Norton 360最新版导致的冲突问题<br />
*进行自动字幕语言转换时通过OSD进行一点友好的说明提示<br />
*更智能的判断是否进行自动字幕简繁转换选项中<br />
*可以启用和关闭自动字幕简繁转换功能<br />
*修正半透明无标题栏界面播放音乐时不恰当的响应顶部按钮的事件<br />
*闲置时清理30天未使用的字幕文件，避免网络字幕存储文件夹无限增大<br />
*通过网络匹配字幕时不显示“正在显示字幕&#8230;”的提示<br />
*修正：OpenSSL的RAND_ADD可能导致不稳定的线程问题<br />
*非播放中双击界面空白处改为在全屏和窗口之间切换（非影院模式下）<br />
*播放器背景图片设置为大尺寸时，手动关闭影片不会再将窗口缩放至背景图片的原始尺寸<br />
*改为按“Tab”键显示当前播放文件位置而不是鼠标移动至界面下半部分时显示当前播放文件所在位置<br />
*调用到断点续播功能时显示提示文字<br />
*修改亮度不能修改时对应的提示文字为“您需要启用画质模式才能控制亮度”<br />
*修正一些情况下快捷键不能正常调整亮度的问题<br />
*手动匹配字幕时可以关闭匹配窗口重试网络不超过7次<br />
*在网络连接失败时提示修改防火墙或安全软件设置<br />
*调整网络超时时间限制<br />
*根据wikimedia的词库改善自动简繁转换的算法<br />
*初次下载失败后在多个匹配服务器间逐一切换<br />
*简体界面环境下会自动将繁体字幕转为简体显示繁（正）体界面环境下会自动将简体字幕转为繁（正）体显示<br />
*使用halli作为mp4分离的备用方案，以便兼容没有moov atom的mp4文件 <img src='http://blog.splayer.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
*支持大于4G的MP4Splitter</p>
<p><a href="http://splayer.org/">立刻下载 3.5.1版</a> |         <a href="http://splayer.org/join.html">参与开发</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2010/04/%e5%b0%84%e6%89%8b%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8-3-5-1-%e7%a8%b3%e5%ae%9a%e7%89%88/feed/</wfw:commentRss>
		<slash:comments>106</slash:comments>
		</item>
		<item>
		<title>感谢！射手影音播放器日均下载过万次</title>
		<link>http://blog.splayer.org/index.php/2010/03/%e6%84%9f%e8%b0%a2%ef%bc%81%e5%b0%84%e6%89%8b%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8%e6%97%a5%e5%9d%87%e4%b8%8b%e8%bd%bd%e8%bf%87%e4%b8%87%e6%ac%a1/</link>
		<comments>http://blog.splayer.org/index.php/2010/03/%e6%84%9f%e8%b0%a2%ef%bc%81%e5%b0%84%e6%89%8b%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8%e6%97%a5%e5%9d%87%e4%b8%8b%e8%bd%bd%e8%bf%87%e4%b8%87%e6%ac%a1/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 09:01:05 +0000</pubDate>
		<dc:creator>Tomasen</dc:creator>
				<category><![CDATA[日志]]></category>
		<category><![CDATA[射手播放器]]></category>
		<category><![CDATA[态度]]></category>
		<category><![CDATA[感谢]]></category>
		<category><![CDATA[目标]]></category>

		<guid isPermaLink="false">http://blog.splayer.org/?p=2071</guid>
		<description><![CDATA[感谢所有射手播放器的用户、参与者、开发者和支持者，根据射手影音主页的统计，射手影音播放器的日均下载已于上周末超过万次。同时每日通过射手播放器调用系统服务的请求也超过千万次，每日活跃用户数已逾50万人。 虽然自第一个版本发布至今不足一年，且到目前为止射手播放器并没有多少收入。但使用者的认可，就是对射手播放器项目最大的礼物。而今日的成果，更是来自多方的参与，所以也必须感谢那些提交设计、Patch，对代码做出贡献和给我帮助指导的朋友们。 今后射手播放器还是会以持续技术创新和应用创新的态度，在开源的道路上坚持追求。我的目标是通过优秀的服务和产品而不是强×来公平的挣取收入，证明在中国走合法合规的道路-即便会有痛苦和困难-也同样可以的创造出成功的品牌。希望未来能有更多有理想的朋友加入到项目中来，一同创造一个真正拿得出手的中文开源项目。]]></description>
			<content:encoded><![CDATA[<p>感谢所有射手播放器的用户、参与者、开发者和支持者，根据<a href="http://splayer.org">射手影音主页</a>的统计，射手影音播放器的日均下载已于上周末超过万次。同时每日通过射手播放器调用系统服务的请求也超过千万次，每日活跃用户数已逾50万人。</p>
<p>虽然自第一个版本发布至今不足一年，且到目前为止射手播放器并没有多少收入。但使用者的认可，就是对射手播放器项目最大的礼物。而今日的成果，更是来自多方的参与，所以也必须感谢那些提交设计、Patch，对代码做出贡献和给我帮助指导的朋友们。</p>
<p>今后射手播放器还是会以持续技术创新和应用创新的态度，在开源的道路上坚持追求。我的目标是通过优秀的服务和产品而不是强×来公平的挣取收入，证明在中国走合法合规的道路-即便会有痛苦和困难-也同样可以的创造出成功的品牌。希望未来能有更多有理想的朋友加入到项目中来，一同创造一个真正拿得出手的中文开源项目。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.splayer.org/index.php/2010/03/%e6%84%9f%e8%b0%a2%ef%bc%81%e5%b0%84%e6%89%8b%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8%e6%97%a5%e5%9d%87%e4%b8%8b%e8%bd%bd%e8%bf%87%e4%b8%87%e6%ac%a1/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
	</channel>
</rss>

