模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

5952查看 | 20回复

百元成本 海思芯片的监控模组做录像+udp码流输出

[复制链接]
发表于 2020-5-24 19:00:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

关于把基于海思芯片的 IPC 模组用在飞机上录像并顺便输出一路码流给数字图传的事


本项目为 YJSNPI-Broadcast 填坑过程中的副产物,就是原模型电子区的这个帖子
https://www.moz8.com/forum.php?mod=viewthread&tid=177797
但由于单独当作录像机用也能用就另开贴发一下


海思芯片的监控摄像头模组 很便宜 但是原厂软件并不适合用在飞机上
楼主在给YJSNPI-Broadcast填坑过程中填到了这么一个坑,即搞一个固件给监控摄像头用,让它可以同时录制高清视频+提供一路低码率的视频流给图传发射
这样相比树莓派做视频采集压缩有几个优点:便宜/sensor选择多/镜头等配件丰富/支持h265/可以高清录像/回传码率低(传输距离远) ………………
总之这个坑算是填了一点了,固件基本能用就先发出来试试 代码糊得跟屎一样 请轻喷


主要参数:
hi3516ev200+imx307的模组:支持录制 h264/h265 1080P@30fps 保存到tf卡 + h264/h265 360P@30fps udp码流输出
hi3516ev300+imx335的模组:支持录制 h264/h265 1296P@30fps 保存到tf卡 + h264/h265 480P@30fps udp码流输出

udp码流输出可以对接到现有的树莓派图传上(需要自己修改,楼主暂时没法测试,Github有提供思路)
配件 淘宝有 F2.0 F1.2 F1.0光圈 2.8~12mm定焦以及变焦镜头可选
延迟也就那样 穿越机肯定不可能 固定翼可以
成本大概可以做到100以内?
防抖基本没有——需要云台



详细的说明教程及固件见   https://github.com/libc0607/YJSNPI-Hi
暂时只发了ev200+imx307的固件,ev300+imx335的有空做好发

百元成本 海思芯片的监控模组做录像+udp码流输出 穿越机,固定翼,云台,图传,固件 作者:libc0607 8721

百元成本 海思芯片的监控模组做录像+udp码流输出 穿越机,固定翼,云台,图传,固件 作者:libc0607 9139




发表于 2020-5-25 10:21:51 | 显示全部楼层
后面这块板是成品还是自己做的
回复 支持 反对

使用道具 举报

发表于 2020-5-25 10:41:40 | 显示全部楼层
不玩夜航的话光圈 F2.0 足够了.不知道天色比较暗的阴天如何?  楼主要是有视频让大家看看效果最好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 13:30:27 | 显示全部楼层
wsqzdz 发表于 2020-5-25 10:21
后面这块板是成品还是自己做的

图里后面这块是成品,Github上发了自己做的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 13:31:46 | 显示全部楼层
4920614 发表于 2020-5-25 10:41
不玩夜航的话光圈 F2.0 足够了.不知道天色比较暗的阴天如何?  楼主要是有视频让大家看看效果最好了 ...

问题是需要用别的东西对比一下才容易看出区别
最近比较忙。。有空傍晚出去录一个
回复 支持 反对

使用道具 举报

发表于 2020-5-25 20:13:36 | 显示全部楼层
我来顶你帖了,有点看不懂,GitHub都要翻墙,无语
回复 支持 反对

使用道具 举报

发表于 2020-6-16 22:18:17 来自手机 | 显示全部楼层
佩服大牛,想问下楼主OpenWrt的地面端怎么安装地面端软件?看了几遍摸不清头绪
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-17 13:40:51 | 显示全部楼层
riyueyoub 发表于 2020-6-16 22:18
佩服大牛,想问下楼主OpenWrt的地面端怎么安装地面端软件?看了几遍摸不清头绪 ...

其实并没有做完。。
回复 支持 反对

使用道具 举报

发表于 2020-6-26 00:45:06 | 显示全部楼层
刷了一下github的ev200的固件,买了扩展版接了tf卡,可以读取ini文件,启动运行出错,主要是xx-env这软件运行出错了,晚点把错误的内容拷贝出来
回复 支持 反对

使用道具 举报

发表于 2020-6-27 12:13:18 来自手机 | 显示全部楼层
libc0607 发表于 2020-6-17 13:40
其实并没有做完。。

我想求教下,可不可以用armbian安装软件做地面端?好多盒子支持armbian,那个比树莓便宜好多!我不懂只是问问,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-27 13:22:34 | 显示全部楼层
riyueyoub 发表于 2020-6-27 12:13
我想求教下,可不可以用armbian安装软件做地面端?好多盒子支持armbian,那个比树莓便宜好多!我不懂只是 ...

如果你选择的盒子在armbian下支持硬件解码h264或h265 并且你能把软件搬过去 就可以
回复 支持 反对

使用道具 举报

发表于 2020-6-27 15:37:42 | 显示全部楼层
libc0607 发表于 2020-6-27 13:22
如果你选择的盒子在armbian下支持硬件解码h264或h265 并且你能把软件搬过去 就可以 ...

