博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决ROS的usb_cam节点无法正常读取mjpeg格式摄像头的方法
阅读量:2342 次
发布时间:2019-05-10

本文共 1936 字,大约阅读时间需要 6 分钟。

原链接:

运行测试平台:

本文解决办法:

使用usb_cam读取mjpeg格式的usb摄像头时,如果提示类似下述的错误,是因为链接的ffmpeg解码库存在问题。

[mjpeg @ 0x223e460] overread 8[mjpeg @ 0x223e460] overread 8[mjpeg @ 0x223e460] error count: 68[mjpeg @ 0x223e460] error y=38 x=1[mjpeg @ 0x223e460] error count: 64[mjpeg @ 0x223e460] error y=34 x=1[mjpeg @ 0x223e460] error count: 68[mjpeg @ 0x223e460] error y=40 x=4[mjpeg @ 0x223e460] error count: 64[mjpeg @ 0x223e460] error y=42 x=1[mjpeg @ 0x223e460] error count: 64[mjpeg @ 0x223e460] error y=31 x=0[mjpeg @ 0x223e460] error count: 64[mjpeg @ 0x223e460] error y=30 x=37[mjpeg @ 0x223e460] overread 8

解决办法是安装新版本的ffmpeg,然后修改usb_cam的cmake依赖库链接设置

1.ffmpeg的安装
mkdir ~/ffmpeg_sourcescd ~/ffmpeg_sourceswget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2tar xjvf ffmpeg-snapshot.tar.bz2cd ffmpegPATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"./configure   --prefix="$HOME/ffmpeg_build"   --pkg-config-flags="--static"   --extra-cflags="-I$HOME/ffmpeg_build/include"   --extra-ldflags="-L$HOME/ffmpeg_build/lib"   --bindir="$HOME/bin"     --enable-shared --enable-pic --extra-cflags="-fPIC"make -jmake install
2. 现在ffmpeg开发库已经安装在home目录下的ffmpeg_build文件夹内,修改usb_cam的cmake文件

为了方便自己,这里有一份已经修改好的,git clone下来后,将CMakeLists.txt文件中对应下文部分的xiaoqiang替换成自己的用户名即可。ffmpeg库API一直在变化更新,上述修改好的usb_cam版本解决了这些匹配问题,因此推荐使用。

## pkg-config libraries## find_package(PkgConfig REQUIRED)## pkg_check_modules(avcodec libavcodec REQUIRED)## pkg_check_modules(swscale libswscale REQUIRED)set(avutil_LIBRARIES /home/xiaoqiang/ffmpeg_build/lib/libavutil.so.55)set(avcodec_LIBRARIES /home/xiaoqiang/ffmpeg_build/lib/libavcodec.so.57)set(swscale_LIBRARIES /home/xiaoqiang/ffmpeg_build/lib/libswscale.so.4)set(ffmpeg_INCLUDE_DIRS  /home/xiaoqiang/ffmpeg_build/include/)
3.执行catkin_make,重新编译usb_cam,问题解决

例如

cd ~/Documents/roscatkin_make
4.对于蓝鲸智能的小强用户,现在使用下述命令可以正常以mjpeg方式获取小车的usb摄像头数据,修改launch文件中的分辨率为1920*1080还能获取30fps的1080p图像。
roslaunch usb_cam ov2610mjpg.launch

转载地址:http://wbdvb.baihongyu.com/

你可能感兴趣的文章
java项目之——坦克大战11
查看>>
用sed批量替换文件中的字符
查看>>
九型性格心理测试 (From Ulla Zang荣格的个人性格测验题目)
查看>>
[MT] 3.32升级备忘
查看>>
MT 3.33发布: 安全漏洞修正
查看>>
给Blog加上雅虎通PingMe服务:和网站用户即时聊天
查看>>
顶级域名注册分布统计:2006年09月 .com .de .net .uk .cn
查看>>
雅虎通可以批量添加MSN用户了
查看>>
豆瓣“我上”:一个blog就是一本有趣的书
查看>>
速度比较:GMail/MSN/Yahoo!Mail
查看>>
搜索引擎来路关键词的挖掘:百度统计的高级分析报告导出获取来源关键词
查看>>
C/C++题目--拷贝构造函数概念
查看>>
C/C++题目--深复制与浅复制
查看>>
数据结构教程--李春葆版(总结)之线性表-顺序存储结构练习题
查看>>
linux文件类型
查看>>
alias,which命令
查看>>
析构函数何时被调用
查看>>
C++虚函数底层机制
查看>>
面试题:随机数生成、蓄水池抽样、海量数据、设计秒杀系统
查看>>
linux清除cache的方法
查看>>