前面文章说到到libjpeg的使用示例,里面的例子实际上是文件的操作,即解压JPEG文件,因为libjpeg有对FILE操作的函数,所以代码直接用jpeg_stdio_src(&cinfo, fp);就行了,这个库会去读取JPEG文件。但是实际应用场合中,很多都不是文件,比如从网络传输过来的是JPEG数据,需要解压为RGB或YUV;又或者传输RGB数据要转换成JPEG。总之,是基于内存的操作的。
libjpeg学习1:简单使用示例
libjpeg这个库主要用于处理jpeg数据,比如将RGB压缩成JPEG,或者将JPEG解压为RGB。其实早在4年前已经接触过,但一直没写过这方面的文章。后来想想还是有必要写出来,至少可以证明自己搞过这东西。
遇到一个Linux系统时间突变问题
最近遇到一个Linux系统时间无法更改小于某个固定时间的问题。有关部门反馈,一旦将设备的时间设置小于2012年11月3号4点34分,复位设备后,系统时间就会变成2012年11月3号4点后的时间。此问题十分诡异。负责业务的同志无法排查,于是安排我——或许天生注定,我这里,所有和Linux有关,所有“底层问题”,都可以找到我。
FFMPEG基于内存的转码实例
前面有文章写道,尝试在FFMPEG里面直接使用FTP协议将H.264祼码流封装为AVI视频格式存储到FTP服务器上,遗憾的是以失败告终。然此事须解决,在多方考虑之后,决定使用内存临时存储,而不是写入磁盘文件,一来不必要,二来对磁盘有损耗。
FFMPEG支持内存转码的,但没有现成可用的封装得很好的接口。几经翻阅网络文章,找到了些许方法,结合自己的实验,完成既定目标。网络上暂未发现有此类应用,写出来,尽一人绵薄之力。至于经常偷窃他人成果,亦于此略聊表心意。
ffmpeg 2.6.3在Linux下的编译
前面将很久之前编译ffmpeg的笔记发表出来,这篇文章是讲在linux下编译的。
编译所用系统为ubuntu 14.04,gcc版本如下:
ffmpeg 0.8.7在windows环境mingw环境的编译
最近又接触了FFMPEG,想起当年初到公司时的情景,领导安排我更新当前所用的FFMPEG,那时公司还没有多少人接触嵌入式Linux。现在虽然公司还是不重视嵌入式基础,但“交叉编译”这类术语,很多人也有了认知。下面是当年做的笔记,一直不发表出来是怕有人说,但已经过去那么多年了,版本又那么旧,估计没什么了。