2014年8月19日星期二

Qt Webkit 加入新的plugin路径

在Qt中使用QWebView播放flash文档(swf格式),需要加入NPSWF32.dll这个plugin,如果使用plugin要使用下面代码,去允许使用plugin:

QWebSettings *settings = QWebSettings::globalSettings();

settings->setAttribute (QWebSettings::PluginsEnabled, true);

但是如果还是无法显示flash文档,其实原因是Qt无法找到正确的plugin路径,需要使用类似以下代码,告诉Qt正确的含有NPSWF32.dll的plugin路径:

QString path  = QDir::currentPath() + "/webplugins";

qputenv("QTWEBKIT_PLUGIN_PATH", path.toLocal8Bit());

2014年8月12日星期二

设置GigEVision相机使用固定IP

如果使用Stemmer Imaging的CVB软件,可以在Camera的Properties里面设定:
在GigEVisionTransportLayer里面:
GevCurrentIPAddress            169.254.1.10
GevCurrentSubnetMask        255.255.0.0
GevPersistentDefaultGateway    0.0.0.0
GevIPConfiguration PersistenIP
在UserSets里面,将上面的设置储存,下次启动相机的时候上面的设置将会被使用:
User Set Default Selector    UserSet1
set User Save-->Execute
如果要加快计算机接上GigEVision相机后找到相机的速度
也可以将计算机的Lan Adapter设成固定的IP
譬如说:
IP address: 169.254.200.9
Subnetzmake: 255.255.0.0
Standardgateway: 放空


关于自动专用IP寻址的介绍:
我们上面使用的是Automatic Private IP Addressing (from 169.254.0.0 - 169.254.255.255) 它们的subnet mask value 是 255.255.0.0。其实是Windows 计算机自动专用IP寻址(APIPA)是DHCP故障转移机制。自动专用IP 寻址(APIPA) 协议,就是, 当无DHCP 服务器时,通过APIPA, DHCP 客户端可自动配置IP 地址和子网掩码。

The Internet Assigned Numbers Authority (IANA) has reserved 169.254.0.0 through169.254.255.255 for Automatic Private IP Addressing. As a result, Automatic Private IP Addressing provides an address that is guaranteed not to conflict with routable addresses.



关于使用私有IP的介绍:
http://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C
在互联网的地址架构中,专用网络是指遵守RFC 1918和RFC 4193规范,使用私有IP地址空间的网络。私有IP无法直接连接互联网,需要公网IP转发。与公网IP相比,私有IP是免费的,也节省了IP地址资源,适合在局域网使用。私有IP地址在internet中不会被分配。

private-IPv4-addr

2014年8月5日星期二

使用MP4Box对MP4视频文件加入Chapters


今天我尝试着使用FFmpeg对MP4视频文件加入Chapters(片段,段落,章节),这样可以在播放视频的时候直接跳到不同的片段,使用FFmpeg经过多次尝试均不成功,经过一番搜索,发现MP4Box这个免费工具,它可以非常轻松的完成我的需要。
先下载并安装MP4Box: http://www.videohelp.com/tools/mp4box ,我使用的是MP4BOX_GPAC.Framework.Setup-0.5.0这个版本。
然后写一个关于例如下面所示的的Chapter设置文档,保存成txt格式。
CHAPTER1=00:00:00.000
CHAPTER1NAME=Chapter 001
CHAPTER2=00:01:10.222
CHAPTER2NAME=Chapter 002
CHAPTER3=00:02:00.70
CHAPTER3NAME=Chapter 003
最后使用以下命令行,使用VLC打开生成的test.mp4文件,就可以发现文档中包含了3个片段。
MP4Box -add my_video.mp4 -chap chapters_file.txt test.mp4