找到一个解决方案,但是无法下载zip包

https://stackoverflow.com/questions/21303361/how-to-stream-mp4-files-from-subdirectories-with-flowplayer

怕失效,原文贴出来:

I am using Wowza Media Server to enable streaming of MP4 files and as video player I use Flowplayer.

To get some structure for my content I use sub directories within the configured StorageDir for my Wowza application.

The problem I have is that no matter what URL-format I use, Wowza keep looking for the file in the root storage directory.

I've tried using the URL format specified by Wowza here, but with no luck:

rtmp://[wowza-ip-address]/myapp/_definst_/mp4:mysubdirectory/sample.mp4

I also tried everything suggested in posts on the Wowza forum:

But Wowza keeps looking in the root storage directory, throwing exceptions like these:

404 b0c9be70-a33c-41ce-9692-199e3a1caccf.mp4
open: java.io.FileNotFoundException:
C:\Program Files (x86)\Wowza Media Systems\Wowza Media Server 3.6.2\content\b0c9be70-a33c-41ce-9692-199e3a1caccf.mp4.flv
(The system cannot find the file specified)

Somehow Wowza thinks it should look for an FLV file in the root storage directory, even though the URL specify that it is an MP4 file in a subdirectory. Why is that?

After spending hours looking into this, I finally found this post on the Wowza forum.

The problem:

Apparently there is an issue with some flash-based video players (like Flowplayer that I use), that accept a single string for the RTMP connection and stream name. Some of these players do not separate the RTMP connection and stream name properly when using sub directories.

When breaking this URL apart:

rtmp://[wowza-address]:1935/vod/_definst_/mp4:subfolder/sample.mp4

The player will use this as the RTMP connection:

rtmp://[wowza-address]:1935/vod/_definst_/mp4:subfolder

The player will then try to play sample.mp4 instead of subfolder/sample.mp4 which will fail.

The solution:

To remedy this problem, there is a plugin for Wowza that fixes the URL, available for download here:

Unzip the package and copy the JAR file into your Wowza /libs directory, then add this to your /conf/[app-name]/Application.xml configuration file:

<Module>
<Name>ModuleFixStreamPath</Name>
<Description>ModuleFixStreamPath</Description>
<Class>com.wowza.wms.plugin.collection.module.ModuleFixStreamPath</Class>
</Module>

Doing so got it all working for me!

下载地址:

http://www.ttstream.com/WowzaServerAddOnCollection_4.0.zip

要重启服务!

Wowza 4 vod 录播多层目录无法播放问题的更多相关文章

  1. MFC 创建多层目录

    创建多层目录 BOOL CTestToolCtr::CreateFolder(CString strNewFolder) { /************************************ ...

  2. nodejs生成多层目录和生成文件的通用方法

    /** *生成多层目录 * @param dir 多层目录 * @param split 分隔符,ex:'/' 对应的目录地址:'2015/10/10' * @param mode 目录权限(读写权限 ...

  3. python 实现多层目录文件查找

    本文针对多层目录下文件的查找. 利用 os模块的基本操作,并利用递归的思想实现了目录多层查找. 代码如下: import os #dir_name: 处理文件的起始目录 def count_file( ...

  4. nodejs创建多层目录

    1. fs.mkdir不能一次创建多层目录,必须先创建上层目录,再创建下层目录 //同步 fs.mkdirSync("./tmp/"); fs.mkdirSync("./ ...

  5. C#利用SharpZipLib解压或压缩文件(支持多层目录递归压缩)

    需要下载ICSharpCode.SharpZipLib.dll using System; using System.Collections.Generic; using System.Linq; u ...

  6. Java File类 mkdir 不能创建多层目录,如果是多层,可以调mkdirs

    public static void createDir(String destDirName) { File dir = new File(destDirName); if (!dir.exists ...

  7. Java File类 mkdir 不能创建多层目录

    File f = new File("/home/jp/Upload"); if ((!f.exists()) || (!f.isDirectory())) {boolean re ...

  8. [nodejs] 同步/异步创建多层目录

    背景 有时项目里需要同时创建多层目录的功能,但低版本的nodejs并没有提供快捷的api 尽管在v10.12.0版本 mkdir() 第二个参数支持recursive 参数,为true时能递归创建,但 ...

  9. 【Cocos2dx】资源目录,播放背景音乐,导入外部库

    在Cocos2dx中播放背景音乐是一件非常easy的事情,就一行代码,可是首先要导入Cocos2dx的音频引擎cocosDenshion. cocosDenshion对cocos2dproject提供 ...

随机推荐

  1. catch that cow POJ 3278 搜索

    catch that cow POJ 3278 搜索 题意 原题链接 john想要抓到那只牛,John和牛的位置在数轴上表示为n和k,john有三种移动方式:1. 向前移动一个单位,2. 向后移动一个 ...

  2. 简洁的Asp.net菜单控件

    http://www.cnblogs.com/ruinet/archive/2009/11/10/1599984.html asp.net自带的菜单控件采用的table和javascript,导致生成 ...

  3. UEditor使用报错Cannot set property 'innerHTML' of undefined

    仿用UEditor的setContent的时候报错,报错代码如下Uncaught TypeError: Cannot set property ‘innerHTML’ of undefined.调试u ...

  4. django基础篇04-自定义simple_tag和fitler

    自定义simple_tag app目录下创建templatetags目录 templatetags目录下创建xxpp.py 创建template对象register,注意变量名必须为register ...

  5. close与dispose区别

    当我们开发C#代码的时候,经常碰到一个问题,有些class提供Close(),有些class提供Dispose(),那么Dispose和Close到底有什么区别? 首先,Dispose和Close基本 ...

  6. 03Java基础——继承

    1.继承 例如一个员工类,包括开发员工和经理. package cn.jxufe.java.chapter2.demo12; public class Employee { String name; ...

  7. 复试笔试复习 & bd面试总结

    计算机网络: 1.OSI模型中提供端到端服务的是传输层 2.波特率的含义是每秒钟信号变化的次数 3.非屏蔽双绞线中5类网线的数据速率为100Mbps,连接器是RJ-45 4.虚电路在数据链路层实现,电 ...

  8. 基于vue上传base64图片,通过canvas压缩base64

    其实和vue关系不大,和我们之前做上传压缩性质是一样的 当然下面的代码是没有处理ios横屏拍照的bug的 有兴趣的可以多搜一下  网上都有相应的解答 .. var that = this if (e. ...

  9. 基于VSFTP的本地YUM源及光盘YUM源搭建

    基于VSFTP的本地YUM源及光盘YUM源搭建  一.yum环境的本地源搭建(基于VSFTP):  1)安装vsftp;     *********************************** ...

  10. 【LuoguP4770】[NOI2018] 你的名字

    题目链接 题意简述 给定一个串 \(S\) 多组询问 , 每次给定一个串 \(T\) 和一个 区间 \([l,r]\) 求串\(T\) 有多少个本质不同的子串 满足不是 \(S[l...r]\) 的子 ...