2013年9月9日

Ubantu编译安装FFmpeg

摘要: 这几天安装FFmpeg搞得很头疼,直接用apt-get安装工具安装会比较方便,但是想要自定义编解码器就比较麻烦了。所以编译安装FFmpeg倒成了一个比较靠谱的做法。FFmpeg版本:平台: Ubantu 12.0 64位1. 首先下载最新版本的FFmpeg源码sudo git clonehttps://github.com/FFmpeg/FFmpeg.git2. 然后按照需求配置sudo ./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads - 阅读全文

posted @ 2013-09-09 15:01 洪雁君 阅读(1759) 评论(0) 推荐(0) 编辑

HTTP Live Streaming网络视频直播调研

摘要: PC端的网络视频直播主要是利用Flash实现,但是移动端的HTTP视频直播应用还有不少的争议,各家厂商都提出了不同的实现方案。微软提出了IIS Smooth Streaming,Adobe提出了Flash Dynamic Streaming,Apple提出了HTTP Live Streaming,Google则利用webm视频格式实现直播。1. Apple HTTP Live streamingApple提出了基于客户端的HTTP自适应在线直播方案。服务器将视频切分成短时的视频片段,可以配置持续时间和视频质量。服务器还会生成一个播放列表,列表中顺序保存了视频片段的地址。客户端动态下载连续的视频 阅读全文

posted @ 2013-09-09 11:08 洪雁君 阅读(688) 评论(0) 推荐(0) 编辑

2013年9月4日

RHEL/CentOS 6的更新源

摘要: RedHat/CentOS 6 yum repository更新源Linux安装软件,rpm方法总会遇到依赖的问题,烦不胜烦。yum install是一个比较方便的安装方式,所以要选择一个好一些yum repository更新源。国内不错的更新源有中科大/搜狐/163.国内三个主要的开源镜像站(教育网)中科大镜像站:http://mirrors.ustc.edu.cn/搜狐镜像站:http://mirrors.sohu.com/163镜像站:http://mirrors.163.com/修改CentOS-Base.repovim /etc/yum.repos.d/CentOS-Base.rep 阅读全文

posted @ 2013-09-04 14:31 洪雁君 阅读(747) 评论(0) 推荐(0) 编辑

2013年9月3日

安装JDK 1.7时"could not locate a suitable jar utility"解决方案

摘要: 今天在Linux上安装JDK1.7,总会遇见“could not locate a suitable jar utility”错误。错误信息在RHEL6.2上报错误信息为:Could not locate a suitable jar utility.Please ensure that you have Java 7 or newer installed on your systemand accessible in your PATH or by setting JAVA_HOME某些网站评论认为是没有配置JAVA_HOME环境变量,这是不对的。这是由于J2EE的SDK认为没有安装JDK的 阅读全文

posted @ 2013-09-03 14:03 洪雁君 阅读(1384) 评论(0) 推荐(0) 编辑

长连接与短连接

摘要: 文章介绍了网络通信中的长连接和短连接的概念与不同的应用场景。1. TCP连接前文《传输层中的TCP和UDP浅析》介绍过传输层中的TCP,TCP(传输控制协议)是传输层的两大协议之一。TCP是一种面向链接的可靠协议,其通信的过程分成了三步:1. 开始传输前,端到端需要通过三次握手建立链接。2. 传输过程中双方按照TCP保证可靠性。3. 传输结束之后,双方再用三次握手关闭连接。数据传输前,三次握手建立连接的过程如下图所示:数据传输过程中保持连接。数据传输结束后,四次握手关闭连接。2 TCP短连接TCP短连接就是一次请求+返回的TCP连接,无需保持连接,例如下面过程。client向server请求T 阅读全文

posted @ 2013-09-03 01:17 洪雁君 阅读(516) 评论(0) 推荐(0) 编辑

2013年9月2日

基于TCP和UDP的Socket实现(JAVA)

