Wowza as IPTV server with many channels.

Hi.

I’ve searched around forums and documentation, but have no luck with

solving my problem.

I’ve got a task: I need to make an IPTV service. So there are many

channels (around 50) which are pointed to different ports of some

server. So the first channel is bounded to http://ipaddr:8001 , the

second channel is bounded to http://ipaddr:8002 etc… And I need to use

wowza as multicast server. And clients must have able to connect to

wowza server and switching channels as we can do it on station TV or

something like that (switching by playlist with vlc).

I think that I need to prepare something like playlist where channels

are listed. But I don’t understand how can I do this and how to add this

to wowza.

Thanks for an answer!

We answered this in support ticket #13542. Did you get that response? There was responses from me and John.

Richard

Wowza cannot ingest a stream from an HTTP URL. We can ingest streams using the following protocols:

RTMP

RTSP/RTP (over UDP and TCP)

MPEG-TS over UDP unicast and multicast

native RTP over UDP unicast and multicast

There is more specific info here:

https://www.wowza.com/specs.html

These are all your options.

Charlie

From the ticket:

Wowza does not support http ingress except shoutcast streams.

You can have many live streams in Wowza at once with simple configuration, but there are many possible approaches to how you would provide an interface for users to switch.

This example could be useful:

Richard

From John:

Hi Vasya,

Thanks for your interest in our Wowza Server 2 software.

From the sales side, I wanted find out if you’re planning to build an IPTV system which streams to traditional IPTV set top boxes or if you’re focused on streaming to a different type of client?

Based on your deployment targets, we may have detailed technical articles or specific product partners to point you to.

Yours,

John West

First, here are some relevant articles:

Transcode with VLC

https://www.wowza.com/docs/how-to-use-vlc-as-a-live-stream-encoder-with-wowza-media-server-mpeg-ts)

You can run several VLC processes, limited by your system resources and network connection to Wowza if on a separate machine, but for multi-bitrate purposes you might not get the required key frame alignment.

VOD encoding suggestions:

https://www.wowza.com/docs/how-to-encode-video-on-demand-content

See multi-bitrate section of MPEGTS tutorial:

https://www.wowza.com/docs/how-to-publish-and-play-a-live-stream-mpeg-ts-based-encoder)

Note that streams in a multi-bitrate set must be key frame aligned, which is difficult to achieve, and I don’t think VLC is going to work. Wowza 3 transcoder fixes this problem, and VLC can be used as the primary stream with that feature.

In testing with sets and a smil file, be sure to test each stream in the set by itself too, esp on mobile, to make sure it works.

Richard

You are right about how to do this generally, but for multi-bitrate streaming to work each version must be key frame aligned. What you are doing with VLC seems unlikely to be key frame aligned. This is how to see if it is going to work:

https://www.wowza.com/docs/how-to-debug-encoder-multi-bitrate-keyframe-alignment

Richard

I do not think it will work. So take a minute to understand the key frame alignment requirement and test using the article that I sent before you waste a lot of time on it.

Richard

You can share ports, take a look at this guide:

https://www.wowza.com/forums/showthread.php?11177-Datagram-(UDP-unicast-and-multicast)-Port-Sharing

Richard

I’m not sure about MPlayer. Have you tested the RTSP stream in VLC? And have you tested in Flash? Use Wowza LiveVideoStreaming/client example

Server: rtsp://[wowza-server]:1935/live

Stream: aone.stream

If you added 554 to /conf/VHost.xml /HostPort /Port “1935,554”, then you don’t have to use 1935 in the rtsp url, which can help with some players:

rtsp://[wowza-server]/live/aone.stream

Let us know how testing in VLC and Flash work.

Richard

Is your Wowza server on a public IP? If so, can you send the URL to support@wowza.com.

Include a link to the thread for reference.

Richard

I’m sorry, I didn’t get any answer, that’s why I post here new thread.

And sorry for my bad ticket submitting: without any additional information.

In addition I want to say that we have got live streams in such format /path/to/stream.ts in one server and Wowza server on another, so maybe there is some way to just prepare a playlist with this streams?

Hi John and Richard,

Thank you for an answer.

About sales side: at now we already have an IPTV system which streams to boxes in custom bitrate. But we need to provide streaming to different platforms (ipod,ipad,android etc) with bitrate switching. So thats why we need Wowza. So if this information was enough that was cool to get some technical articles from you.

Could you give an answer to this, please:

Do I need vlc (or something like that) to retranslate stream to Wowza? I’ve make it working with vlc, but this is not good way I think, because I need to start separate copy of vlc fo each channel. (we have got live streams in such format /path/to/stream.ts in one server and Wowza server on another)

And if I have got 3 different bitrate streams what should I do? I mean in VOD case I need to prepare .smil file but what I should do in live channels case?

And another question.

I’ve prepared three files VOD with 3 different bitrates and .smil file. Then I tried to view this files by IPhone 4 but have no luck - player in safari hangs and don’t respond. Then I try to get your files and your bigbuckbunny.smil IPhone with very big effort can play a few seconds. So which bitrate is optimal fo mobile devices and how can I recognize which bitrate IPhone start to play? In logs there is information only about access and errors.

Thanks!

Hello,

Sorry for delaying with answer.

Thanks for this articles, but I’ve already read them before start this thread.

  1. I don’t correctly understand do I need separate copy of vlc or not for each channel with different bitrates? For example I’ve got 50 channels encoded with 3 bitrates. So if I’m not mistaken I need to start 50x3 = 150 copies of vlc and prepare 50 SMIL files. Am I right?

