多协议、性能稳定、丰富API的流媒体服务器软件
您现在的位置:首页  >  文档  >  VOD

VOD,即点播业务。目前我们对于VOD业务的支持,有两种方式:

1、从1.0.58版本开始,TiTopStreamer已经将VOD功能整合进来了,也就是说一套TiTopStreamer即支持直播业务,也支持VOD点播业务。

2、针对只有VOD业务需求的部分客户,我们也提供了一个独立的应用程序,单独支持VOD点播业务,它是在TiTopStreamer之外的另一个产品,我们称之为Ti Top Vod。

上面这两种方式,您可以根据自己的需求来选择。从功能的角度来说,它们是完全一致的,没有任何区别。

我们在下面会为您介绍VOD功能的使用,对于已经安装TiTopStreamer的用户,你可以跳过下面的一、二、三、四章节,直接从第五章节看起。

一、下载

Ti Top Vod运行在Linux系统下,因此,如果您的服务器可以正常连接Internet,您可以使用wget命令下载安装包:

wget http://www.ttstream.com/download/TiTopVod-1.0.1.tar.gz


如果您的服务器部署在内网,且无法连接Internet,请点击下面的链接下载安装包,下载成功后,您再手动上传至您的服务器。


二、安装
注1:下面安装指令中的版本号只是一个例子,请替换为实际版本号。

注2:下面的安装命令,你必须以root用户身份来执行!

1. 关于安装目录:虽然您可以将Ti Top Vod安装在任何目录下,但我们建议您将它安装在/usr/local目录下,因此下面先将安装包移动到该目录下
mv TiTopVod-1.0.0.tar.gz /usr/local/TiTopVod-1.0.0.tar.gz
		
2. 对安装包做解压缩,并创建软链接
cd /usr/local
tar xzvf TiTopVod-1.0.0.tar.gz
ln -s /usr/local/TiTopVod-1.0.0 /usr/local/TiTopVod
		
3. 安装服务:
cd TiTopVod
cd bin
./installsystemd.sh
		
在运行完./installsystemd.sh命令后,您会看到以下提示:
Created symlink from /etc/systemd/system/multi-user.target.wants/TiTopVod.service to /usr/lib/systemd/system/TiTopVod.service.
		
至此,安装已经完毕! 注意:在您成功运行./installsystemd.sh命令后,它不但完成了软件的安装,也自动给您启动了Ti Top Vod 软件!

您现在就可以打开浏览器,并访问默认的8086端口,顺利的话,您应该可以看到Ti Top Vod的Web管理界面。

web manager

注: 默认的用户名和密码在安装目录(/usr/local/TiTopVod)下的conf/admin.password文件中。非常重要:在安装完成后,请首先修改这个文件中的用户名和密码(修改后,不需要重启服务)。

如果不能成功访问这个管理界面,建议您检查一下服务器的防火墙设置。

三、启动和停止

首先需要说明的是,在您安装完成Ti Top Vod软件后,我们已经自动为您启动了Ti Top Vod软件。

在系统的运维期间,您可能需要单独启动、停止这个软件。那么,下面我们就介绍Ti Top Vod的启动方式:

注:下面的启动命令,你必须以root用户身份来执行!

1、启动TiTopVod服务

systemctl start TiTopVod
			
2、停止TiTopVod服务
systemctl stop TiTopVod
			


四、卸载
请按下面的步骤,正确卸载Ti Top Streamer:

注:下面的命令,你必须以root用户身份来执行!

1、首先停止服务:
systemctl stop TiTopVod
		

2、删除注册的系统服务:
cd /usr/local/TiTopVod/bin
./uninstallsystemd.sh
		
注:成功运行./uninstallsystemd.sh命令后,你会看到如下提示:
Removed symlink /etc/systemd/system/multi-user.target.wants/TiTopVod.service.
		


五、设置内容存储路径
首先,请您登录Ti Top Vod的Web管理界面,和Ti Top Streamer的概念类似,Ti Top Vod也支持多APP管理。为了您使用方便,在您完成安装后,它默认已经有了一个叫做"vod"的Application。

