最近项目上需要将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相关推荐

  1. python会搞坏电脑吗_搞python,把原本php环境所需的libjpeg搞坏了

    前面因为搞python,安装过程中,系统默认的libjepg貌似被升级了.从我原有的libjpeg.8升级到了libjpeg.9.结果导致了我的apache没法启动了(一开始并不知道),我原有的php ...

  2. debian9宝塔面板安装php失败,宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法...

    这篇文章主要为大家详细介绍了宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借 ...

  3. windows下使用cmake编译zlib与libpng libjpeg 留此备份

    win7下使用VS2010编译jpeglib 1.下载源代码下载地址:http://www.ijg.org/files/,     选择最新版本的windows版本压缩包,进行下载.     jpeg ...

  4. 使用libjpeg进行图片压缩(哈夫曼算法,无损压缩)

    Huffman算法也是一种无损压缩算法,但与LZW压缩算法不同,Huffman需要得到每种字符出现概率的先验知识.通过计算字符序列中每种字符出现的频率,为每种字符进行唯一的编码设计,使得频率高的字符占 ...

  5. libjpeg编译使用详解

    一.交叉编译libjpeg # tar -xzvf libjpeg-turbo-1.2.1.tar.gz #cd libjpeg-turbo-1.2.1 #mkdir tmp # ./configur ...

  6. libjpeg的问题

    游戏项目是基于cocos2d-x开发的,但线上发现一个bug就是玩家在设置完自定义头像后直接闪退.凡是在设置该玩家头像的地方,游戏就直接闪退.最终定位到的问题是图片数据源有问题,我的机器是win7,图 ...

  7. 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )

    文章目录 一. 图片质量压缩方法 二. Skia 二维图形库 三. libjpeg.libpng 函数库引入 在博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供的 ...

  8. 开源库的使用方法以及libjpeg的移植详解

    一.开源库的使用方法 (1)移植(×××.解压.配置.修改Makefile.编译或交叉编译).移植的目的是由源码得到三个东西:动态库.so,静态库.a,头文件.h (2)部署(部署动态库so.部署静态 ...

  9. 图像解码之一——使用libjpeg解码jpeg图片

    多媒体应用在现在电子产品中的地位越来越重要,尤其是在嵌入式设备中.本系列文章将会介绍利用libjpeg解码jpeg文件,libpng解码png文件,libgif解码gif文件.本文为第一篇,介绍使用l ...

  10. android使用的图片压缩格式,Android 之使用libjpeg压缩图片

    一.环境 Android Studio 4.0.1 NDK R15c so包是2.0.6生成的 libturbojpeg.so 二.准备 1.编写native方法并用javah命令生成头文件 obje ...

最新文章

  1. 通过 JS 脚本去除csdn广告
  2. DrawerLayoutDemo【侧边栏(侧滑菜单)简单实现】
  3. 全民创业时代,谁在大潮退去前“活”下来?
  4. java学习(92):线程的创建方法一
  5. post多个参数_如何使用Arjun v1.3挖掘HTTP参数
  6. java实验的总结_java实验总结
  7. phantomjs php 登录,PHANTOMJS PHP:空响应对象
  8. Mac M系列电脑 模拟器运行时 pods库 YYkit库报错
  9. jq富文本_jQuery富文本编辑器Notebook
  10. excel文件如何解密工作表保护密码
  11. 高速公路联网收费二义性路径识别系统原理及开发
  12. 搭建iis自己可以别人_自己也可以搭建一台好用实惠的软导一体机!
  13. Mybatis官方网站
  14. 什么是做空和做多以及什么是做空期权波动率
  15. 思科交换机 DHCP 服务配置
  16. 15k运维面试题带答案分享
  17. 程序员为何痴迷深夜写代码?
  18. cad汉仪长仿宋体_汉仪长仿宋体下载
  19. 职场里如何做好自我介绍?这5大回复方式很有用
  20. 李航的《统计学习方法》

热门文章

  1. Mstar平台_遥控器驱动
  2. 腾讯与360继续争,受益的是谁?
  3. 面包机面包/蛋糕配方
  4. 店铺DRS评分这样来做|盛天海电商
  5. MATLAB神经网络工具箱函数各种图的解释
  6. 时间漩涡的世界 (三)
  7. win10+ubuntu双系统下,完美卸载ubuntu
  8. Lattice LSTM
  9. 史上最难的初等几何问题?分享一个参考答案
  10. 燃烧的远征java(二)-开发环境:eclipse 的使用技巧收集