Subfolders in application content folder?

I have a product that I have created an application for. .flv’s work in the root directory of the application storage dir.

In order to keep the directory clean, I want to add subfolders and address the .flv content by sub folder.

ex.

application is “fastplay”

storage dirs:

wowzamediaserverpro/content/fastplay/bobby

wowzamediaserverpro/content/fastplay/james

wowzamediaserverpro/content/fastplay/ivan

referenced externally like…

rtmp://mediaserver/fastplay/bobby/schoolplay0.flv

rtmp://mediaserver/fastplay/james/schoolplay1.flv

rtmp://mediaserver/fastplay/ivan/schoolplay2.flv

Is this possible? and how do I do it? or where can I find a good documentation for this?

I have tried, and tried to find documentation on sub folders, but didn’t find any yet. Please help!

Thank you

wowza newbie, but impressed.

Try this:

Set the Streams/StorageDir in conf/fastplay/Application.xml to the path to wowzamediaserverpro/content.

rtmp://mediaserver/fastplay/_definst_/fastplay/bobby/schoolplay0.flv
rtmp://mediaserver/fastplay/_definst_/fastplay/james/schoolplay1.flv
rtmp://mediaserver/fastplay/_definst_/fastplay/ivan/schoolplay2.flv

This should work. The definst is the default application instance name. You need to specify the application instance name if you want to use the FLVPlayback component.

Charlie

It should be:

Server: rtmp://myserverxxx/fastpaly/definst

Stream: myfolder/myfile

Charlie

Excuse me, how can I play the flv files in subfolders in fastpaly flash client?

In server textbox, I entered “rtmp://myserverxxx/fastpaly/definst/myfolder” .

In stream, I entered “myfile”, but it couldn’t play.

(I have a file named myfile in folder “myfolder” in content folder ).

Thanks very much, Charlie!

Francois,

Replace the “definst” with your explicit applicationInstance:

rtmp://myserver/customer1/ondemand/&file=/customer1/ondemand/test.flv

Richard

It’s hard to sort out. Let me see if I have this straight:

Your Application.xml /Streams /StorageDir is:

InstallDir/content

The file is located here:

installDir/content/customer1/ondemand/test.flv

You tried to use this:

rtmp://myserver/customer1/ondemand/&file=/customer1/ondemand/test.flv

Seems right, just needs “streamer=”

streamer=rtmp://myserver/customer1/ondemand&file=/customer1/ondemand/test.flv

Doing these two things is unnecessary:

mkdir conf/customer1/ondemand

mkdir application/customer1/ondemand

The server does create folders under /applications/appName/ to manage applicationInstances, but you do not have to create them. Just naming it in rtmp url is all you have to do.

Richard

Put the Application.xml here:

InstallDir/conf/customer1/Application.xml

Richard

sorting appInstances

I’m not sure what you are expecting to happen.

Richard

Francois,

There is only one Application.xml per application.

There are no use for subfolders below /conf/[applicationName]

You create applicationInstances just by using them in rtmp url. So simply connecting to Wowza with a rtmp url with applicationInstance part creates that instance:

rtmp://yourWowzaIP/AppName/someAppInstance

“someAppInstance” is created, it just works.

Application instance folders are created by Wowza here:

[wowza-install-dir]/applications/AppName/sharedObjects/someAppInstance

But this just a place for Wowza to work with shared objects. It’s the location of StorageDir that matters.

Richard

Francois,

You made me wonder if I had missed something, but I can’t find anything to support that. I think if you thought this worked before it was a coincidence, i.e., it was working for another reason. Take a look at the Server Architecture and Server Configuration sections of the User Guide.

When you create:

/applications/customer1

/applications/customer2

And

/conf/customer1/Application.xml

/conf/customer2/Application.xml

That is two applications. Correct. Each Application.xml can have a different StreamType.

But this does nothing:

/conf/customer1/someAppInstance

To create an applicationInstance of the customer1 application, you just connect to it:

rtmp://wowzaIP/customer1/someAppInstance

someAppinstance is an instance of the customer1 application and has all the properties set in:

/conf/customer1/Application.xml

It is in its own space. Streams published to someAppInstance can only be subscribed to by clients that connect to the same server/application/applicationInstance named “someAppInstance”

If you do not explicitly specify an applicationInstance, Wowza runs it as definst

Important to note that you can use more than one StreamType in an application. You do it in the Flash client with actionscripot, like this:

//first do this with netconnection
netconnection.call("setStreamType",null,"live");
//second, create a new NetStream object to use with that StreamType
var nsLive:NetStream =  new NetStream(netconnection);

Richard

Those folders have no meaning in Wowza (or FMIS)

If you do not create an Application.xml for an application, the default is used:

/conf/Application.xml

That’s how SimpleVideoStreaming example works.

Richard

Hi,

this works all fine, but what will be when i have Appinstances? This doesn’t work for me.

In install dir:

mkdir conf/customer1

mkdir conf/customer1/ondemand

mkdir application/customer1

mkdir application/customer1/ondemand

change StorageDir to InstallDir/content in Apllication.xml in conf/customer1/ondemand/

test.flv in content/customer1/ondemand/

Using jwplayer:

rtmp://myserver/customer1/definst/ondemand/&file=/customer1/ondemand/test.flv does not work and

rtmp://myserver/customer1/ondemand/&file=/customer1/ondemand/test.flv

is not working, too. Is there a Problem with Appinstances?

kindest regards

Francois

Hi,

thanks for your support, but if you can see in my last answer i always tried this and doesn’t work. I use the 2.0.0 preview6.

Francois

I already have the streamer, but it doesn’t work.

Its not the Storage Dir which make problems, its the Application path.

If my Application path is InstallDir/application/customer1/Application.xml

i can play the vid with:

rtmp://myserver/customer1/&file=/customer1/ondemand/test.flv

But not if i would handle this via an AppInstance in a Subfolder of my Application.

Francois

Yes i know now that this is working. Is it a bug to do it for sorting in appinstances? Normaly it have to work, or?

thanks for your attention…

kindest regards

francois

Only to sort, a tv station is our customer and i want to sort his ondemand tv shows with different Application.xmls and his live feeds.

So i got

conf/costumer/live1/

conf/customer/live2/ (live is working in this subdirs)

conf/customer/ondemand/tvshow1/

conf/customer/ondemand/tvshow2/

conf/customer/ondemand/tvshow3/

and so on…

But you’re right, i think its enough to have only one Application.xml for all OnDemand stuff on this customer in conf/customer/

Right now i cannot find any reason without sorting to do this in subdirs.

Thanks a lot

Francois

hate this, sorry. Why i have to restart the server sometimes to get this. Now after restarting Server it works, don’t know why.

francois

Hello Richard,

that was completely new for me. In the past i always use wowza like this scheme:

conf/Application/ApplicationInstance

this works for our sorting scheme quit good. Is this a Problem to use wowza like this? This is for a quite better Overwiew i already thought.

There is only one Application.xml per application.

There are no use for subfolders below /conf/[applicationName]

How can i handle more than one Stream types in an Application.xml like ondemand, live and liverecord? Because of that we made also this subfolders for each customer.

kindest regards

francois

Thanks a lot Richard…

is it possible that it works because i have no Application.xml in conf/customer1/

only in my subdirs?

conf/customer1/live/

conf/customer1/ondemand/

Maybe for wowza this will be 2 different applications?

Greets

Francois