Month: Wednesday September 26th, 2012

Raspberry Pi十六进制编辑器wxHexEditor

本文同步自(最佳显示效果请点击):https://zohead.com/archives/raspberry-pi-wxhexeditor/ 最近在 Raspberry Pi 编程时需要对文件进行十六进制编辑,原来一直用的 vim 配合 xxd 来实现的,但用起来还是各种不方便,在切换到 X11 界面时,想着能不能直接装个图形的编辑器来方便操作。 简单搜索之后发现 Linux 环境下好用的十六进制编辑器确实太少了,原来用的 Ghex 软件由于必须要 GNOME 环境支持果断放弃,UltraEdit 软件已经移植到 Linux 下,但由于是闭源的只有 X86 下的版本。装了这个 Bless Hex Editor 软件,是基于 Mono 实现的,但发现有一些非正常退出的 bug,还是弃用之。 最后发现的 wxHexEditor 看起来很不错,基于 wxWidgets 实现,因此实现了 Windows、Linux、Mac OS X 跨平台,而且速度也挺好,不会一下装载整个文件,这对编辑大文件非常有用,填补了 Linux 上缺少好的十六进制编辑器的空白,看看 Linux 上的运行截图: 想直接在线安装 wxHexEditor 发现有问题了,Raspberry Pi 的默认 Debian Wheezy 发行版中没有这个软件,需要自己来编译了,首先到其官网下载源代码包:http://www.wxhexeditor.org/。 首先 Raspberry Pi 需要相对完整点的开发环境,gcc、make、g++、autoconf、libtool 等一些开发工具包都是需要安装的。准备好之后使用 apt-get install libwxgtk2.8-dev 命令先在 Raspberry Pi 系统中安装 wxWidgets 的最新版本的库文件(自动依赖并安装)和开发包。然后进入解压缩出来的 wxHexEditor 源代码目录,运行 make OPTFLAGS=”-fopenmp” 命令就可以进行编译,粗略估计编译需耗时 15 分钟左右(有点汗…)。 不想自己的编译的童鞋欢迎使用我编译好的版本哦,解压缩把 wxHexEditor 文件拷到 /usr/bin 之类的路径即可,要运行此程序最少要安装 wxWidgets 运行库哦(apt-get install libwxgtk2.8-0),需要注意此文件只在 Raspberry Pi 的 Debian Wheezy hardhf 版本系统中可用: http://miseal.googlecode.com/files/wxHexEditor-v0.20.7z

修改XBMC LiveStreams Python插件以支持中文

本文同步自(最佳显示效果请点击):https://zohead.com/archives/xbmc-livestreams-cn-patch/ 最近在闲时捣鼓下 Raspberry Pi 微型电脑板上的开源 XBMC 应用准备看看 HTPC 媒体中心的效果,发现 Raspberry Pi 在安装了 XBian 系统之后可以比较好的实现 XBMC 的基本功能,虽然由于 Raspberry Pi 没有购买一些视频格式的软件解码授权而导致 WMV 或者 MMS 之类的格式无法播放,但对于常用的一些 H264 的高清视频已经足以应付,接上网线之后看高清在线视频点播和直播的效果都还可以。 有关 Raspberry Pi 请参考 [之前] 的文章,有关 XBian 之一专门为 Raspberry Pi 优化的 XBMC 系统可以访问其官网:http://xbian.org/。 注:Raspberry Pi 上除了 XBian 之外,还有 Raspbmc、Openelec 等其它合适的 XBMC 系统可供选择的。而且这些都是基于标准 XBMC 程序修改的,标准插件之类的基本可以通用。 前两天找到一个不错的在线电视直播的 XBMC 插件:LiveStreams,此插件可以由用户自己修改 XML 配置文件增加在线直播的地址,根据实际硬件配置不同,可支持 MMS、RTSP、RTMP 等各种不同的流媒体协议。有关 LiveStreams 的介绍和配置请参考这些链接(特别第二个链接中有详细的截图介绍): http://forum.xbmc.org/showthread.php?tid=97116 http://www.xbmchub.com/blog/2012/04/26/adding-custom-xml-files-to-the-live-streams-addon/ 最新版本的 LiveStreams 插件可以到这里下载:http://code.google.com/p/divingmules-repo/。 在实际使用过程中发现由于 LiveStreams 由于是老外写的,不由自主的就碰到对中文的支持问题,如果添加的 XML 配置文件中节目名称或者节目目录名称包含中文,XBMC 系统中LiveStreams 插件将不能正常工作,直接会出现脚本错误。 简单看了下 LiveStreams 插件的代码,是用 Python 写的,凭着一些简单的 Python 基础,然后集合 Python 的 logging 模块来调试,终于发现 LiveStreams 插件对中文支持不佳的原因,作者在使用 BeautifulSoup(参考 [这里]) 这一个非常知名的 HTML/XML 等解析的库时未考虑非英文环境下的问题,简单做了下修改之后,中文的直播节目和目录名称都可以正常显示了。 顺便再简单说明一下 LiveStreams XML 配置文件嵌套节目目录的方式,这是一个实例 XML 节目配置文件: 第一个节目目录 Channel 1 下面没有子目录,只有 TV1 和 TV2 这两个节目,因此 XML 层次是 channel/items/item。第二个节目目录 Channel 2 下有名为 Sub1 的子目录,Sub1 下又有 Sub TV1 和 Sub TV2 两个节目,这种的 XML 层次则是:channel/subchannels/subchannel/subitems/subitem。 需要注意的是 LiveStreams 的 XML 配置文件必须以 UTF-8 编码格式保存,否则非英文字符将无法正常显示。另外由于 XML 本身格式的原因,XML 内容中的这些字符需要转换(全部为纯英文字符,包括结束的分号): & 转换为 &amp; < 转换为 &lt; > 转换为 &gt; ‘ 转换为 &apos; ” 转换为 &quot; 最后附上我修改过的最新 LiveStreams 1.0.6 版本 XBMC 插件的下载地址: http://miseal.googlecode.com/files/plugin.video.live.streams-1.0.6.zip 由于这插件只是随便修改的,有任何问题欢迎指正哦。 ^_^