百元成本 海思芯片的监控模组做录像+udp码流输出 穿越机,固定翼,云台,图传,固件 作者:riyueyoub 5602 我什么都不懂,刚接触这东西不久 盒子支持265解码,就是不会搬软件!是直接下载软件编译安装后,再打软件里的内核补丁吗?我看有个文章是用卡片电脑安装wifiboardcast的!不过我不会,摸不到头绪,英文一窍不通百元成本 海思芯片的监控模组做录像+udp码流输出 穿越机,固定翼,云台,图传,固件 作者:riyueyoub 8088 百元成本 海思芯片的监控模组做录像+udp码流输出 穿越机,固定翼,云台,图传,固件 作者:riyueyoub 4619 ,如果能这个成本要降不少啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-27 23:25:14 | 显示全部楼层
riyueyoub 发表于 2020-6-27 15:37
我什么都不懂,刚接触这东西不久 盒子支持265解码,就是不会搬软件!是直接下载软件编译安装后, ...

那你还是。。。还是。。。还是等openhd搞派4的h265吧。。。。
回复 支持 反对

使用道具 举报

发表于 2020-7-6 00:28:42 | 显示全部楼层
===============================================================
===============================================================
                     YJSNPI VENC start
venc.ini:
[venc]

# enc: 264,265
# rc: 0(cbr),1(vbr),2(cvbr),3(avbr),6(qvbr) 其他的吞了
# kbps: 视频比特率
# ch1_res: udp通道分辨率,240,360,480
# gop: 0-norm,1-dual,2-smart
# ch0_savedir 需要存在

ch0_enc=264       
ch0_rc=0               
ch0_kbps=2048
ch0_gop=2       
#ch0_savedir=/var/tmp/mmcblock0/save233
ch0_savedir=/tf

ch1_enc=265
ch1_res=360                       
ch1_rc=0               
ch1_kbps=1024
ch1_gop=1         
ch1_udp_bind_port=20000
ch1_udp_send_ip=192.168.1.107
ch1_udp_send_port=5000ipaddr:
===============================================================
===============================================================
===============================================================
===============================================================
                     YJSNPI VENC start
venc.ini:
[venc]

# enc: 264,265
# rc: 0(cbr),1(vbr),2(cvbr),3(avbr),6(qvbr) 其他的吞了
# kbps: 视频比特率
# ch1_res: udp通道分辨率,240,360,480
# gop: 0-norm,1-dual,2-smart
# ch0_savedir 需要存在

ch0_enc=264       
ch0_rc=0               
ch0_kbps=2048
ch0_gop=2       
ch0_savedir=/var/tmp/mmcblock0/save233
#ch0_savedir=/tf

ch1_enc=265
ch1_res=360                       
ch1_rc=0               
ch1_kbps=1024
ch1_gop=1         
ch1_udp_bind_port=20000
ch1_udp_send_ip=192.168.1.107
ch1_udp_send_port=5000ipaddr:
===============================================================
===============================================================
===============================================================
===============================================================
                     YJSNPI VENC start
venc.ini:
[venc]

# enc: 264,265
# rc: 0(cbr),1(vbr),2(cvbr),3(avbr),6(qvbr) 其他的吞了
# kbps: 视频比特率
# ch1_res: udp通道分辨率,240,360,480
# gop: 0-norm,1-dual,2-smart
# ch0_savedir 需要存在

ch0_enc=264       
ch0_rc=0               
ch0_kbps=2000
ch0_gop=2       
#ch0_savedir=/var/tmp/mmcblock0/save233
ch0_savedir=/tf

ch1_enc=264
ch1_res=360                       
ch1_rc=0               
ch1_kbps=1024
ch1_gop=1         
ch1_udp_bind_port=20000
ch1_udp_send_ip=192.168.1.107
ch1_udp_send_port=5000ipaddr:
===============================================================
===============================================================
===============================================================
===============================================================
                     YJSNPI VENC start
venc.ini:
[venc]

# enc: 264,265
# rc: 0(cbr),1(vbr),2(cvbr),3(avbr),6(qvbr) 其他的吞了
# kbps: 视频比特率
# ch1_res: udp通道分辨率,240,360,480
# gop: 0-norm,1-dual,2-smart
# ch0_savedir 需要存在

ch0_enc=264       
ch0_rc=1
ch0_kbps=512
ch0_gop=1
#ch0_savedir=/var/tmp/mmcblock0/save233
ch0_savedir=/tf

ch1_enc=264
ch1_res=360                       
ch1_rc=1
ch1_kbps=512
ch1_gop=1         
ch1_udp_bind_port=20000
ch1_udp_send_ip=192.168.1.107
ch1_udp_send_port=5000ipaddr:
===============================================================
===============================================================
System startup

Uncompress Ok!

U-Boot 2016.11-g2fc5f58-dirty (Sep 06 2019 - 15:13:30 +0800)hi3516ev200

