Wowza Community

Live streaming to both Desktops & iOS Devices using Flash Live Media Encoder

Hi,

I apologize if anything I say here sounds stupid, but I’m relatively new to media servers in general.

Essentially what I’m trying to do is live stream live video throughout my school building to all the classrooms. We have the video output from our switcher going into an encoding PC with FLME, and then in the server room downstairs is a streaming/web server specifically for the live stream.

The server has Windows Server 2012 (I would have preferred Linux but IT Manager wants to keep everything windows… bleh) and I have one NIC on the server going up to the encoder and the other NIC facing the school’s network. IP’s are already assigned and working accordingly.

The installation of Wowza on Windows seems easy enough, it’s just the tweaking that I have questions about:

  1. Since I want this stream to be accessable via both iOS devices and desktop browsers, what format would you recommend I encode to? h.264?

  2. What streaming protocol will support both iOS devices and desktop? I can’t seem to find out whether or not rtmp works out of the box with iOS and it seems that HLS isn’t always supported on desktops. I would like to use the same protocol throughout for ease of use.

  3. What streaming player would be best? I have looked into both JW Player and Flowplayer, both seem to work well with rtmp for desktop use, but they don’t support HLS with the free version.

  4. Different classrooms use different browsers depending on the teacher. Some use chrome, while some still use outdated versions of IE. I know the HTML5 version of both Flowplayer and JW seem to be better but I don’t want them to not play in IE. Should I just use the flash version of the players for maximum compatibility?

  5. Can I have one webpage that the player will work whether connected with iOS or desktop? I am seeing different embed codes for different playback methods and I would like both to seamlessly work depending on the platform you access from.

Sorry for the wall of questions - I just want to clear them up before I continue onward with this project

Thanks in advance!

Hi there

I will try to answer to the best of my ability.

  1. If you are using Flash Live media Encoder then use H.264, the only other option is VP6 anyway. By the way FLME is not as good in quality of encoding as others like Livestream or Wirecast ( but at least it is free)

  2. No streaming format supports both iOS and desktop browsers natively, it will depend on your player. RTMP only works inside Flash and iOS does not have Flash so it is not supported.

  3. I can not speak for FlowPlayer but I have JWPlayer and you are not quite right, it does support HLS in the free version when you are viewing on iOS device or Safari on a Mac*. The paid versions of JW Premium and Enterprise also support HLS in desktop flash mode… so this would be your best option, it means paying for a license. Alternatively you would have to setup a RTMP stream for desktop flash browsers and a separate one for HLS. To do HLS you will also need to be running the Transcoder option in Wowza.

  4. Just make sure the browsers all have the latest Flash plugin

  5. Yes but you need to do what I suggested above, RTMP + HLS with free or Pro JWPlayer —OR— just HLS with JWPlayer Premium or Enterprise.

I hope this helps.

You do need the Wowza transcoder if you ant to use IOS, that is for sure.

Hi,

You do not need the transcoder addon for doing HLS streaming.

You can have FMLE publish your source stream in H.264. Ideally, for audio you should use AAC audio but this is a paid extra fro FMLE on windows and is included for free on the Mac version.

If you want to do ABR streaming, you can send upto 3 separate bitrates from FMLE.

On your Wowza server, you can configure the application to output rtmp & hls. Once configured, it will do so automatically.

On the player, if you go with the free jw player, you need to configure the player to handle both rtmp & http (playlist.m3u8) urls. The player will automatically decide which one it can play. You can force a device that supports both rtmp & hls (currently only Mac Safari) to use one or the other by setting the primary option in the player configuration. By default, it is html5 so if the browser supports both, it will default to html5 however, it is smart enough to recognize if it can support the provided url and switch if need be.

Please see How to set up live streaming using an RTMP-based encoder for complete details.

Roger.

Hi

You heard or read wrong.

RTMP is not supported in anything other than Adobe Flash Player

You can have 2 sources like I said, RTMP and MP4 or HLS Adaptive, then if you set the primary mode to flash it will work on both-- but what you see on the IOS will not be RTMP

