Using VLC with Wowza Pro (native RTP)

Hi y’all,

I got the demo working in about 10 minutes (great instructions) , but the frame rate is really bad (1 fps). I’m using a MPEG-2 video source with no audio.

Video source is T80U SD Mpeg2 from here: http://www.elecard.com/download/clips.php

VLC command line was:

vlc -vvv C:\foo\Tank_T80U.mpg --sout "#transcode{venc=x264,vcodec=x264,vb=500,scale=1,acodec=mp4a,ab=32,channels=2,samplerate=22100}:rtp{dst=127.0.0.1,sdp=file://%WMSCONFIG_HOME%/content/vlc.sdp}"

Everything is running on the same (fast) machine over localhost. When I render in VLC or our internal client it’s very fast.

Are there some special knobs I need to turn to get a better frame rate?

Thx!

That did it … thanks for the fast reply.

One thing I notice is it doesn’t like it when VLC is set to LOOP. It plays through the video file once fine, then it loses its mind when the video restarts.

Any ideas?

Yes, they need to be in the same network. VLC needs to be able to save the SDP file to the server running Wowza Pro. I think the current url you are using is not right at all. But I am not sure how to instruct you on how to fix it.

Another option is to have VLC make the sdp information available at a url. The format is something like this:

sdp=“http://[vlc-ip-address]:9000/streamtest/mystream.sdp”

Where [vlc-ip-address] is the ip address of the machine running VLC.

The you would use a stream name in Flash of:

rtplive:http://[vlc-ip-address]:9000/streamtest/mystream.sdp

Charlie

And what if VLC server crashes accidentally. Isn’t it weird, when sdp file dissappears, and wowza has not noticed it, but anyway tries to stream. When VLC servers startsup again, it creates new SDP file, but wowza does not notices it again. So when you start a stream again, video is not showing, till you somehow simulate SPD file disappering/appearing or stream timeouts, then wowza will try to synchronize with a video again.

When I refresh a SDP file, this is what wowza traces:

INFO server comment - RTPSessionDescriptionDataProviderBasic.doIdle:  Check SDP file (/usr/local/WowzaMediaServerPro/content/palanga3.sdp):  Reset: date:1223556049000=1223556066000 size:282=282 
INFO server comment - RTPMediaCaster.resetConnection: 
INFO stream unpublish palanga3.sdp - 
INFO server comment - MediaStreamMediaCasterPlay: close 
INFO stream destroy palanga3.sdp - 
INFO server comment - RTPMediaCaster.Reconnector: start 
INFO server comment -  RTPSessionDescriptionDataProviderBasic.getStreamInfo:  /usr/local/WowzaMediaServerPro/content/palanga3.sdp 
INFO stream create - - 
INFO stream stop palanga3.sdp - 
INFO stream publish palanga3.sdp - 
INFO server comment - UDPTransport.bind: /86.38.26.197:7774 
INFO server comment - UDPTransport.bind: /86.38.26.197:7775 
INFO server comment - RTPMediaCaster.Reconnector: stop 
INFO server comment - UDPTransport.firstPacket: /86.38.26.197:7774 
INFO stream play palanga3.sdp - 

By the way, SDP and VLC are on different remote servers. I mean, aren’t there any other solutions wowza to synchronize if VLC and Wowza aren’t on a same network.

Yes, they need to be in the same network. VLC needs to be able to save the SDP file to the server running Wowza Pro. I think the current url you are using is not right at all. But I am not sure how to instruct you on how to fix it.

Another option is to have VLC make the sdp information available at a url. The format is something like this:

sdp=“http://[vlc-ip-address]:9000/streamtest/mystream.sdp”

Where [vlc-ip-address] is the ip address of the machine running VLC.

The you would use a stream name in Flash of:

rtplive:http://[vlc-ip-address]:9000/streamtest/mystream.sdp

Charlie

VLC puts the SDP file on a http location succesfully, but when I write down the http adress to sdp in a nativertp example, my stream doesn’t work, though flash traces “sdp is now published” and wowza logs “RTPSessionDescriptionDataProviderBasic.getStreamInfo: URL: http://ip:port/file.sdp”.

And if I set stream just file.sdp then wowza gets file.sdp from a /content/ folder.

Are there any strings in app configs to set where SDP file should be located. I’m still working on a remote vlc and wowza servers, not on a same network.

Hi,

It’s about RTP/AVSyncMethod method to systemclock :

I didnt’t found that method in the ser guide.

I put like that in my application.xml :

I think it’s not correct