Or there is some different way exists?

  1. In the article you send me about publishing live stream I read the following text:
  1. Start Wowza Media Server 2

  2. Configure the MPEG-TS based encoder to send a live stream to the IP address of the server running Wowza Server using port 10000

  3. Using a text editor, create the file [install-dir]/content/mpegts.stream set the contents of this file to udp://0.0.0.0:10000 (if you are receiving a multicast stream, change the 0.0.0.0 part to the multicast address of the stream)

This is explane what should I do if I want to publish one live stream. Right? And what should I do if there are many streams?

We want to buy wowza server licenses but at first we need to understand some things about your server.

Thank you!

Yes, I don’t know anything about key frame aligned (and don’t know what does it mean), and will try to implement it to our streaming.

So I need to start 150 copies of vlc fo streaming. Well, maybe you can suggest us to use Wowza Media Server 3 with your transcoder addon without using vlc?

Yes, I don’t know anything about key frame aligned (and don’t know what does it mean), and will try to implement it to our streaming.

So I need to start 150 copies of vlc fo streaming. Well, maybe you can suggest us to use Wowza Media Server 3 with your transcoder addon without using vlc?

I think I should explain my task more reasonably because our thread get off the point. I’ll try to describe it shortly.

Our channels (around 50) have already transcoded to h264 and we already broadcast them using http protocol (URLs have the form http://address/some/path/channel.ts) and pointed to different ports of some server. So the first channel is bounded to http://ipaddr:8001 , the second channel is bounded to http://ipaddr:8002 etc. Users (septop boxes - STB) use this urls to connect and process (show) content.

Now we want to test Wowza to broadcast our channels. Idea is to take streams from our broadcast servers (using http) and retransmit it with wowza.

And the main question is do we need vlc for restreaming (not for transcoding) this stream or Wowza can simply restream http input to http output stream? And if Wowzacan do such thing what configuration do we need?

And if I want to restream many udp multicast channels I need to broadcast them to different ports of server where Wowza running and prepare many .stream files which contents information about ports where channels streamed, yes?

Like it has been done with one stream in this article: https://www.wowza.com/docs/how-to-publish-and-play-a-live-stream-mpeg-ts-based-encoder)

Hi, again.

I’m trying to broadcast live streaming with wowza: multicast udp -> wowza -> rtsp. But it’s not working.

That’s what I have done:

  1. I’ve installed the last Wowza server

  2. In examples folder there is a file installall.sh , which creates folders in application. The live folder - folder that I need. So I execute that file.

  3. In conf/live folder I create the Applications.xml file, which I download from manual. (applications/live - folder already exists). In VHost.xml file I’ve added 554 port. And for any case I’ve opened all udp ports on my server.

  4. In content folder I’ve create aone.stream file which contents: udp://227.7.6.30:1234 (I’ve also tried with udp://@227.7.6.30:1234)

  5. Started stream with StreamManager. But I’m not sure that this is needed. But there are differents in logs with starting and without.

  6. Trying to view this stream with mplayer rtsp://[wowza-server]:1935/live/aone.stream and don’t see with error:

mplayer rtsp://[wowza-server]:1935/live/aone.stream

MPlayer SVN-r33805-4.6.1 © 2000-2011 MPlayer Team

163 audio & 363 video codecs

mplayer: could not connect to socket

mplayer: No such file or directory

Failed to open LIRC support. You will not be able to use your remote control.

Playing rtsp://[wowza-server]:1935/live/aone.stream.

Resolving [wowza-server] for AF_INET…

Connecting to server [wowza-server][wowza-server]: 1935…

librtsp: server responds: ‘RTSP/1.0 404 Not Found’

rtsp_session: unsupported RTSP server. Server type is ‘Wowza Media Server 2.2.4 build27452’.

STREAM_LIVE555, URL: rtsp://[wowza-server]:1935/live/aone.stream

Stream not seekable!

file format detected.

Failed to get a SDP description from URL “rtsp://[wowza-server]:1935/live/aone.stream”: 404 Not Found

Exiting… (End of file)

In order I’ve followed this article: https://www.wowza.com/docs/how-to-publish-and-play-a-live-stream-mpeg-ts-based-encoder

and this https://www.wowza.com/docs/how-to-enable-udp-port-sharing-unicast-and-multicast

I don’t share ports because of the one channel not working. When he start to broadcast, I’ll try to share ports.

What else should I need to do?

Thanks.

Hello Richard,

I’ve tested the stream with vlc and flash player stream but there is same result.

Here vlc output:

vlc rtsp://[wowza-server]/live/aone.stream

VLC media player 1.1.11 The Luggage (revision exported)

Blocked: call to unsetenv(“DBUS_ACTIVATION_ADDRESS”)

Blocked: call to unsetenv(“DBUS_ACTIVATION_BUS_TYPE”)

[0x9dd5914] main libvlc: Запуск vlc с интерфейсом по умолчанию. Используйте ‘cvlc’ для запуска vlc без интерфейса.

Blocked: call to setlocale(6, “”)

Warning: call to srand(1313355879)

Warning: call to rand()

Blocked: call to setlocale(6, “”)

(process:14114): Gtk-WARNING **: Locale not supported by C library.

Using the fallback ‘C’ locale.

[0xa11c15c] live555 demux error: Failed to connect with rtsp://[wowza-server]/live/aone.stream

[0xb23007ac] main input error: open of `rtsp://[wowza-server]/live/aone.stream’ failed: (null)

I’ve also tried to specify 1935 port, but same error.

Maybe I need to specify an interface which Wowza would listen?