Relocation Offset is: 0371b000
Relocating to 43f1b000, new gd at 43edaef0, sp at 43edaed0
SPI Nor:  eFlashType: 24.
Flash Name: XM_XT25F64B-S{0xB4017), 0x800000.
@hifmc_spi_nor_probe(), XmSpiNor_ProtMgr_probe(): OK.
@XmSpiNor_enableQuadMode(), Quad was Disabled, SRx: [2, 0x0].
CONFIG_CLOSE_SPI_8PIN_4IO = y.
read->iftype[0: STD, 1: DUAL, 2: DIO, 3: QUAD, 4: QIO]: 1.
Current level[6], lock_level_max:7.
at xm_get_locked_range() sr:0x18, level:6.
lk[6 => 0x400000]
SRx val: {[1, 0x38], [1, 0x0], [0, 0x0], [0, 0x0]}.
In:    serial
Out:   serial
Err:   serial
Net:   eth0
Hit ctrl+c to stop autoboot:  0
@do_spi_flash_probe() flash->erase_size:65536
device 0 offset 0x40000, size 0x550000

SF: 5570560 bytes @ 0x40000 Read: OK
srcAddr 0x43000000, dstAddr 0x42000000
created_inode 0x43edbd80
find_squashfs_file: name bin, start_block 0, offset 3795, type 1
find_squashfs_file: name boot, start_block 0, offset 3963, type 1
read inode: name boot, sb 0, of 3963, type 1
find_squashfs_file: name uImage, start_block 0, offset 3827, type 2
read inode: name uImage, sb 0, of 3827, type 2
write_file: regular file, blocks 26
len 1676861
### FS load complete: 1676861 bytes loaded to 0x42000000
## Booting kernel from Legacy Image at 42000000 ...
   Image Name:   Linux-4.9.37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1676797 Bytes = 1.6 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Auto login as root ...
Welcome to HiLinux.




mntmtdyjsnpi # /usr/bin/yjsnpi-venc mnt/mtd/yjsnpi/venc.ini
============================================================================
YJSNPI-Hi Video Encoder
============================================================================
YJSNPI VENC config Info old file ctr 3661, new 3662
YJSNPI VENC settings
DIS 0
CH0 enc 96, res 8, rc 0, kbps 2048, gop 2, savedir tf0000003662.h264
CH1 enc 265, res 1, rc 0, kbps 1024, gop 1, lport 20000, dport 5000, udpip 192.168.1.107
[SAMPLE_COMM_VI_GetMipiLaneMode]-1857 support this chip 3516e200
[SAMPLE_COMM_VI_GetMipiLaneMode]-1857 support this chip 3516e200
[SAMPLE_COMM_VI_SetMipiAttr]-2067 ============= MipiDev 0, SetMipiAttr enWDRMode 0
linear mode
==============================================================
=====Sony imx307_2l sensor 1080P30fps(MIPI) init success!=====
==============================================================
[SAMPLE_VENC_VPSS_ChnEnable]-600 HI_MPI_VPSS_SetChnAttr chan 0 failed with 0xa0078003
[SAMPLE_VENC_H265_H264]-921 Init VPSS err for 0xa0078003!
[SAMPLE_COMM_ISP_Thread]-375 ISP Dev 0 running !
[Func]ISP_CheckMemInit [Line]138 [Info]ISP[0] Mem NOT Init 0!
[SAMPLE_COMM_ISP_Thread]-380 HI_MPI_ISP_Run failed with 0xa01c8041!
program exit abnormally!


卡在这里了,不知道啥问题,固件是github上下的,按照教程运行的
回复 支持 反对

使用道具 举报

发表于 2020-7-6 00:55:34 | 显示全部楼层
搞定了,用默认配置文件运行就可以了!我的配置参数不对,明天测试一下,现在快1点了
回复 支持 反对

使用道具 举报

发表于 2020-7-6 08:20:07 来自手机 | 显示全部楼层
看起来很厉害的样子!期待成品视频!
百元成本 海思芯片的监控模组做录像+udp码流输出 穿越机,固定翼,云台,图传,固件 作者:梦的边缘 1667
回复 支持 反对

使用道具 举报

发表于 2020-7-6 21:22:31 | 显示全部楼层
期待成品视频!
回复 支持 反对

使用道具 举报

发表于 2020-7-9 23:02:08 | 显示全部楼层
用这个摄像头的夜视效果很棒,晚上微光就跟白天一样!
但是默认的360p像素太低了,保存的h265文件用VCL打开,看一会就闪退。。。
有人遇到吗~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-10 17:30:36 | 显示全部楼层
wstzb 发表于 2020-7-9 23:02
用这个摄像头的夜视效果很棒,晚上微光就跟白天一样!
但是默认的360p像素太低了,保存的h265文件用VCL打开 ...

ev200内存太小了。。几乎没法分配给视频编码器更多内存,分辨率就上不去
下一步打算自己做硬件了,想换个高端点的芯片
回复 支持 反对

使用道具 举报

发表于 2020-7-10 23:31:10 | 显示全部楼层
libc0607 发表于 2020-7-10 17:30
ev200内存太小了。。几乎没法分配给视频编码器更多内存,分辨率就上不去
下一步打算自己做硬件了,想换个 ...

应该不会啊,做监控5M都可以浏览,录像不重要,实时采集比较好!主要是SONY的CMOS有优势。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!