|
本帖最后由 SalimTerryLi 于 2017-12-23 18:30 编辑
先附上植树前辈的帖子:http://bbs.5imx.com/forum.php?mo ... 2361&fromuid=324280
对的虽然这个飞控方案还有些critical级别的问题,但是只要不触发就不影响使用了...于是我打算把基于这个平台的实用图传方案发出来
超近场就是植树前辈的WiFi+UDP方案了,在此补充,山狗之类的相机可以通过视频采集卡转而走WiFi传输.其实部分高端相机都支持WiFi控制了,近场完全不需要图传.
当然我在这里把rtsp的方案也发一下
https://github.com/jacksonliam/mjpg-streamer 支持树莓派自带摄像头,细节之后有时间了再写,项目readme里介绍的也比较全。
【待补充,楼主上学去了...】
远程图传方案:
- 4G方案,有时间了再开发...
- 使用2.4/5.8G图传
针对树莓派飞控使用常规图传(2)的优化方案,在此分享出来:
原始结构:相机-OSD-图传;优化后:相机-视频采集卡-树莓派-图传
当然如果不航拍只使用USB摄像头的话,结构可以变成这样:USB摄像头-树莓派-图传
需要的材料:
- 一根AV线(4口那种,用来和图传连接,或许你已经有了)
- 视频采集卡(可选,接相机时候用)
- 然后是顶部链接里的树莓派飞控(其实没有用那个飞控的话也可以做这个方案,不过价值就变成一个高度自定义的OSD了)
AV线需要改动,最终只保留视频口(黄色),并按需调节长度
如果是国标线(比如我这根)一定要记得把视频线的俩跟换一下,因为美标的线定义和树莓派的AV输出反了.
在树莓派上执行(ssh也行)(飞控的Raspbian Lite环境):
- sudo apt-get update
- sudo apt-get install xorg mplayer -y
复制代码 安装视频播放器及依赖,数据量100M以内.
然后修改config.txt来配置树莓派的AV输出:
- sudo nano /boot/config.txt
复制代码 在里面加入
- disable_overscan=1
- overscan_left=40
- overscan_right=40
- overscan_top=30
- overscan_bottom=30
- #这些参数是用来去黑边的,请用心调整来获得最佳效果
- framebuffer_width=800
- #宽度,按照你的图传或者相机配置这个参量
- framebuffer_height=600
- #高度,同理
- sdtv_mode=2
- #PAL制式
- sdtv_aspect=1
- #宽高比,1=4:3,2=14:9,3=16:9
复制代码 注意,之前有显示部分定义的一定要注释掉,然后这些加到末尾就可以了.
这时候,你的树莓派应当已经可以用那根AV线接到电视上测试了.测试时候注意只接黄色的头,因为音频线并没有改.也没有用啊,对于图传来说.
附上效果图(电视分辨率太高所以效果反而不好,接到低分辨的设备上就好了)
这时候我们可以插上一个USB摄像头或者视频采集卡了。我用USB摄像头做示范.
现在需要接个键盘到树莓派上,执行:
- mplayer -tv device=/dev/video0 tv://
复制代码 我的USB摄像头的设备文件是video0,大家按需修改.在不开启px4进程的情况下,系统总占用率是一个核心的50%,树莓派2代B型.
如果需要开机启动,那么直接加到rc.local末尾就行,注意不要加上nohup和&给撇到后台了...
效果图:
现在我们已经得到了一个可以接到图传上的视频源,之后的步骤是修改AV线到适宜长度,把它接到图传发射机上,这样就能在接收机那里看到从树莓派上传回的画面了。而且在飞控的启动段还可以看到系统的启动过程,便于调试.
OSD功能寻求协同开发:可以确定,我们可以播放任何视频流,所以在这个过程中可以对video设备的流进行编辑,加入字幕信息,这样可以实现丰富的OSD效果,并且实现难度也不大.并且,鉴于流处理的灵活性,我们很有可能把OSD也做成交互式,从而取代部分地面站的功能(总而言之,这里可以大做文章)。但是楼主目前是个高三狗...发完这篇帖子后可能就得潜水半年了...如果有谁愿意一起开发这个项目的话,请联系QQ:1120966937
先到这里吧.
|
欢迎继续阅读楼主其他信息
|