当前位置: 代码迷 >> 多媒体/流媒体开发 >> android机器播放VLC串流RTSP的有关问题
  详细解决方案

android机器播放VLC串流RTSP的有关问题

热度:6149   发布时间:2013-02-26 00:00:00.0
android机器播放VLC串流RTSP的问题
在下在做一个小项目。
目标是利用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端可以读取,而手机端就是横竖读不了。
请问大家问题可能出在哪儿?
这两天查阅帖子,有一位问题与我有些类似,但是那位寥寥数字说服务器网络端没有设置好,帖子就没了下文。
我尝试关闭防火墙还是不行。
请大家帮助,这究竟是个什么问题啊!

------解决方案--------------------------------------------------------
MP4的封装, H264 的编码选baseline, 帧率 再选小一点,15帧/S 应该可以了吧,25有的机器估计比较吃力啊。 视频 画面选 320x240 先搞个小的试试吧。
  相关解决方案