需求比较特别,不是直接推标准usb摄像头视频流。
完全小白,看了N篇文章,入坑无数,实验无数。
需求:使用热成像摄像头sdk的api截取原始图数据,opencv渲染,图片生成rtmp视频流,推向媒体服务器(ngnix-rtmp-module),前端播放控件从媒体服务器拉流。
前期已经拿到图片,难点是生成并推送rtmp的视频流,,下面是一周时间查出对应这个需求的三种方法:
1.librtmp推流
https://blog.youkuaiyun.com/li_wen01/article/details/71192209
https://blog.youkuaiyun.com/wangyaninglm/article/details/51056101
对视频编解码知识要求高,需要知道参数细节,后续学习再继续。
2.Ros的image_transport + web_video_server
https://blog.youkuaiyun.com/bluewhalerobot/article/details/79147147
这个是竞品在用的,光是Ros系统批量安装就比较难缠,源也不稳定。。。
安装ros的经验就是保证自己ubuntu小版本更新到最新,照着官网步骤一步步操作就好,
需要对Ros了解很多,书在途中,到了边看边研究。
3.ffmpeg
https://blog.youkuaiyun.com/baidu_31872269/article/details/80801242
ffmpeg库函数名在不同版本会有不同,安装也比较麻烦需要安依赖库
但是好在函数封装比较好,入门简单,决定用这个改了。
Tips:ffmpeg官网下载最新版本安装,apt-get下载不一定是啥版本的
***2018.9.19***
编译程序运行后发现cpu占用太高,300%+(4核),
后查资料,将编码器配置thread_count从8线程降到2线程,占用170%
*******************
时间短任务重,就拿来主义了,后面有时间会继续深入学习。