最近有个搭建RTSP点播需求, 来验证客户端的bug。
要推的是一个 ts文件 .
1. VLC 搭建 RTSP server应该是最简单的。 不过搭建完我们的机器上播放器播放不了。 PC是播放不了。应该机器上播放器的问题,由于最近比较忙客户那边服务器也没反馈这问题,暂时不管,寻找第二种方法
http://blog.csdn.net/wishfly/article/details/44408015
2. Ffmpeg 使用ffmpeg去推流。
我只是单独用了ffmpeg, 没有配合nginx等其他服务器
一直在报错 failed to connect tcp://ip地址
3. 最终live555, 轻松搞定 。 从官网下了源码,
3.1.编译安装
解压源码
cd live
./genMakefile linux-gdb
make
3.2运行
cd mediaServer
./live555MediaServer
3.3测试
各种测试代码在testProg目录下,
./testOnDemandRTSPServer
这时,你会看到它的提示,不要着急去测试,先把你测试所需的媒体文件丢到 testProg 目录下
例如拷贝我用的test.ts到 testProg目录下, 然后运行./testOnDemandRTSPServer 。此时根据提示的在客户端输入相关的rtsp url就可以播放。 此处我却发现我播放的rtsp url不支持快进快退功能。刚好我需要该功能。 试了test.mkv对应的url却是 支持的。 查阅相关资料,参照此文: https://www.cnblogs.com/jqctop1/p/4474617.html
Live555支持几种播放动作(包括暂停、点播、快进、倒放)的文件类型,Seeking即点播,从中我们可以看到支持的文件类型没有h264。但是后面又提示说了如果要使这些播放动作可以用于MPEG Transport Stream file(即ts流文件,后缀名是.ts),则必须有一个index file,还提示说可以使用MPEG2TransportStreamIndexer来产生index file
使用命令: ./MPEG2TransportStreamIndexer test.ts 来生成test.tsx
接下来再次运行: ./testOnDemandRTSPServer
客户端根据提示播放相关RTSP url 发现支持快进快退等seeking动作。