You do need the Wowza transcoder if you ant to use IOS, that is for sure.

One again, I say, you do not need the paid versions of JW player to use HLS. The free one works, it just does not do it in desktop browsers, this is where you use RTMP. The player embed would have 2 source URL’s, a RTMP one and a HLS one. The player decides which it can play.

If it’s live it doesn’t matter other than inserting one more line of code in the player. If it was VOD I would understand it does make it more time consuming to encode multiple delivery types.

Hi there

I will try to answer to the best of my ability.

  1. If you are using Flash Live media Encoder then use H.264, the only other option is VP6 anyway. By the way FLME is not as good in quality of encoding as others like Livestream or Wirecast ( but at least it is free)

  2. No streaming format supports both iOS and desktop browsers natively, it will depend on your player. RTMP only works inside Flash and iOS does not have Flash so it is not supported.

  3. I can not speak for FlowPlayer but I have JWPlayer and you are not quite right, it does support HLS in the free version when you are viewing on iOS device or Safari on a Mac*. The paid versions of JW Premium and Enterprise also support HLS in desktop flash mode… so this would be your best option, it means paying for a license. Alternatively you would have to setup a RTMP stream for desktop flash browsers and a separate one for HLS. To do HLS you will also need to be running the Transcoder option in Wowza.

  4. Just make sure the browsers all have the latest Flash plugin

  5. Yes but you need to do what I suggested above, RTMP + HLS with free or Pro JWPlayer —OR— just HLS with JWPlayer Premium or Enterprise.

I hope this helps.

Hey thanks for the input!

I was doing some browsing earlier today and saw that the HTML5 version of JW Player is supported on IOS devices even when using RTMP, so I think what I will end up doing is embedding the Flash version of JW for desktops (for maximum compatibility in browsers) and then the HTML5 version of JW for mobile

Now I just need to browse the JW forums and find the proper embed code :stuck_out_tongue:

FYI, did the Wowza install this morning and it went way easier than I expected. Had it up and running within 30mins, was not expecting it to be this easy :smiley:

Hi

You heard or read wrong.

RTMP is not supported in anything other than Adobe Flash Player

You can have 2 sources like I said, RTMP and MP4 or HLS Adaptive, then if you set the primary mode to flash it will work on both-- but what you see on the IOS will not be RTMP

Hmm that’s unfortunate… so either way I’m gonna have to shell out extra cash to buy the pro version of JW and/or to get the transcoder module for Wowza so I can transcode to HLS…

Either that or buy another encoding software that can encode to mp4.

Sorry I should have clarified, I meant I’d need to buy JW if I wanted to use a single HLS for windows desktops & IOS devices. But I may just have to end up doing two separate streams, and buying the transcoder module

Thanks for the help

Hi,

You do not need the transcoder addon for doing HLS streaming.

You can have FMLE publish your source stream in H.264. Ideally, for audio you should use AAC audio but this is a paid extra fro FMLE on windows and is included for free on the Mac version.

If you want to do ABR streaming, you can send upto 3 separate bitrates from FMLE.

On your Wowza server, you can configure the application to output rtmp & hls. Once configured, it will do so automatically.

On the player, if you go with the free jw player, you need to configure the player to handle both rtmp & http (playlist.m3u8) urls. The player will automatically decide which one it can play. You can force a device that supports both rtmp & hls (currently only Mac Safari) to use one or the other by setting the primary option in the player configuration. By default, it is html5 so if the browser supports both, it will default to html5 however, it is smart enough to recognize if it can support the provided url and switch if need be.

Please see How to set up live streaming using an RTMP-based encoder for complete details.

Roger.

Hi Roger,

Thanks for the reply, I actually was able to finally get this working today :wink:

Just needed to tweak my embed code a bit.

I didn’t particularly need ABR streaming, I just needed to be able to stream to both IOS and Desktop devices.

I’m using mp3 audio in FLME and it seems to be working fine - now i’m just trying to tweak the bitrate to find a good balance between quality and bandwidth