vlc-android为何播放不了red5的直播流
来源:互联网 发布:京东方怎么样 知乎 编辑:程序博客网 时间:2024/05/01 04:50
用red5作为rtmp服务器,当发布一个直播流到red5,然后用vlc for android的版本看,发现播放不了,于是用wireshark来抓包分析,发现播放指定的流时服务器返回NetStream.Play.StreamNotFound错误,于是在red5的源码中定位,最后在PlayEngine.java中找到问题所在,把void play(IPlayItem item, boolean withReset)这个方法里的一行代码:int type = (int) (item.getStart() / 1000);里的1000去掉,重新编red5就可以啦,因为vlc播放时带的参数是-2,希望先播直播流,如果直播流没有就尝试播放点播流。red5里除以1000就变成0只能当成点播流来播,当然不行了。
当然这是为了适配vlc-android去修改red5的代码,但去掉1000后发现通过网页播放直播又不行了,于是最后把代码改成下面的样子:
long start_time = item.getStart();//IPlayItem.getStart : Start time in milliseconds.
int type = (int) (start_time / 1000);
//special hack for vlc player
if (start_time = -2)
type = -2;
才算结束。
顺便说一句,vlc也播不了fms上发布的直播流。这应该是vlc播放器的原因,已经能够收到服务器发过来的音视频数据了,可知fms是支持播放类型为-2或-2000的。而当我ffplay播放的时候,发现是可以播放fms上发布的直播流的。ffmpeg自带rtmp协议发布与播放。目前最新的版本发送播放命令是传的是-2000而不是以前的-2了。
- vlc-android为何播放不了red5的直播流
- vlc-android为何播放不了red5的直播流
- VLC播放rtsp流 进行直播
- ffplay不能直播red5上的直播流问题解决
- 为何android的webview运行不了javascript?
- Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议)
- Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议)
- Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议)
- Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议)
- juv rtmp client android speex音频解析 播放red5的音频流实现
- VLC播放RTP PS 流的方法
- vlc的网页播放
- iOS 播放不了android的amr文件
- jwplayer +ffmpeg+red5 实现摄像头的直播
- VLC播放器播放h264码流的SDP文件
- Android编译VLC播放器
- VLC Android播放器介绍
- Android VLC RTSP播放器
- CentOS 上升级Python 版本(upgrade python version)
- 2014年开始好好记录一下在实际项目中遇到的问题。
- 我在csdn博客安家了!
- 谷歌中一些十分有趣的特效现象
- 开发组长职责分析
- vlc-android为何播放不了red5的直播流
- 重庆崽儿,啷个能不回重庆撒!
- Linux-Ubuntu之一
- 智能超市
- 安装CKEditor中的问题
- Unity 输出调试信息到界面
- 实验室创业
- 打印圣诞树
- ubuntu下挂载移动硬盘失败:Not Authorized