C/C++发送图片,然后接收端用Java。

worrtiger 2011-08-14 01:20:16
我想在Arm11上安装一摄像头,然后摄像头采集的视频流转换成图片存入内存里,然后从内存通过socket发送,接收端是Android手机,实时在Android手机上显示视频。
...全文
386 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvyinghong 2011-09-08
  • 打赏
  • 举报
回复
如果简单,自己搞个整形数组就可以了。如果像表现一下,你定的协议又很复杂的话,莪可以使用 google protocol buffer来做。

至于把图片先整个保存到文件,还是直接从内存构建图片,自己考虑吧

masi2723 2011-09-08
  • 打赏
  • 举报
回复
通过接受数据流 把图片在imageView中 显示出来。
你那个录出来图片的是格式是yuv转成jpg的么
hong78 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 worrtiger 的回复:]
可能是我没有描述清楚。
现在已经可以在Arm板上录视频并压缩编码成JPG格式的图片了,这里的图片数据在内存里。已经实现了通过TCP协议的socket传输到linux系统上,并可以顺利进行显示视频了。
但是我现在是想从Arm的内存里把图片数据通过TCP协议和socket传输到Android手机上,由于Android应用层只能用Java语言。现在难题就在这儿了,Arm那边是用C语言封转发送……
[/Quote]linux下的C太强大了嘛,继续学习!!
masi2723 2011-09-07
  • 打赏
  • 举报
回复
你接受图片是如何做的 ???
worrtiger 2011-08-14
  • 打赏
  • 举报
回复
可能是我没有描述清楚。
现在已经可以在Arm板上录视频并压缩编码成JPG格式的图片了,这里的图片数据在内存里。已经实现了通过TCP协议的socket传输到linux系统上,并可以顺利进行显示视频了。
但是我现在是想从Arm的内存里把图片数据通过TCP协议和socket传输到Android手机上,由于Android应用层只能用Java语言。现在难题就在这儿了,Arm那边是用C语言封转发送了,如果是linux就好办了,直接用C语言接收,但是Android是Java语言,跨语言传输图片。综上所述,实际问题就是C语言从内存里发送JPG格式的图片,Android端用Java语言接收并顺利显示。
braveyly 2011-08-14
  • 打赏
  • 举报
回复
LZ要做的是两个事:获取图片数据源(data);处理数据(发送、接收和显示)。

处理部分是基本的网络通信的知识。

获取数据源,就跟摄像头有关系了。首先弄清楚 视频 和 图片 的关系, 本质上 视频是连续的图片,是由一帧帧的连续的图片数据构成。 其次,弄清楚 编码 的意思, 一般摄像头出来的视频(或者是连续的图片) 是原始格式的,也就是RGB或者是YUV(一个像素都是三个字节表示,只是含义不一样),但是这样的图片数据过大,无法适应网络应用,则出现“压缩”技术,也就是编码,但注意的是一般摄像头仅仅面向本地,所以不会对视频进行比编码。

经过上面分析,就很清楚了,获取摄像头的图片帧,这可以通过摄像头提供的接口,或者直接自己截视频的图;然后,如果图片过大,则自己编下码,当然接收方需要解码。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