手机视频画面显示问题

peterb 2009-06-03 09:46:26
最近老大安排我做一个手机视频监控项目,我对手机开发不熟悉,毕业之后一直主要从事Java/.net方面的Web开发;这个是我第一次尝试手机开发,到现在才1个多月,很多地方不懂,还好现在是网络时代,不少有用的资料都可以在网上找到,拿一些代码进行借鉴,程序开发起来,容易不少;项目平台是vs 2005 + WM 5.0 SDK(Pocket PC),语言采用Win32(直接是C + SDK API),现在模拟器下测试发现画面显示有一些问题,中心手机流媒体转发前端监控设备DVR/DVS的子码流(QCIF图像画面质量)视频数据给手机客户端解码播放,主要存在以下问题:

1.手机上画面有时给人感觉显示比较慢(看画面上时间戳)

2.时间显示不连贯,有时隔2s,有时隔5-6s才显示,比如现在9:41:15,再显示的是到9:41:47了,没有1s,1s这样显示,感觉视频画面不够流畅

3.画面出现突变花屏(这种情况比较少发生)

分析了一下了原因:

1.手机上的解码库效率问题,对接受到的视频数据处理不够来

2.网络传输问题,丢包了,导致视频的I帧(关键帧丢失),我们采用TCP进行视频数据传输,每个视频包一般不大于1500字节

3.其它未知原因

希望有做过手机视频开发方面的xdjm指点一下,谢谢大家了,因为项目在这个月中旬要完成.
...全文
237 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
peterb 2009-06-07
  • 打赏
  • 举报
回复
谢谢大家的关注,问题前几天已找到原因,自己范了思维定向,测试所用的监控设备是早几年的产品,手机流媒体通过厂商的SDK回调取其子码流数据转发给客户端,经测试发现,在手机客户端分析接收到数据,居然高达1M/bps,完全不是QCIF图像画面质量该具有的数据量而是HD1,手机毕竟不是PC,不管解码库效率如何高,也处理不够来;后发现该设备居然不支持子码流输出,回调其子码流上来的也是主码流数据;
因为一直使用的新近设备,是支持主子码流输出的,所以想当然以为旧设备也是这样的,测试也发现传输大量数据时确实存在丢包现象,需采用缓冲机制来处理丢包,对回调上来的数据先进入缓冲区,开启一个线程专门进行处理转发视频数据操作;画面大小对图像的清晰度是会有影响
lius1984 2009-06-06
  • 打赏
  • 举报
回复
有没有缓冲机制来处理丢包? 你可以放到真机试试,效果应该比模拟器的好。解码器你用的是哪个开源库? 如果是ffmpeg的话 可以做到在EDGE网络 qcif 15-20帧, cif 5-10帧。 我之前做过类似项目,mobile和symbian平台。采用UDP传输。 http://blog.csdn.net/lius1984/archive/2009/04/28/4131393.aspx
chxy85 2009-06-05
  • 打赏
  • 举报
回复
帮顶了,关注中
liangls1982 2009-06-04
  • 打赏
  • 举报
回复
是不是分辨率设置的太大了?用 144×176的实施看?
nihao38 2009-06-04
  • 打赏
  • 举报
回复
世外涛缘 2009-06-04
  • 打赏
  • 举报
回复
不了解,帮顶。
关注。
jinlingzwp 2009-06-03
  • 打赏
  • 举报
回复
1500字节小了点吧,I桢比它大
  • 打赏
  • 举报
回复
对于2,TCP的窗口是否可以调整,以满足视频包的帧大小
ppc_2008 2009-06-03
  • 打赏
  • 举报
回复
学习,帮顶
88csdn 2009-06-03
  • 打赏
  • 举报
回复
1、看一下各耗时操作需要多少时间,找一下哪个是瓶颈吧

7,657

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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