今天突发奇想,想把电脑下载的高清电影通过视频流的形式在移动终端(手机、pad)等播放。具体操作步骤如下:
一、在centos 6.7编译安装darwin 6.0.3
1.安装必要工具
# yum install make patch gcc gcc-c++
2.下载源码和补丁
- 这里是列表文本在官网http://dss.macosforge.org/ 下载源码DarwinStreamingSrvr6.0.3-Source.tar
- 在csdn下载http://download.youkuaiyun.com/detail/a7411053/4588411 两个补丁(dss-hh-20080728-1.patch和dss-6.0.3.patch),否则无法编译通过
3.应用补丁
# tar xvf DarwinStreamingSrvr6.0.3-Source.tar
# cd DarwinStreamingSrvr6.0.3-Source
# patch -p1 < dss-6.0.3.patch
# patch -p1 < dss-hh-20080728-1.patch
4.编译安装
# ./Buildit
# ./buildtarball
# tar -zxvf DarwinStreamingSrvr-Linux.tar.gz
# cd DarwinStreamingSrvr-Linux
# useradd -m qtss -g qtss
# ./Install
最后需要设置后台登录用户名和密码
5.启动
# /usr/local/sbin/DarwinStreamingServer
启动后即可访问管理后台http://localhost:1220 进行安装设置
媒体文件默认在/usr/local/movies/目录下
6.开放防火墙
由于rtsp需要使用554,所以需要在防火墙开放端口给外面使用
# iptables -I INPUT 6 -p tcp --dport 554 -j ACCEPT //注意需要在REJECT之前
# /etc/init.d/iptables save //保存设置
# /etc/init.d/iptables status //查看防火墙状态
二、在win7用vlc测试播放
- 在官网http://www.videolan.org/ 下载安装vlc播放器
- 打开vlc,依次打开“媒体”->“流”->“网络”输入测试文件地址
其中ip为服务器ip,协议为rtsp,sample_h264_300kbit.mp4是在/usr/local/movies/默认安装的测试文件,然后选择“播放”
三、移动端播放
- (android)只需要在系统自带浏览器或者UC输入rtsp://192.168.2.90/sample_h264_300kbit.mp4链接打开即可
- (ios)要迟点才能测试
四、mp4文件处理
网上下载的mp4文件,直接放在/usr/local/movies/是不能播放的,需要先添加hint
- 在http://www.videohelp.com/software/mp4box 下载win版mp4box并安装
- 在安装目录下有mp4box.exe,然后用命令行为mp4添加hint
D:\GPAC>mp4box.exe G:\movie1.mp4 -hint
然后再将mp4文件复制到/usr/local/movies/下即可
五、总结
至此,一个简单的视频流服务器已经搭建完毕,如果是在服务器上面放些一般的视频给大家共享看还可以,但是在我的手机观看高清视频(720p)偶尔会出现花屏(估计我的手机问题),所以最后还是得用电脑看高清大片了