使用libjpeg-turboYUV转JPG
最近项目上需要将yuv裸流压缩为jpg图片,网上找了很多方案,有用ffmpeg,也有用opencv,libjpeg等,尝试了ffmpeg可以使用,但是这个库太大了,果断放弃,转而采用libjpeg方式,这个库已经很成熟了,网上很多资料,使用过程中比较顺利,没有遇到坑,这里记录一下。
1、libjpeg-turbo下载
可以直接到官网下载后使用,地址如下:libjpeg-turbo - Browse Files at SourceForge.nethttps://sourceforge.net/projects/libjpeg-turbo/files/
也可以在虚拟机里面直接下载,我这里采用在虚拟机中下载1.5.3版本:
(1)在/opt/arm/目录下新建libjpeg目录存放相关文件
(2)进入/opt/arm/libjpeg目录下载:sudo wget https://sourceforge.net/projects/libjpeg-turbo/files/1.5.3/libjpeg-turbo-1.5.3.tar.gz
(3)解压sudo tar -zxvf libjpeg-turbo-1.5.3.tar.gz
2、配置&编译
(1)新建libjpegMakeResult存放编译后的文件
(2)cd libjpeg-turbo-1.5.3/
sudo ./configure CC="/opt/arm/RV1126/toolchain/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc" --host="arm-linux-gnueabihf" --prefix="/opt/arm/libjpeg/libjpegMakeResult" --enable-static
(3)make;make install
安装完成后,在libjpegMakeResult有include,lib,share,bin四个文件夹,include为头文件,lib为库文件,lib下面同时有动态库和静态库,这里使用静态库。
把include下的头文件和lib下的libturbojpeg.a,libjpeg.a两个文件拷贝出去即可。
3、库的使用
包含头文件,并把如上两个静态库链接进去
接口调用参考YUV420SP转JPGhttps://blog.csdn.net/yixianfeng41/article/details/52181578?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-52181578-blog-50771003.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=3
使用libjpeg-turboYUV转JPG相关推荐
- python会搞坏电脑吗_搞python,把原本php环境所需的libjpeg搞坏了
前面因为搞python,安装过程中,系统默认的libjepg貌似被升级了.从我原有的libjpeg.8升级到了libjpeg.9.结果导致了我的apache没法启动了(一开始并不知道),我原有的php ...
- debian9宝塔面板安装php失败,宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法...
这篇文章主要为大家详细介绍了宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借 ...
- windows下使用cmake编译zlib与libpng libjpeg 留此备份
win7下使用VS2010编译jpeglib 1.下载源代码下载地址:http://www.ijg.org/files/, 选择最新版本的windows版本压缩包,进行下载. jpeg ...
- 使用libjpeg进行图片压缩(哈夫曼算法,无损压缩)
Huffman算法也是一种无损压缩算法,但与LZW压缩算法不同,Huffman需要得到每种字符出现概率的先验知识.通过计算字符序列中每种字符出现的频率,为每种字符进行唯一的编码设计,使得频率高的字符占 ...
- libjpeg编译使用详解
一.交叉编译libjpeg # tar -xzvf libjpeg-turbo-1.2.1.tar.gz #cd libjpeg-turbo-1.2.1 #mkdir tmp # ./configur ...
- libjpeg的问题
游戏项目是基于cocos2d-x开发的,但线上发现一个bug就是玩家在设置完自定义头像后直接闪退.凡是在设置该玩家头像的地方,游戏就直接闪退.最终定位到的问题是图片数据源有问题,我的机器是win7,图 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
文章目录 一. 图片质量压缩方法 二. Skia 二维图形库 三. libjpeg.libpng 函数库引入 在博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供的 ...
- 开源库的使用方法以及libjpeg的移植详解
一.开源库的使用方法 (1)移植(×××.解压.配置.修改Makefile.编译或交叉编译).移植的目的是由源码得到三个东西:动态库.so,静态库.a,头文件.h (2)部署(部署动态库so.部署静态 ...
- 图像解码之一——使用libjpeg解码jpeg图片
多媒体应用在现在电子产品中的地位越来越重要,尤其是在嵌入式设备中.本系列文章将会介绍利用libjpeg解码jpeg文件,libpng解码png文件,libgif解码gif文件.本文为第一篇,介绍使用l ...
- android使用的图片压缩格式,Android 之使用libjpeg压缩图片
一.环境 Android Studio 4.0.1 NDK R15c so包是2.0.6生成的 libturbojpeg.so 二.准备 1.编写native方法并用javah命令生成头文件 obje ...
最新文章
- 通过 JS 脚本去除csdn广告
- DrawerLayoutDemo【侧边栏(侧滑菜单)简单实现】
- 全民创业时代,谁在大潮退去前“活”下来?
- java学习(92):线程的创建方法一
- post多个参数_如何使用Arjun v1.3挖掘HTTP参数
- java实验的总结_java实验总结
- phantomjs php 登录,PHANTOMJS PHP:空响应对象
- Mac M系列电脑 模拟器运行时 pods库 YYkit库报错
- jq富文本_jQuery富文本编辑器Notebook
- excel文件如何解密工作表保护密码
- 高速公路联网收费二义性路径识别系统原理及开发
- 搭建iis自己可以别人_自己也可以搭建一台好用实惠的软导一体机!
- Mybatis官方网站
- 什么是做空和做多以及什么是做空期权波动率
- 思科交换机 DHCP 服务配置
- 15k运维面试题带答案分享
- 程序员为何痴迷深夜写代码?
- cad汉仪长仿宋体_汉仪长仿宋体下载
- 职场里如何做好自我介绍?这5大回复方式很有用
- 李航的《统计学习方法》