Red5点播视频路径问题

关于Red5点播视频路径的问题,red5默认是在当前域下的streams目录下的视频才能通过rtmp://localhost/vod/test.flv进行播放。

点播的时候的执行顺序StreamService-->SingleItemSubscriberStream-->PlayEngine-->ProviderService。ProviderService会去getStreamFile获取视频路径

DefaultStreamFilenameGenerator。

 private String getStreamDirectory(IScope scope) {
  final StringBuilder result = new StringBuilder();
  final IScope app = ScopeUtils.findApplication(scope);
  final String prefix = "streams/";
  while (scope != null && scope != app) {
   result.insert(0, scope.getName() + "/");
   scope = scope.getParent();
  }
  if (result.length() == 0) {
   return prefix;
  } else {
   result.insert(0, prefix).append('/');
   return result.toString();
  }
    }

 

所以要想支持其它的目录,及所有盘符下的视频都能播放,集成IStreamFilenameGenerator接口

public class VodApp extends ApplicationAdapter implements IStreamFilenameGenerator{

 @Override
 public String generateFilename(IScope scope, String name, GenerationType type) {
  return generateFilename(scope,name,null,type);
 }

 @Override
 public String generateFilename(IScope scope, String name, String extension,
   GenerationType type) {
  String result = name;
  if(extension!=null && !extension.equals("")){
   result += extension;
  }
  return result;
 }

 @Override
 public boolean resolvesToAbsolutePath() {
  return true;
 }
 
}

 

播放地址:rtmp:/localhost/vod/F:/a/b/c/a.flv

如有疑问qq:1512161790

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值