因为做视频点播,用自己的电脑做FMS服务器,FMS默认装在了系统盘,系统盘空间较小,供点播的视频文件也都放在系统盘中,由于空间小,所以想把视频点播应用目录指向其他空间较大的地方。
1.改变applications目录指向。
找到fms4安装目录/conf/fms.ini文件,修改VHOST.APPSDIR的值(默认值为:X:\Program Files\Adobe\Flash Media Server 4\applications),例如改为:F:\fmsApp,重启FMS后,applications目录就指向fmsApp目录了。
2.改变视频点播应用程序目录
在F:\fmsApp目录中新建一个用于视频点播应用的目录(如:目录名为vod2),复制原X:\Program Files\Adobe\Flash Media Server 4\applications\vod\目录中的所有文件到vod2中,打开vod2目录中的Application.xml文件,找到以下节点:
<StreamManager>
<VirtualDirectory>
<!-- Specifies application specific virtual directory mapping for recorded streams. -->
<Streams>/;${VOD_COMMON_DIR}</Streams>
<Streams>/;${VOD_DIR}</Streams>
</VirtualDirectory>
</StreamManager>
VOD_COMMON_DIR,VOD_DIR都是变量,在fms.ini文件中定义并赋值的,它们都是指向视频点播应用的视频文件目录
VOD_COMMON_DIR:指向的是一个http地址,可以通过web访问到的,例如:D:\Program Files\Adobe\Flash Media Server 4\webroot\vod,主要用于渐进式下载的视频。
VOD_DIR:指向的是一个rtmp地址,可以通过rtmp链接访问到,例如:D:\Program Files\Adobe\Flash Media Server 4\applications\vod\media
如果你的视频点播用的是http方式,就可以修改VOD_COMMON_DIR的值,用rtmp方式的话就只要修改VOD_DIR的值,因为我用的是rtmp方式,所以修改VOD_DIR的值。
现在vod2目录中新建一个media目录,然后将VOD_DIR的值改为:F:\fmsApp\vod2\media,这样视频点播应用vod2的所有视频文件都得放置于media中。假设media目录中有个视频文件:test.flv,那么要用rtmp方式点播这个文件,地址如何?如何链接?
地址:rtmp://localhost/vod2,流名称:test
nc.connect("rtmp://localhost/vod2");
当链接上后:
ns.play("test",0);
即可播放该视频文件。如果不是flv文件,那么流名称还有一些变化,具体要参考fms的帮助文档。
因为所有视频文件都在media目录下,有时为了方便找到视频文件要进行视频分类,需要在media下建立不同的子目录,放置不同分类的视频,例如:media1,media2,media3,...
假设media1目录下有个视频文件test2.flv,要访问到这个文件,那么地址又是如何?
地址:rtmp://localhost/vod2,流名称:"media1/test2"
nc.connect("rtmp://localhost/vod2");
当链接上后:
ns.play("media1/test2",0);
以上只是我自己的做法,可能有些没有说清楚,也有些缺点和不足,还有待进一步验证和学习,哪位有过这方面的经验,可以留言指点一下!