摘要: 本文介绍如何用Java实现Socket编程。首先介绍Java针对Socket编程提供的类,以及它们之间的关系。然后分别针对TCP和UDP两种传输层协议实现Socket编程。1 Java中的Socket编程接口介绍Java为Socket编程封装了几个重要的类。1.1 Socket类Socket类实现了一个客户端socket,作为两台机器通信的终端,默认采用的传输层协议为TCP,是一个可靠传输的协议。Socket类除了构造函数返回一个socket外,还提供了connect, getOutputStream, getInputStream和close方法。connect方法用于请求一个socket连 阅读全文

posted @ 2013-09-02 00:56 洪雁君 阅读(8943) 评论(0) 推荐(0) 编辑

2013年8月23日

传输层中的TCP和UDP浅析

摘要: TCP/IP协议中,传输层有两大协议:TCP和UDP,本文介绍了TCP和UDP的概念,并介绍了TCP通信和UDP通信的原理,比较了两者的不同,分析了两者各自的应用环境。TCP和UDP是TCP/IP网络协议中传输层的两大协议,主要负责分割并组装上层交付的数据流,为数据流提供端到端的传输服务。TCP全称是Transmission Control Protocol传输控制协议,是面向链接的可靠协议。UDP全称是User Datagram Protocol用户数据报协议,是无链接的可靠协议。下面具体描述TCP和UDP的概念。1.TCP(传输控制协议)TCP是一种面向链接的可靠协议,是因为利用TCP进行 阅读全文

posted @ 2013-08-23 18:24 洪雁君 阅读(645) 评论(0) 推荐(0) 编辑

Java虚拟机(JVM)入门

摘要: 文章主要介绍了Java虚拟机的概念和构成,以及Java虚拟机中类是如何加载和卸载的。一 什么是Java虚拟机Java虚拟机是一台从实际计算机系统上抽象出来的计算机,可以运行编译好的Java程序。Java虚拟机运行在真实的计算机和操作系统之上,理论上它包含了实际计算机和操作系统的所有组件。Java虚拟机拥有自己完善的的硬件结构,包括处理器、寄存器、内存和指令系统等;也拥有操作系统的功能,包括内存管理、文件系统和网络功能等。为什么要实现这样一台虚拟机呢?Java虚拟机最重要的意义就在于平台无关性。从Java程序猿的角度来看,Java虚拟机就是一套提供了完善的API的运行环境,不需要关心其运行在什么 阅读全文

posted @ 2013-08-23 11:29 洪雁君 阅读(645) 评论(0) 推荐(1) 编辑

2013年8月22日

Java的final关键字浅析

摘要: Java的final关键字表示“不可改变的”,不想改变的原因可能有两个理由:设计和效率。然而根据上下文环境,其含义有着细微的差别。final关键字可以修饰数据、方法和类。1. final数据在定义一个变量时,final关键字告诉编译器这个变量是一个不可改变的数据。这种情况可能有两个出发点:1. 这是一个永不改变的编译时常量;2. 这是一个一旦初始化就不被改变的变量。1. 对于编译时常量,编译器会把该常量的值带入到任何使用到它的计算式中,也就是说在编译时直接执行计算式,可以减轻运行时的负担。在Java中这些常量必须基于基本数据类型,并且用final关键字表示,在对这个常量定义的时候必须对其赋值。 阅读全文

posted @ 2013-08-22 18:02 洪雁君 阅读(266) 评论(0) 推荐(0) 编辑

Java的垃圾回收机制浅析

摘要: 《Java编程思想》中关于Java的垃圾回收机制有这样三句话:1. 对象可能不会被垃圾回收。2. 垃圾回收并不等于析构。3. 垃圾回收只与内存有关。一 垃圾回收机制的理解为了能够理解这几句话,写个小例子来尝试一下。class Game { Game(int i) { System.out.println("Game Constructor + " + i); } public void finalize() { System.out.println("Game Destructor"); }}class BoardGame exten... 阅读全文

posted @ 2013-08-22 11:55 洪雁君 阅读(651) 评论(0) 推荐(0) 编辑

导航