<Root>
	<Application>
		<AVSyncMethod>systemclock</AVSyncMethod>
		<!-- Uncomment to set application level timeout values
		<ApplicationTimeout>60000</ApplicationTimeout>
		<PingTimeout>12000</PingTimeout>
		<ValidationFrequency>8000</ValidationFrequency>
		-->
		<Connections>
			<AutoAccept>true</AutoAccept>
			<AllowDomains></AllowDomains>
		</Connections>
		<!--
			StorageDir path variables
			
			${com.wowza.wms.AppHome} - Application home directory
			${com.wowza.wms.ConfigHome} - Configuration home directory
			${com.wowza.wms.context.VHost} - Virtual host name
			${com.wowza.wms.context.Application} - Application name
			${com.wowza.wms.context.ApplicationInstance} - Application instance name
			
		-->
		<Streams>
			<StreamType>rtp-live</StreamType>
			<StorageDir>${com.wowza.wms.AppHome}/content</StorageDir>
		</Streams>
		<SharedObjects>
			<StorageDir></StorageDir>
		</SharedObjects>
		<Client>
			<IdleFrequency>-1</IdleFrequency>
		</Client>
		<!-- 
		<Repeater>
			<OriginURL></OriginURL>
		</Repeater> 
		-->
		<Modules>
			<Module>
				<Name>base</Name>
				<Description>Base</Description>
				<Class>com.wowza.wms.module.ModuleCore</Class>
			</Module>
			<Module>
				<Name>properties</Name>
				<Description>Properties</Description>
				<Class>com.wowza.wms.module.ModuleProperties</Class>
			</Module>
			<Module>
				<Name>logging</Name>
				<Description>Client Logging</Description>
				<Class>com.wowza.wms.module.ModuleClientLogging</Class>
			</Module>
			<Module>
				<Name>flvplayback</Name>
				<Description>FLVPlayback</Description>
				<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
			</Module> 
		</Modules>
		<Properties>
			<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
			<!--
			<Property>
				<Name></Name>
				<Value></Value>
			</Property>
			-->
		</Properties>
	</Application>
</Root>

Hi forum

I am using VLC 8.06d to transcode a axis camera stream source to X264, and sending the SDP file to a wowza server

C:\Program Files\Wowza Media Systems\Wowza Media Server Pro 1.5.3\content

i use two seperate sdp files one for video to specific port and another sdp file for audio in another port,using this method i can see video fine and hear audio aswell in the wowza rtplive example page, the problem i have if i watching video in the nativertp player in one client PC and then open the same page in another PC i have to stop the player in the first machine or PC

to see the same video in the second one,

i dont know if some kind of issue in wowza with simultaneous conection,or a issue in VLC.

any comment will be apresiate

Thanks

Hello everyone!

Few days ago I started to play with Wowza and VLC and… still nothing…

I can’t generate sdp file. This problem was widely described before, but it is not working in my case.

Here is the code, I also add that I tryied http trick, and real IP adres - nothing

[PHP]vlc -vvv C:/Program Files/Wowza Media Systems/Wowza Media Server Pro 1.5.3/content/Extremists.flv --sout “#transcode{venc=x264,vcodec=x264,vb=500,scale=1,acodec=mp4a,ab=32,channels=2,samplerate=22100}:rtp{dst=127.0.0.1,sdp=file:///C:/Program Files/Wowza Media Systems/Wowza Media Server Pro 1.5.3/content/vlc.sdp}” [/PHP]

I also tryied with PC usb camera as a source and in this case sdp file was not generated.

If you have any other suggestions then please let me know

Thanks a lot

Lukasz

Thank You for quick respond

Unfortunately sdp file is not created…

I have noticed strange thing… I’ve pasted code from Charile on the other maschine (configured the same as the onther one) and vlc.sdp file was created.

So I lunched nativertp.html, changed stream name to vlc.sdp and clicked play…

