Wowza Community

Problems with Live stream Test and VLC Players

Hi, I was trying to test for study porpouse, make a multicast streaming. First one I tried with streaming sample.mp4 like VOD content, but I couldn’t because I think for a multicast stream is necesary a .stream file, to do a map path with the publisher node. Well then I tried with a Live application. I setup a VLC -RSTP source and configured this like a Input Streams with a stream file. Well I can record in a file the stream captured, but testplayers say that “Source stream or file could not be found or access was denied”.

Can you help with this error, o you can say me another way to make a multicast test with streaming sample.mp4 in the content folder?

Thanks.

Can you post your Application.xml along with your playback url from the test players?

I think your idea, which is a good one, is get a reliable source for your testing of PushPublish and multicast. Setup the scheduler, start a server-side stream using sample.mp4 as the source, and make that input to PushPublish multicast stream. With that in place you can just deal with multicast out.

Assuming that is in place by now and that you are still have problems with multicast, what problems are you having? Is there any clue in the Wowza access and error logs? What playback client are you using? I would use VLC for testing, and a UDP url like this

udp://@[multicast-address]

Note the @ in the url, and make the [multicast-address] the url you are publishing to

Richard

This is the Push Publish Guide including multicast options

With the scheduler publishing a stream named “Stream1” in the same application that you have PushPublish enabled, you would have a push map rule like this:

Stream1={profile:"mpegts", streamName:"Stream1MPEGTS", host:"239.1.1.1", port:10000, rtpWrap:false}

Make sure you can play the source “Stream1”

In VLC playback: “udp://@239.1.1.1:10000”

In your access log, from the app-start and start of Stream1, you should see something like this:

INFO application app-start _definst_ push/_definst_
- INFO server comment - ServerListenerStreamPublisher: Streame name is 'Stream1'
- INFO stream create - -
- INFO stream publish Stream1 -
- INFO server comment - scheduled playlist: Stream1 on stream: Stream1 for:Wed Sep 25 16:00:00 CDT 2013
- INFO server comment - ServerListenerStreamPublisher Scheduled stream is now live: Stream1
- INFO server comment - Stream.switch[push/_definst_/Stream1]: index: 0 name:mp4:sample.mp4 start:0 length:-1
- INFO server comment - ServerListenerStreamPublisher Scheduled: Stream1 for: 2013-09-25 16:00:00
- INFO server comment - ServerListenerStreamPublisher PlayList Item Start: mp4:sample.mp4
- INFO server comment - StatsManager:startManager() Enabled=true
- INFO server comment - Wowza Streaming Engine is started!
- INFO server comment - MediaCasterStreamValidator.init[liveorigin/_definst_]: Started
- INFO server comment - ModuleCoreSecurity.onAppStart[liveorigin/_definst_]: Publish: AllowedEncoders: securityPublishValidEncoders:Wirecast/|FME/|FMLE/
- INFO server comment - ModuleCoreSecurity.onAppStart[liveorigin/_definst_]: Publish: block duplicate stream names : false
- INFO server comment - ModuleCoreSecurity.onAppStart[liveorigin/_definst_]: Play: SecureConnection: securityPlayRequireSecureConnection:false
- INFO application app-start _definst_ liveorigin/_definst_
- INFO session connect-pending 127.0.0.1 -
- INFO session connect 127.0.0.1 -
- INFO stream create - -
- INFO server comment - ModulePushPublish.startPublishSession[push/_definst_/Stream1]: profile:mpegts udp://239.1.1.1:10000
- INFO stream create - -
- INFO server comment - MulticastTransport.bind[push/_definst_]: 239.1.1.1/10000

If you can, test playback locally, VLC on the same machine Wowza is running on.

Richard

The scheduler module is not being loaded, which might be because you have not copied the .jar file from the module collection /lib folder to the Wowza /lib folder (then re-start required)

WARN 200 - loadModFunctions[prueba/definst]: Module class not found or could not be loaded. Check [install-dir]/conf/prueba/Application.xml to be sure all Modules/Module/Class paths are correct: name:streamPublisher class:com.wowza.wms.plugin.collection.module.ModuleStreamPublisher

And there is a much simpler way to use the scheduler. Remove that ModuleStreamPublisher from the Application.xml, then add this ServerListener to the ServerListeners list in /conf/Server.xml

<ServerListener>
	<BaseClass>com.wowza.wms.plugin.collection.serverlistener.ServerListenerStreamPublisher</BaseClass>
</ServerListener>

Then add this Property to Properties container at the bottom of the same file, Server.xml

<Property>
	<Name>PublishToApplication</Name>
	<Value>prueba</Value>
</Property>

Then re-start Wowza. If the collection .jar file is in the Wowza /lib folder, the schedule will be published to your prueba application. Then PushPublish will have a source to publish. Again, make sure you can playback the source stream before you proceed. In the example the source stream is named “Stream1”. That’s what you playback to test, and that’s what you need in the PushPublishMap.txt file, as shown before.

Looking at logs, success is this:

  • INFO server comment - ServerListenerStreamPublisher PlayList Item Start: mp4:sample.mp4

Followed a few lines later by this:

  • INFO server comment - ModulePushPublish.startPublishSession[push/definst/Stream1]: profile:mpegts udp://239.1.1.1:10000

  • INFO stream create - -

  • INFO server comment - MulticastTransport.bind[push/definst]: 239.1.1.1/10000

