1 我一直使用flex4和flash开发视频聊天的程序,以前再flex中和flash直接写上服务器路径然后指定play的流的名称就可以了。代码如下:
// Check for reconnect. if ( nsPlay != null ) { // Stop and close previous NetStream. var stopStreamEvent : StopStreamEvent = new StopStreamEvent(); stopStreamEvent.dispatch(); } // Setup NetStream for playback. nsPlay = new NetStream( main.media.nc ); nsPlay.bufferTime = bufferTime; nsPlay.receiveAudio( audio ); nsPlay.receiveVideo( video ); nsPlay.client = responder; main.media.videoRemote = new Video( main.cameraSettings.width, main.cameraSettings.height ); main.media.videoRemote.attachNetStream( nsPlay ); main.playbackState = true; nsPlay.play( streamName );
上面的stream就是stream1459921140010 你会看到我再接下来的c++使用ffplay去播放也是这样写的。2 使用ffplay播放直播流:注意再这个后面多加了一个参数live=1,而且必须要加该参数,否则再red5上你能点播但是不能直播
D:\Tools\ffmpeg>ffplay -i "rtmp://localhost/oflaDemo/stream1459921140010 live=1"
3 说明之前看到一个博客中提到 http://blog.csdn.net/qiuchangyong/article/details/18862247需要修改red5源码,我修改之后编译还是不可以,而且他代码就有问题
start_time是long数据,怎么和-2比较的,这样语法就会报错。不多说这个了。
4 实例演示
播放情况
发布情况