接下来,你需要为这个Application指定一个内容文件的存储路径,也就说你必须要让Ti Top Vod知道"视频文件是在哪个路径下"。注意,在这里,建议您将路径设置在Ti Top Vod安装路径之外。 如下图所示:

web manager

六、HLS播放URL

Ti Top Vod 目前仅支持HLS协议。下面是url格式:

http://[hostAddress]:[port]/applicationName/[streamName]/playlist.m3u8
		

[hostAddress]: 是你运行Ti Top Vod的服务器的主机地址。

[port]: 是你运行Ti Top Vod的服务器的HLS流服务端口,默认是8082

[applicationName]: 是这个Application的名字

[streamName]: 是在这个application中流的名字,也就是视频文件完整路径和文件名,例如some_dir/sample.mp4

我们假设,这个Application的名字为vod,streamName为sample.mp4,再假设主机地址为192.168.10.102,HLS流服务端口为8082,那么HLS拉流url就是:
http://192.168.10.102:8082/vod/sample.mp4/playlist.m3u8
		

七、防盗链
Ti Top Vod 支持基于token的防盗链技术,通过这个技术,您可以实现对HLS流的安全保护。下面介绍一下实现步骤:

1) 启用防盗链功能,如下图所示:

web manager

注1:在上图"防盗链"旁边的复选框上打勾,表示启用防盗链功能(默认是没有启用的)

注2:设置SharedKey,它是一个共享密钥,您可以自己输入,也可以点击"生成"按钮自动生成。 2) 通过代码生成HLS流url

在HLS流的url里,除了主机地址和端口外,其它部分是根据applicationName、streamName、SharedKey、expiredTime(失效时间)来确定的。

URL生成过程如下:

A、首先你要确定一个url失效时间,比如1分钟后失效(url失效的意思是当你用这个url请求Ti Top Vod时,系统会拒绝这个拉流请求,但是不影响已经开始拉流的连接)

url失效时间是一个绝对值,是一个unix时间戳,精确到秒。也就是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。然后将它转换为16进制形式(字符用小写)

B、StreamName指的就是视频文件的完整路径和文件名,例如some_dir/sample.mp4。 这里的文件路径就是相对于视频文件存储根路径下的相对路径。

C、将 sharedKey、applicationName、streamName以及expiredTime 按这里表述的前后顺序链接起来,相当于(sharedKey+applicationName+streamName+expiredTime)

D、计算上面字符串的MD5值,相当于md5(sharedKey+appName+streamName+expiredTime)

E、然后你要生成两个url查询参数tiliuSecurityToken和tiliuExpiredTime,前者就是上面的md5值,后者就是前面说的url失效时间的16进制形式(字符用小写)。

注意: 之所以在这两个参数中使用"tiliu"这样的前缀,目的是为了避免跟您的其它自定义参数混淆。

F、将上面两个url查询参数加入到常规的HLS流url中,例如:
http://192.168.10.102:8082/vod/sample.mp4/playlist.m3u8?tiliuSecurityToken=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&tiliuExpiredTime=xxxxxxxxxx
			
下面是一个页面工具,可以让您方便的生成HLS流url:

主机地址:

端口:

applicationName:

streamName:

sharedKey:

失效时间:(秒)以后(我们会为您转为绝对时间)

生成
注: 点击此按钮后将会发起一个后台调用,传入以上参数值,获得一个HLS流url如下:

hls流url会显示在这里

接下来,您可以用VLC 播放器尝试播放这个流。

八、作为CDN的源站
如果你的Ti Top Vod输出的HLS流,并不是面向终端用户的,而是面向CDN的,那么这时Ti Top Vod的角色其实就是一个CDN源站系统。

为了方便CDN系统做缓存,此时,Ti Top Vod不会为HLS请求创建Session,URL中不会有任何Session信息。此时,你也建议您不要使用防盗链Token技术。

当然,这种情况下,我们也无法为您统计HLS流的并发数量。