- 博客(82)
- 资源 (2)
- 收藏
- 关注
转载 什么是H265
H.265是ITU-T VCEG 继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H264由于算
2016-04-05 15:19:53
6141
原创 通过vnc连接ubutun系统桌面,运行android模拟器颜色错误
这个问题跟android sdk有关, 当前一个work around的方法是在执行vnc4server的时候加上参数。vnc4server -kill :1vnc4server -depth 24 -pixelformat RGB888,接着再连接vnc,跑安卓模拟器就没有问题了。
2013-06-04 16:47:14
2351
原创 Qt 中链接Directfb
1. 修改qmake.conf文件, 用如下方法修改:$(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC),$(@D))$(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX),$(@D))$(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX),$(@D))$(call QT_QM
2013-03-28 18:34:38
3489
原创 linux下共享库的一个有用工具objdump
objdump可以用来得到共享库的SONAME, RPATH, 依赖库等等重要信息,具体用法如下:1. 获取共享库objdump -x libfoo.so | grep NEEDED输出结果如下: NEEDED libinit-1.0.so.0 NEEDED libgui.so NEEDED
2013-03-26 18:56:24
3019
原创 Linux shell那些事儿
1. 判断某个ko是否已经安装,没有安装则安装之if [ 0 -eq `lsmod | grep foo` ]; then insmod /lib/foo.kofi 2. 判断设备文件是否已经建立, 没有建立,则建之if [ ! -e /dev/foo ]; thenmknod /dev/foo c $num 0fi3. 获取eth0的网关I
2013-03-26 18:35:32
2238
原创 DirectFB把内容同时输出到主副surface
一直忙项目,很长时间没有更新博客了。近期碰到一个问题, 就是设定了DirectFB的主Surface输出到高清接口,比如HDMI, 而副Surface的内容则要输出到标清接口,比如CVBS。我不想一条语句调用两次,分别向不同的Surface画, 研究了一下, Directfb是可以做到在输出到主Surface的同时,flip一份到副Surface的。具体代码如下:#i
2013-03-26 18:05:21
3818
原创 Linux技巧点滴(二)
在特定的文件中查找文本下面的命令是在当前目录及子目录中的cpp文件中查找是否包含文本hello,若存在, 则输出文件名和行号 grep -nr 'hello' --include=*.cpp ./ 判断进程是否已经运行if ps -ef |grep "myprocess" |grep -v "grep"thenecho "running"fi $1 如果
2012-05-14 13:52:13
1957
原创 Qt 的启动界面上添加进度条
主要是基于qsplashscreen写一个扩展类,不罗嗦,直接看源码,关键部位有注释。扩展类头文件#ifndef __MYSPLASHSCREEN_H#define __MYSPLASHSCREEN_H#include class MySplashScreen: public QSplashScreen{ Q_OBJECTprivate:
2012-05-10 00:51:38
12013
3
原创 Makefile里调用shell注意点
大家经常编写和使用Makefile, Makefile里面也经常用到shell, 但对其中一些需要注意的地方未必会去留意, 这里列出几个来, 不知是否对大家有用。1. 注意Makefile的变量和shell变量, 看如下示例: DIRS = src bin lib all: @for i in $(DIRS); / do / e
2012-04-23 00:14:18
7684
原创 HTML5 音视频标签的方法、属性和事件
方法方法描述addTextTrack()为音视频加入一个新的文本轨迹canPlayType()检查指定的音视频格式是否得到支持load()重新加载音视频标签play()播放音视频pause()暂停播放当前的音视频 属性属性描述audioTracks
2012-03-22 11:39:16
3595
翻译 面向对象设计之依赖倒置原理
依赖倒置原理是罗伯特.C.马丁提出来的,其中心思想如下:高层模块不能依赖低层模块,两者都要依赖抽象。抽象不能依赖具体,具体要依赖抽象。 这个原理倒置了传统的高层模块依赖低层模块的观念,提出了高层或低层模块要依赖抽象,下面我们用一个三层协议栈的例设计子来详细说明下该原理。 分以下三个步骤来说明:初始设计用依赖倒置原理来修改设计依赖倒置的优点 初始设计考察
2012-03-15 11:41:32
2949
翻译 GStreamer良好的开发习惯
1. 为你的管道(pipeline)添加一个GstBus的处理函数: /* watch for messages on the pipeline's bus (note that this will only * work like this when a GLib main loop is running) */ bus = gst_pipeline_get_bus (GST
2012-03-09 13:28:28
4254
原创 arm平台交叉编译gstreamer-0.10.36 及相关plugins
glib-2.0要先编译好, 安装到/home/work/gst目录下。关于glib-2.0的交叉编译, 可参考前面博文http://blog.youkuaiyun.com/myaccella/article/details/7298014。 gstreamer-0.10.36 的交叉编译配置如下: CC=arm-none-linux-gcc PKG_CONFIG_PATH=/home/
2012-03-05 16:49:55
11106
原创 编译gst-template-master的gst-plugin
自己用gst-template-master 的工具make_element生成了plugins,想编译之,结果运行autogen.sh出现如下错误:configure.ac:29: error: possibly undefined macro: AC_MSG_ERROR If this token and others are legitimate, please use
2012-03-02 11:42:59
7312
转载 gstreamer中用dfbvideosink播放视频文件过程总结
今天终于解决了困扰已久的video播放显示的问题,可以总结一下了。我要做的是用Gstream播放avi等等我们可能需要支持的视频文件,需要用到的plugin除了基本的filesrc,ffmpegcolorspace之外,还另外装了 avidemux,mpegdemux,mpeg2dec等等解码插件,最后播放的就是dfbvideosink.而整个过程是这样的:1,最开始测试用
2012-03-01 13:31:41
8810
1
原创 arm下交叉编译glib-2.28.8
废话不多, 直接上配置:CC=arm-none-linux-gcc ./configure --build=i686-linux --host=arm-none-linux \ glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes \ ac_cv_func_posi
2012-02-27 13:56:46
17173
原创 gstreamer 的 elements
安装了gst-ffmpeg-0.10.11和st-plugins-base-0.10.35插件后检测到的gstreamer的elements: video4linux: v4lsrc: Video (video4linux/raw) Sourcegdp: gdppay: GDP Payloadergdp: gdpdepay: GDP Depayloaderpostproc
2012-02-13 13:27:23
6352
原创 MIPS下编译QT4.8.0的__tls_get_addr找不到错误
用arm可以成功编译QT4.8.0, 但用mips编译的时候却碰到如下错误:obj/release-shared-emb-mips/qthread_unix.o: In function `set_thread_data(QThreadData*)':qthread_unix.cpp.text+0xec): undefined reference to `__tls_get_addr'
2012-02-07 14:47:01
6757
原创 自定义QT的编译路径
用qmake从pro文件生成Makefile文件的时候, 里面的头文件路径和库文件路径是缺省的qt安装路径, 怎么样才能定制这些路径, 我们可以利用下面的QMAKE宏。 QMAKE_INCDIR_QT: 指定头文件搜索路径,编译时从指定目录去搜索qt的系统头文件。 比如:QMAKE_INCDIR_QT=$$(QTDIR)/includeQTDIR为QT系统的路径,下同。
2012-02-06 15:01:33
11030
原创 linux 使用摘记
1. 遍历指定目录中的文件shellfor file in `ls common_patch` ; do echo " file name: " $filedone $file就是不包含路径的文件名。 2. 补丁生成和patch方法单个文件补丁diff -Nu old-file new-file >xxx.patchpatch –p0 反向恢复:
2012-02-03 15:30:51
1933
转载 linux shell脚本之判断
先写一些基本语法: 1、字符串判断 str1 = str2 当两个串有相同内容、长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) -z str1 当串的长度为0时为真(空串) str1 当串str1为非空时为真 2、数字
2012-02-01 12:09:03
1314
转载 GStreamer调试 参数与函数的使用
原文出处: http://blog.sina.com.cn/s/blog_5cf930300100ia75.html 一、GStreamer的五个打印调试信息的函数: GST_LOG () ==>>5 GST_DEBUG () ==>>4 GST_INFO () ==>>3
2012-01-17 13:26:50
1980
原创 怎么把webkit中的AtomicString转换成const char*
先用AtomicString 的方法:const String& string()const;转换成String类;AtomicString.h在JavascriptCore的wft/text目录下可以找到String.h 也在同一个目录下 String有个方法叫latin1可以转换成CStringconst CString latin1();转化成CStri
2012-01-13 13:30:05
4313
原创 让qtwebkit使用gstreamer
花了一天事件, 终于编译出了支持gstreamer的qtwebkit, 可以开始html5 的之旅了。 1. 编译libxml2下载libxml2-sources-2.7.6.tar.gz解包后在当前目录下编写如下编译脚本:(当然,不用脚本也行,你可以直接执行)CC=arm-none-linux-gnueabi-gcc ./configure --build=i686-linux
2012-01-12 16:50:10
7687
原创 QtWebkit的画图
WebKit支持的图形库很多: Cairo、GTK2、Qt、Wx、CG、Mac、Skia,不同的图形库能支持不同的平台,而在各平台上的显示效果会有所不同。至于在一个指定的平台上究竟使用哪种图形库,这个可以灵活选择,比如在windows平台上可选的图形库有Cairo、Qt、 Wx、Cg、Skia。 WebKit的WebCore提供了一个称之为图形上下文GraphicsContex
2012-01-11 13:16:29
2775
原创 异步事件引起的plugins crash问题
编写了一个 基于QtWebkit 的MediaPlayer plugin,在实现切换当前播放页面到其它页面时就停止播放的功能时, plugins 发生了crash。停止播放功能实在onUnload()的时候实现的,javascript代码如下: function unload(){ var mp = document.getElementById('mp');
2012-01-09 17:14:02
1068
原创 QtWebkit实现视频透明区域
今天,想在页面上开一个区域来播放视频, 因为当前的图形层叠在视频上上面,想要让视频露出来,就不能有任何的图形东东挡在上面。 首先,我在页面上设计了一块div区域来显示视频,这块区域被设置成全透明:注意最后一个opacity, 设置为0的话, 就表示该div区域就是全透明了,webkit支持这一个属性。 加载该页面, 发现这个区域的确是透出来了,但不符合我们要求, 因为,
2012-01-04 17:47:59
5224
原创 QtWebkit2.2.0 HTML5.0支持情况
Canvas: 支持element, 2d context以及文本解析规则:支持 HTML5 tokenizer/tree building, SVG in text/html, MathML in text/htmlVideo/Audio: 需要GStreamer的支持Elements: 支持嵌入客户不可见数据, 支持section, 分组内容,部分支持Text-level sem
2011-12-31 15:54:11
3320
原创 QT 4.8.0 QURL的Bug??
最近, Qt4.8.0终于正式release了,由于想用它带的QtWebkit 2.2.0,就下载了一个。解包, 写编译脚本, 设置环境变量,在arm平台交叉编译成功生成了熟悉的几个Qt库以及plugins以后。编以前的qtwebkit应用: 自己写的一个简单浏览器。编译成功后, 发现跑起来以后,访问不了本地页面, 只能访问服务器页面,我访问本地页面用的是如下语句: webView
2011-12-23 14:29:17
2848
原创 谈谈QtWebkit 键盘鼠标事件过滤
QT的QObject对象提供了一个方法:void installEventFilter ( QObject * filterObj );这里的参数filterObj也是一个QObject, 这个对象具体实施过滤事件的,它要重载QObject的虚函数: virtual bool eventFilter( QObject * watched, QEvent * event );第一个
2011-12-15 18:35:16
4583
2
原创 QtWebkit2.2为HTML5.0而来
QtWebKit最新版本2.2.0增加了许多的HTML5.0 feature, 可以说是在支持HTML5.0方面迈了一大步。2.2.0虽然已经发布,但由于该release是在QT4.8的分支上开发的,在QT4.7平台上的表现有待于进一步验证,可能会有稳定性方面的问题, 而当前QT4.8并没有发布, 只发布了RC1版本, 所以,不是很急的话, 可以等待QT4.8发布再来用QtWebKit
2011-12-09 17:28:27
5739
原创 linux技巧点滴(一)
查找新于某一时间点的所有文件 比如现在是1209日的15:00, 要查找1小时内,即14:00以后定的所有文件,可以这样做: 先建立一个时间戳文件: $ touch 12091400 ts 然后使用find命令的newer选项查找指定目录中所有晚于该时间戳文件的文件: $ find /usr -newer ts -print
2011-12-09 15:58:31
786
原创 关于Qt Webkit release
当前Qt Webkit独立发布的只有三个稳定release, 分别是 release 2.0, release 2.1,release 2.2. 当前最新的Qt Webkit 的release是2.2, 具体发布时间是2011.9.29日,包含在Qt 4.8里面。上一个版本release 2.1没有更新到Qt平台, 它只是诺基亚移动平台的一个孤立版本。 2.
2011-12-08 15:00:58
1773
原创 Qt Webkit 浏览器交叉编译
先编译opensource的qt包,比如qt-everywhere-opensource-src-4.7.4.tar.gz,注意在configure的时候不要加-no-webkit,否则生成不了libQtWebKit.soOK, 接下来开工,假如qt的目录在/home/yourname/qt目录下,你的工作目录是/home/yourname/qtbrowser,在qtbrowser
2011-12-06 13:24:49
4990
转载 qmake vs make
这几天在做qtopia的移植发现还有个gmake,不清楚和make的区别,所以查来看看,并记下来,方便查找。~~~~~~~~~~~~~~~~gmake是GNU Make的缩写。Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU make只好叫gmake了。比如在安装二进制文件进行编译时要使用make命令,但如果在S
2011-12-05 15:23:58
3825
1
原创 解决DirectFB下的"No system found"
在运行directfb 应用程序的时候,大家有没有碰到过以下的错误: (!) DirectFB/core/system: No system found!(#) DirectFBError [gdk_display_open: DirectFBCreate]: No (suitable) implementation found!刚开始怀疑是framebuffer设备没有创建,但在
2011-12-02 10:52:11
8371
转载 vlc 详细使用方法
Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlist.The first item specified will be played first.Options-styles: --opt
2011-11-30 17:14:38
112226
1
转载 C++ 学习50条忠告
1.把C++当成一门新的语言学习(和C没啥关系!真的); 2.看《Thinking In C++》,不要看《C++变成死相》(C++编程思想,翻译的非常差); 3.看《The C++ Programming Language》(这本东西有影印板的)和《Inside The C++ Object Model》 ,不要因为他们很难而 我们自己是初学者所以就不看; 4
2011-11-29 19:04:17
1037
原创 Linux下检测以太网链路状态代码
该方法用到了ioctl操作ETHTOOL,需要root权限, 否则会失败! // PARAM: devname -- just the device name such as eth0, eth1 etc.// RETURN: -1 -- error , details can check errno// 1 -- interface link up//
2011-11-25 11:07:54
5130
转载 QT Webkit的插件Plugin设计实现
Qt Webkit中浏览器插件Plugin设计实现是我们要介绍的内容,我们都知道浏览器中有一套由Netscape浏览器传承下来的插件接口,包括webkit,firefox都是支持的,但是那个开发起来比较困难,并且是平台相关的,借助于Qt的跨平台的特性,可以方便地为Qt开发出一套跨平台的插件。 QtWebkit中插件可以有两种,一种Mime必须是application/x-q
2011-11-24 18:10:13
7642
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人