在下在做一个小项目。
目标是利用android手机读取某一实时摄像头的视频。在现阶段就是能简单读取一个PC用户摄像头视频。网络环境暂时限定于局域网。
目前测试手机是HTC G7,android版本是2.2。
实现流程就是利用VLC对视频进行编码串流后作为服务器发送rtsp流文件。
而android机器自身是支持rtsp形式的视频播放的。
目标就实现了。
但是遇到了问题:
测试手机一直无法播放串流后的RTSP视频。一直提示“很抱歉,此视频不能播放”。
在下进行了排错,首先担心是串流没有成功,但是若用另一台pc使用VLC可以成功播放发送的视频流。
再来测试了手机的rtsp播放功能,也可以成功播放央视一套rtsp://114.255.201.246/cctv1_256_h264.sdp。
在网上查阅了一些帖子,却没有能准确的找到症结所在。
在下推断问题还是VLC的编码串流阶段有一些问题。串流后的RTSP视频流属于电脑可以运行但是手机不能识别的。因为PC的计算性能与解码能力都比手机强大。
VLC软件进行串流有许多选项要选择,关键步骤一个是选择协议,在下选择的是自然rtsp协议,
另外一个就是转码方式:
封装有MPEG-TS,MPEG-PS,MJPEG,FLV,AIV,MKV,MP4/MOV等多种方式。
视频编解码器编码方式有MPEG-1,MPEG-2,MPEG-4,DIVX 1,DIVX 2,DIVX 3,H-263,H-264,WMV1,WMV2,M-JPEG,Theora,Dirac.
位率,帧率,画面大小也可以自行设置。
考虑到手机终端一般的支持格式,封装格式我尝试了MPEG-TS,MPEG-PS,MP4/MOV,编码器方式除了最后两个因为之前我没有见过,其余的我都进行了尝试,位率选取的400kbs,帧率选取了24帧/S。
但是尝试了很多次,最终得到的RTSP串流,PC端可以读取,而手机端就是横竖读不了。
请问大家问题可能出在哪儿?
这两天查阅帖子,有一位问题与我有些类似,但是那位寥寥数字说服务器网络端没有设置好,帖子就没了下文。
我尝试关闭防火墙还是不行。
请大家帮助,这究竟是个什么问题啊! 

解决方案 »

  1.   

    你好,我最近也在做Android读取流媒体的相关内容,想请教下在Android中如何使用VLC播放rstp格式内容
      

  2.   

    Hi ,对于Vlc 你可以下载源代码编译一个VLC
      

  3.   

    ,楼主,你的解码方式是如何实现呢?android 支持的解码比较少,mpep-2之类的解码,你是如何实现的呢?
      

  4.   

    想请教楼主怎么用vlc做流媒体服务器?如何和摄像头连接获取摄像头视频?小弟也刚接触这方面的内容,还请分享经验。
      

  5.   

    可以用vlc for android来播放rtsp的视频流,我目前已经在ubuntu编译了vlc for android,但播放rtsp出错,播不了,正在找解决办法
      

  6.   

    同样在寻找,我的视频源是http://202.102.79.116/live/jsws?fmt=x264_0k_ts&sora=7,不知道有没有大神能播放出来
      

  7.   

    我的vlc可以播放你的源,手机和模拟器上均不行