十二
4
2009

使用commons compress解压缩zip文件

压缩包在windows和linux下编码问题中没有做解压缩文件。在该项目的基础上又增加了一个解压缩文件的示例。下面是运行的效果。

image

Continue Reading »

十二
4
2009

压缩包在windows和linux下编码问题

问题描述

文件打包和归档是常用功能。windows下使用gbk和gb18030编码,而linux下都是utf8编码。这样会造成,在windows下打包的zip文档在linux下乱码,在linux下tar的文档在windows下乱码。

比如zip文件,在windows下:

windows.zip

Continue Reading »

十二
3
2009

视频编码器

当你谈论“看一个视频”的时候,你实际上是在谈论一个视频流和一个音频流的合成的内容。但是并不存在两个不同的文件。你似乎只有“这个视频”。也许它是一个avi文件,或者mp4文件。它们只是容器格式,类似zip文件包含了多种文件类型的文件。容器格式定义了怎么在单一的文件中存储视频和音频流。

当你“看一个视频”的时候,视频播放器在做以下一些事情:

  1. 解释容器格式,从中找到那些视频和音频track可用,它们是如何存储在文件中的,并可读取它们的数据,为下一步解码做准备;
  2. 解码视频流,显示一系列的图片到屏幕上;
  3. 解码音频流,发送声音到音箱。

Continue Reading »

十二
3
2009

视频容器格式

你也许会想,视频文件就是比如“avi文件”或者“mp4文件”。而实际上,avi和mp4只是容器格式。好比zip文件,里面可以包含各种文件,视频容器格式只是定义了怎么存储数据,而不论存储什么类型的数据。不过视频容器格式比这个更复杂一些,因为不是所有的视频流格式兼容所有的视频容器格式。

一个视频文件一般包含多个track,而每个视频track(没有音频)又可对应一到多个音频track。这些track又总是相互关联的。每个音频track内部包含标记用于和视频同步。每个track可包括元数据,比如视频track的纵横比(视频长和宽),或者音频track的语言。容器也可以有元数据,比如视频自身的题目,视频的封面,片段号码(用于在电视上展示)等等。

Continue Reading »

十二
3
2009

html5 video简介

在过去四年里,如果你访问过youtube.com(或者国内的比如youku.com),你可以看到视频可以嵌入到网页当中。

但是在html5以前,没有基于标准的方式来实现这种功能。实际上,你看到的在网页上的视频,是通过第三方的插件实现的,也许是quicktime,或者realplayer,或者flash(youtube和国内的很多视频网站都是用的flash)。这些插件和浏览器集成的很好,让你感觉不到在使用它们,除非你在一个不支持这个插件的平台观看它,比如ubuntu linux下面的浏览器就默认没有安装flash插件。

html5定义了标准的方式在网页中嵌入视频,使用<video>标签。对<video>标签的支持还在发展当中,至少不是在所有的地方可用,以下显示<video>标签浏览器支持情况:

image

PDF格式創作    发送文章为PDF   
十二
2
2009

在ubuntu下安装chromium

chromium是chrome的开源版本。在Linux环境下只有这个。ubuntu下的安装,见:

http://www.ubuntugeek.com/install-chromium-google-chrome-web-browser-in-ubuntu.html

PDF格式打印機    发送文章为PDF   
十二
2
2009

htc g3定制ROM

买了一部htc g3,用于测试flash播放。买回来是安卓g3安逸版1.0,带一个很难看的“心机”界面,据说是为了掩盖屏幕上的亮点。

令人失望的是g3虽然支持flash,但是依然不能在浏览器中播放flash视频,比如通过jw flv player。以为是版本比较老造成的,刷了最新的安卓安逸版1.1。问题依旧,于是刷了最新的亚洲官版(2.73.728.5),发现没有market,另外,就是root权限没有了,并且flash依然不是最新的10.1。

经过几天折腾,终于刷回带root权限的安卓安逸版1.1了。

Continue Reading »

十一
30
2009

phpbb3.0增加table的bbcode

phpbb中的bbcode功能很强大,可以定制任意格式的html内容。但是对管理员和用户有一定要求。

为phpbb增加了table功能,见:

http://bbs.easymorse.com/viewtopic.php?f=3&t=9&start=0#p45

增加的步骤,参见:

http://www.phpbb3bbcodes.com/viewtopic.php?t=270

創建PDF格式    发送文章为PDF   
十一
30
2009

通过浏览器在线播放mp4视频

mp4经过处理,可以通过apache以流的方式播放,见:使用h264 http伪流传输视频

这里用flash player和html5分别实现了mp4在浏览器的播放。

其中flash player使用了jw flv player,网址见:

http://www.longtailvideo.com/players/jw-flv-player/

下载只需输入邮箱地址即可。该网站有很友好的向导帮助你生成使用flash播放器的代码。这里是我的代码,做了个别的改动:

<script type=’text/javascript’ src=’swfobject.js’></script>
<div id=’mediaspace’>This text will be replaced</div>
<script type=’text/javascript’>
  var so = new SWFObject(‘player.swf’,'mpl’,’800′,’600′,’9′);
  so.addParam(‘allowfullscreen’,'true’);
  so.addParam(‘allowscriptaccess’,'always’);
  so.addParam(‘wmode’,'opaque’);
  so.addVariable(‘file’,’http://marshal.easymorse.com/test.mp4′);
  so.addVariable(‘image’,'preview.jpg’);
  so.write(‘mediaspace’);
</script>

Continue Reading »

十一
26
2009

groovy编写webservice

使用java编写webservice已经简单多了,但是要借助第三方工具或者框架,比如spring,学习成本还是比较高的。

groovy可以瞬间搭建起webservice的服务。

webservice基本原理

先简单介绍一下webservice。一般使用的是http协议(也可以是其他传输协议的),传输xml格式文本信息。一般用webservice做RPC,也就是Remote Procedure Call,即远程过程调用。

远程过程调用是和本地过程调用相对的,本地过程调用,就是比如java代码里面调用一个方法,那么有方法参数,调用后有返回值。

远程过程调用无非是通过网络远程调用一个“方法”而已。可以近似的认为,方法名是一个url,方法的参数是http请求部分,返回值是http响应。

webservice通过http传输的文本格式,是遵循xml格式的,而且,可以看出有一定的文档格式,这个格式是就是soap协议。

刚才说的都是比较底层和基本的原理,实际上编程语言调用webservice,使用编程语言自带的webservice API,已经不会碰到这样底层的东西了,比如说操作http请求和响应,比如java,看上去很像调用一个java方法一样。

Continue Reading »

第49页,共93页« 前...45464748495051525354...后 »