Richard

First, you don’t need the Module and the ServerListener, just one or the other. Go with the ServerListener for this test, remove the ModuleStreamPublisher from /conf/prueba/Application.xml

You definitely have the collection jar file in place now, you are just missing the /content/streamschedule.smil at this point, as shown in the ERROR line:

ERROR 500 - ServerListenerStreamPublisher: ServerListenerStreamPublisher Error from playlist manager is 'ServerListenerStreamPublisher Could not find playlist file: C:/Program Files (x86)/Wowza Media Systems/Wowza Streaming Engine 4.0.3/content/streamschedule.smil

Richard

Do you see the same ERROR line? If not you should see Stream1 being started. Look at the whole log from when you re-started. You pretty much had it working, except that file.

Make sure it is in the /content folder (not /conf) and that it is named streamschedules.smil, and that it does’t have .txt extension added by your text editor.

Richard

It should be named streamschedule.smil, and not have a .txt extension, and be located in /content folder, and be well formed, then it will work. It is all setup and looking for that file in that location, but it’s not there

Richard

That file does not exist, you have to create it.

It is actually, in a sense, working if you still see this message:

java.lang.Exception: ServerListenerStreamPublisher Error from playlist manager is ‘ServerListenerStreamPublisher Could not find playlist file: C:/Program Files (x86)/Wowza Media Systems/Wowza Streaming Engine 4.0.3/content/streamschedule.smil’|at com.wowza.wms.plugin.collection.serverlistener.ServerListenerStreamPublisher.loadSchedule(ServerList enerStreamPublisher.java:462)|at

If you still see this message, it is still the same problem: That file is not there. If you are looking at the file, and it is in the content folder, and it looks like it is correctly spelled, then maybe it has .txt extension. Windows File Explorer hides extensions by default, so this might not be obvious. Or it’s just not there or has another name.

Richard

It’s working now, but the scheduler is publish to the “live” application, which is the default, but you are trying to playback from app named prueba. To publish the schedule stream to the prueba application, add this Property to the Properties container at the bottom of the /conf/Server.xml, or add through the manager.

		<Property>
			<Name>PublishToApplication</Name>
			<Value>prueba</Value>
		</Property>

And in that same file take a look at what is in IPWhiteList abn dIPBlackList

Richard

aleluya! Thanks for the update,

Richard

Hi,

Use mpegts profile and playback with udp address:

myStream={profile:"mpegts", streamName:"Stream1MPEGTS", host:"239.1.1.1", port:10000, rtpWrap:false}

Then playback the stream in VLC with “udp://@239.1.1.1:10000”

Richard

It Doesn’t work. I did what you said. I download the plugin-collection.jar and put them to the [install-dir]\lib folder

Hi there, you can use the StreamPublisher module to publish the sample.mp4 file:

How to do scheduled streaming with Wowza Streaming Engine (StreamPublisher)

Salvadore

Meynardhill10, can you please describe what you are trying to do, and what results you are getting?

Regards,

Salvadore

Yes post de application.xml for the live application “TestMulticast”

<?xml version="1.0" encoding="UTF-8"?>

TestMulticast

Live

Prueba con Multicast

true

live

${com.wowza.wms.context.VHostConfigHome}/content

${com.wowza.wms.context.VHostConfigHome}/keys

cupertinostreamingpacketizer, mpegdashstreamingpacketizer, sanjosestreamingpacketizer, smoothstreamingpacketizer

${SourceStreamName}.xml,transrate.xml

${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles

${com.wowza.wms.context.VHostConfigHome}/transcoder/templates

0

${com.wowza.wms.context.VHostConfigHome}/dvr

append

cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming

${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sharedobjects/${com.wowza.wms.context.ApplicationInstance}

-1

*

*

*

*

none

none

senderreport

12000

75

90000

0

0.0.0.0

127.0.0.1

*

udp

true

true

20000

12000

0

0

0

0

false

3000

-500

false

3000

-500

false

3000

-500

false

1500

false

base

Base

com.wowza.wms.module.ModuleCore

logging

Client Logging

com.wowza.wms.module.ModuleClientLogging

flvplayback

FLVPlayback

com.wowza.wms.module.ModuleFLVPlayback

ModuleCoreSecurity

Core Security Module for Applications

com.wowza.wms.security.ModuleCoreSecurity

ModulePushPublish

ModulePushPublish

com.wowza.wms.pushpublish.module.ModulePushPublish

securityPublishRequirePassword

true

Boolean

OK I will try it for the multicast stream, but it not resolve my Playback problem… no?

Thanks

I still with TestPlaybak problem.

Please, Can you explain a how-to multicast example? from the begin, creating a Live application, adding modules (each module), creating SMIL files (stream definition an switch), Map Publishing, etc… (sorry for incorrections)

I think that it is an oportunity to do a simple tutorial. I need demostrate that wowza can be a multicast streaming server.

Thanks

Hi,

I’ve created a new live aplication named “prueba”. I added modules ModulePushPublisher, and streamPusher, and OK.

Previosly I’ve added un Server Listener in Server setup, com.wowza.wms.plugin.collection.serverlistener.ServerListenerStreamPublisher.

Keeping the Sheduled Guide, I created a smil file named scheduled_prueba.smil, and push it on the general content folder.

This is the smil file content: