Android如何安装第三方的APK

Android如何安装第三方的APK

Apk是Android的标准的安装包文件。通常我们安装Android程序是通过Google的Play Store或者国内各个软件厂商的软件商店,但是如果我们要安装的程序并没有发布在这些商店中,怎么办?我们存在2个问题要解决

1. 如何得到对应的安装包文件,即APK文件

继续阅读

Posted in Android | Tagged | Leave a comment

ffserver + ffmpeg + ffpay构建流媒体系统 + RTSP

ffserver + ffmpeg + ffpay构建流媒体系统 + RTSP

上一篇博客介绍了如何使用

ffserver + ffmpeg + ffpay

构建一个流媒体系统,使用http协议访问。本篇介绍如何通过RTSP协议访问。

其实上篇中ffmpeg只是循环一个静态的图片生成一个视频,因此看到的是一个不动的画面。

本篇介绍直接使用摄像头捕捉实时的画面以及如何使用本地的视频文件。

继续阅读

Posted in 杂项 | Tagged , | Leave a comment

ffserver + ffmpeg + ffpay构建流媒体系统

ffserver + ffmpeg + ffpay构建流媒体系统

ffserver作为流媒体服务器

ffmpeg作为流媒体的源

ffplay作为客户端去访问视频流

怎么获取这些程序不在本文的讨论范围。

这搭建一个最简单的服务器

在 /etc下面创建一个ffserver.conf文件,这个文件是ffserver默认加载的配置文件,如果放在其他的地方,在启动ffserver指定配置文件的全路径即可。

继续阅读

Posted in FFMpeg | Leave a comment

h264 stream internal

h264  stream internal

Obviously, the decoder operates with a sequence of bits received in a specific format. The binary stream is structured and divided into packets. On the upper level, there is separation of the stream on NAL-packets, and the stream has approximately the following form: 

 

Figure 1. Stream separation on NAL-packets





The abbreviation NAL stands for Network Abstraction Layer. The packet structure is shown in Figure 2. 

The first byte of a NAL-packet is a header that contains information about the type of packet. All the possible packet types are described in Table 1. 



Table 1. NAL types 

继续阅读

Posted in 视频技术研究 | Leave a comment

新加坡找工作 – 中介篇

新加坡找工作 – 中介篇

关于如何在新加坡找工作,我已经列举了几个最知名的网站:

国外找工作的网站

本篇说说新加坡的中介。

我基本分成2类:

  • 印度人的
  • 非印度人的

印度人的中介

一般中午吃饭的时候给你打电话( 到现在我还是想不明白这是什么原因, 吃饭的时候一般都在餐厅,会非常吵;还有一次我正在上厕所,结果就变成我提着裤子在那里接电话,我去!!!)

继续阅读

Posted in 杂项 | Leave a comment

国外找工作的网站

国外找工作的网站

// 找新加坡,马来西亚,菲律宾,印尼的工作

www.jobsdb.com

// 找新加坡,香港,马来西亚,菲律宾,印尼的工作

www.jobstreet.com

// 找新加坡,香港,澳大利亚,美国等国,这个提供的职位涉及全球很多国家

www.monster.com

继续阅读

Posted in 杂项 | Leave a comment

是巧合还是有意 华为的LiteOS和另外一款物联网系统名字一样

是巧合还是有意 华为的LiteOS和另外一款物联网系统名字一样

为什么关注华为的LiteOS,一个是因为这是我们民族的自己的操作系统,值得骄傲;另外一个是因为它和另外一个开源的物联网的操作系统名字一模一样

http://www.liteos.net/

继续阅读

Posted in 物联网 | Tagged | Leave a comment

兼容苹果HomeKit智能平台的设备已于本周上市

兼容苹果HomeKit智能平台的设备已于本周上市

第一批兼容苹果HomeKit智能平台的设备已于本周上市,而就在几天前,苹果主要竞争对手谷歌宣布,该公司正在面向互联家居设备和其他电子设备开发自有软件系统。这意味着,智能家居市场的竞争正愈演愈烈。

对于新兴“智能”或“互联”家居设备行业的发展而言,新的HomeKit产品将发挥至关重要的作用。所谓的智能家居是指,家用电器、恒温器甚至是门锁都集成了电脑芯片,用户能以无线方式与之互动。尽管许多厂商都在开发类似产品,但分析师表示苹果可以说服更多的用户体验智能家居设备的乐趣,因为通过iPhone这样的设备,用户可以轻松控制不同的产品。

继续阅读

Posted in 物联网 | Tagged | Leave a comment

linux拷贝多个文件

linux可以在一条命令拷贝多个文件,例如

$ cp fil1 file2 file3 somedir/

这里的file1,file2,file3是在当前的目录下面,如果在别的目录下面怎么做,最简单的就是

继续阅读

Posted in Linux系统学习 | Tagged | Leave a comment

UDP包的大小问题

UDP包的大小问题

我们传输数据的包的时候,需要包的大小。为什么呢?因为如果你的大包的大小超过了网络路径中的最大传输单元,也就是MTU

MTU=Maximum Transmit Unit

那么这个包在传输的时候就会出现碎片化处理(fragmentation),也就是在网络传输的时候,网络包被分成多个包传输,这样大大增加了数据包到达客户端后,因为丢失其中的某个包,而不能组成完整的包的几率。

关于网络分包的危害和所带来的问题,请想看IETF的文档:

https://tools.ietf.org/html/draft-mathis-frag-harmful-00

很多网络设备,如路由器的默认的MTU是1500,但是并不是所有的网络设备都是这个值,而网络路径中经过很多个设备,比如从中国到美国,整个这个网络路劲的MTU是由最小的值来决定的。那么到底取什么值才能保证呢?

根据国际IETF组织的建议,

如果网络是IPv4则是

576

IPv6则是

1280

这是整个IP包的大小,因此UDP包的大小还得减去IP头的大小-

IPv4=20字节

IPv6=40字节

而到UDP数据部分的大小,还得减去UDP头的大小-8字节

 

UDP Header
Offsets Octet 0 1 2 3
Octet Bit  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Source port Destination port
4 32 Length Checksum

关于IETF中建议部分是在TURN协议2.7看到:

https://tools.ietf.org/html/rfc5766

还有一种方法是采用测量的方法,就是实际传输数据之前测试到底包达到多少的时候会出现分包现象。

这种方法IETF也有提出对应的解决方案:

https://tools.ietf.org/html/rfc1191

对应的RFC号是1191,其中提到基本思想是:

利用IP包头的DF标志位,设置标志位为1,表示不要分包,如果从源到目的地的整个路径中有任何一个router,网络设备,其MTU小于这个包的大小,那么将返回一个ICMP包,告诉源 – “目标不可达”。

下面RFC1191中的原话:

The basic idea is that a source host initially assumes that the PMTU
   of a path is the (known) MTU of its first hop, and sends all
   datagrams on that path with the DF bit set.  If any of the datagrams
   are too large to be forwarded without fragmentation by some router
   along the path, that router will discard them and return ICMP
   Destination Unreachable messages with a code meaning "fragmentation
   needed and DF set" [7].  Upon receipt of such a message (henceforth
   called a "Datagram Too Big" message), the source host reduces its
   assumed PMTU for the path.

继续阅读

Posted in 网络开发 | Leave a comment