no image has shown. (there was also no image in VLC, but at the bottom of vlc window showed “streaming” with out error messages. When checked media informations>statistics in streaming section there was no outgoing bytes/packets, also terrible noise was coming out of my speakers.

Any ideas guys?:slight_smile:

Wowza gives those messages:

INFO vhost comment defaultVHost RTMP/RTMPT bind attempt ([any]:1935)

INFO vhost comment defaultVHost Bind successful ([any]:1935)

INFO application app-start definst rtplive/definst

INFO session connect-pending 127.0.0.1 -

INFO session connect 127.0.0.1 -

INFO stream create - -

INFO server comment - MediaStreamMediaCasterPlay: startPlay

INFO server comment - RTPMediaCaster.create

INFO server comment - RTPMediaCaster.init

INFO server comment - RTPMediaCaster.Reconnector: start

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo: C:/P

rogram Files/Wowza Media Systems/Wowza Media Server Pro 1.5.3/content/vlc.sdp

INFO stream setbuffertime vlc.sdp 750

INFO stream create - -

INFO stream publish vlc.sdp -

INFO server comment - UDPTransport.bind: /127.0.0.1:50000

INFO server comment - UDPTransport.bind: /127.0.0.1:50001

INFO server comment - UDPTransport.bind: /127.0.0.1:50002

INFO server comment - UDPTransport.bind: /127.0.0.1:50003

INFO server comment - RTPMediaCaster.Reconnector: stop

Thanks a lot

Lukasz

I have installed it many times, I always removed module cache.

Here is the info from log:

dshow error: no capture device was detected

dshow error: no capture device was detected

dshow error: can’t open video

Capture device? wierd… I’m trying to open video from file…

Code is the same as Charlie wrote above.

Lukasz

Yes, but I can not stream this file.

Charlie

I am pasteing code you wrote before :

vlc -vvv “C:/Program Files/Wowza Media Systems/Wowza Media Server Pro 1.5.3/content/Extremists.flv” --sout “#transcode{venc=x264,vcodec=x264,vb=500,scale=1,a codec=mp4a,ab=32,channels=2,samplerate=22100}:rtp{ dst=127.0.0.1,sdp=file://%WMSCONFIG_HOME%/content/vlc.sdp}”

127.0.0.1 this is local adress of mashine running Wowza so I think it is correct…

It still doesn’t work :mad:

Thanks for respond

I’am newbie… really…Could you instruct me (step by step) how to generate such a code useing GUI. I also add that this part of the code I’am just pasteing to the line. [PHP]–sout “#transcode{venc=x264,vcodec=x264,vb=500,scale =1,a codec=mp4a,ab=32,channels=2,samplerate=22100}:rtp{dst=127.0.0.1,sdp=file://%WMSCONFIG_HOME%/content/vlc.sdp}”"[/PHP]

I know. Wowza and VLC are running on the same mashine. I am typeing actual IP adress but the dsp file is not created… I will describe you what I am doing step by step: To playlist I’am adding file, then right click>stream…>then I’am pasteing for eg. this code [PHP]vlc -vvv /c:/Temp/Extremists.m4v --sout “#transcode{venc=x264,vcodec=x264,vb=500,scale=1,acodec=mp4a,ab=32,channels=2,samplerate=22100}:rtp{dst=192.168.2.100,sdp=file://%WMSCONFIG_HOME%/content/vlc.sdp}”[/PHP]

Then VLC is starting to stream ( I assume…) and… there is no sdp file created in pointed directory… IP adress is real, wowza and vlc are running on the same mashine. I can see the video. VLC console gives this:

Fontconfig error: Cannot load default config file

QPainter::begin: Paint device returned engine == 0, type: 1

QPainter::begin: Paint device returned engine == 0, type: 1

QPainter::begin: Paint device returned engine == 0, type: 1

QPainter::begin: Paint device returned engine == 0, type: 1

QPainter::begin: Paint device returned engine == 0, type: 1

Shot in the dark here, but are you running the latest patch on 2.1.2? There were some important RTP fixes in that patch.

https://www.wowza.com/downloads/WowzaMediaServer-2-1-2/WowzaMediaServer2.1.2-patch6.zip


IMPORTANT!!!

Several core components have been updraded to newer versions. Before

applying this patch, delete the following files from your Wowza Media Server

installation:

[install-dir]/lib/bcprov-ext-jdk15-143.jar

[install-dir]/lib/commons-lang-2.4.jar

[install-dir]/lib/log4j-1.2.15.jar

Also, the data sent between origin and edge for HTTP streaming when

using the live stream repeater has changed. It is important that you

run the same version of Wowza Media Server on the origin and edge

when using the live stream repeater for HTTP streaming.


Updated post to reflect new patch.

If this server is at a different location than your encoder, and it worked when onsite, have you looked at network QoS?

You mentioned it was a remote server - what’s the WAN link between them?

Gotcha, that’s helpful. What is the connection speed between your office and the hosting provider?

Well… I was hoping this would work. I’m using 1.5.3.

I have it working without origin/edge configuration. But when I change Stream/StreamType from rtp-live to liverepeater-origin. VLC does not connect. Wowza does not proceed passed “INFO:stream create —”

When I stop the client I get “INFO:stream destroy vlc.sdp” So it looks like client request does get to wowza but wowza doesn’t know what to do??

Is this feature supported yet? Do we need another stream type “rtp-liverepeater-origin”?

Thanks