The F4M document contains errors URL missing from Media tag

Wowza 3.5.2 running on EC2; with the Transcoder AddOn set up for the live stream. Default setup for transrating with the default transrate.xml template (160p, 240p, 360p enabled)

The encoder is a FMLE (during the test period) and we can see the stream with cupertino and sanjose streaming. But when trying to view the transrated stream, the Flash HTTP Player (using sanjose) returns an error message “The F4M document contains errors URL missing from Media tag”, while QuickTime (using cupertino) just keeps trying to load the movie.

The URL for the “normal” stream is: http://54.226.4.59:1935/live/definst/westfield20151/manifest.f4m (sanjose) or http://54.226.4.59:1935/live/westfield20151/playlist.m3u8 (cupertino)

As URL for the transcoded streams, we tried: http://54.226.4.59:1935/live/definst/ngrp:westfield20151_all/manifest.f4m (sanjose) and http://54.226.4.59:1935/live/definst/ngrp:westfield20151_all/playlist.m3u8

EDIT: Messages from the access log

HTTPStreamerCupertinoIndexPlaylist.indexFile[live/definst/ngrp:westfield20151_all]: MediaList is empty.

HTTPStreamerAdapterCupertinoStreamer.getAppInstance: Stream not found [live/definst/westfield20151_360p/playlist.m3u8]: westfield20151_360p

I also tried two of the expected transcoded streams: westfield20151_360p and westfield20151_160p, which are not there. The westfield20151 is playing now. So I don’t think transcoding is happening. Re-start Wowza, start the stream and test playback of sanjose and cupertino or the transcoded streams. Then, if not working, zip up and send the /conf and /transcoder folders and the current access log showing the re-start and test to support@wowza.com. Include a link to this thread for reference

Richard

I meant the transcoded streams are not there

Yes, although I don’t exactly remember what it was: either the transcoder wasn’t enabled in the Application.xml or the transcoder license wasn’t added (it’s a server with perpetual license). If you want I can have a look at your server.

Sidenote: do yourself a favor and avoid transcoding/transrating on EC2 instances. Unless you have the super-duper-heaviest instance, EC2 instances simply don’t have the CPU/GPU capacity for this.

If you have a monthly or daily license, you won’t need a separate transcoder license; it’s included. But if you have a perpetual license, you need to buy a separate transcoder license and you need to add the extra license key on a new line in [install-dir]/conf/Server.license (please notice that in all cases extra fees apply per transcoded channel)

You don’t need Transcoder AddOn for streaming over RTMP, RT(S)P, HLS or HDS; that’s the streaming server’s core functionality. The Transcoder AddOn is used to transcode from one codec to another (eg. from MPEG2 to MPEG4 h.264) and also “transrate”, so you can have your Adaptive Bitrate. Read all about it: https://www.wowza.com/addons/wowza-transcoder-addon

I’m a Wowza consultant, so contact me if you need me to have a look at your configuration.

Yes, Transcoder AddOn is a so-called “Premium AddOn”

The Transcoder AddOn is used to transcode … and also “transrate”, so you can have your Adaptive Bitrate.

If you want to do Adaptive Bitrate (ABR) and your encoder doesn’t supply multiple bit rates then you can use the Transcoder AddOn. Have a look at the “transrate.xml” template in the /transcoder/templates folder of your Wowza installation.

My experience with Amazon EC2 instances is that they have too little CPU power for the Transcoder AddOn. I’ve managed to do some simple transcoding (eg. audio-only) and trans-rating as long as you don’t trans-rate into many bitrates. Using the Transcoder AddOn to trans-rate into 2-3 bitrates will work on an xlarge as long as you have 2-3 streams max.

As an alternative you can (1) transcode/transrate at your source and send the multiple bitrate streams to Wowza, then use SMIL to allow ABR playback on the client. Or (2) you can choose a dedicated server rather than Amazon. If you intent to do heavy transcoding, then you may look for a data center or provider that is willing to build an NVidia card (e.g. Quadro K4000) in your server which will give you rather good performance.

As a professional Wowza consultant, I can help you with the setup and configuration if you want. I also got some connections to data centers and providers who are familiar with hosting a Wowza Server. Contact me on Skype (karelboek) or by email (karel.boek@raskenlund.com) if you are interested.

Hi,

Please take a look at our Transcoder Performance Benchmark article

You can see the m1.xlarge and c1.xlarge performance results in the table from that article. Take a look at Server4 and Server5 columns to get the usage results.

Zoran

Yes, although I don’t exactly remember what it was: either the transcoder wasn’t enabled in the Application.xml or the transcoder license wasn’t added (it’s a server with perpetual license). If you want I can have a look at your server.

Sidenote: do yourself a favor and avoid transcoding/transrating on EC2 instances. Unless you have the super-duper-heaviest instance, EC2 instances simply don’t have the CPU/GPU capacity for this.

So where SHOULD I do the transcoding/transrating if I’m running an AWS EC2 instance?

If you have a monthly or daily license, you won’t need a separate transcoder license; it’s included. But if you have a perpetual license, you need to buy a separate transcoder license and you need to add the extra license key on a new line in [install-dir]/conf/Server.license (please notice that in all cases extra fees apply per transcoded channel)

You don’t need Transcoder AddOn for streaming over RTMP, RT(S)P, HLS or HDS; that’s the streaming server’s core functionality. The Transcoder AddOn is used to transcode from one codec to another (eg. from MPEG2 to MPEG4 h.264) and also “transrate”, so you can have your Adaptive Bitrate. Read all about it: https://www.wowza.com/addons/wowza-transcoder-addon

I’m a Wowza consultant, so contact me if you need me to have a look at your configuration.

I’m doing live streaming over HLS, HDS and MSFT Smooth from a Wowza Media Server running in an AWS EC2 instance. I want to do adaptive bitrate streaming to accommodate different devices and connection bandwidths. Are you saying I do NOT need to use the Transcoder AddOn when doing this? Where does the adaptive bitrate streaming happen then - is it all part of the streaming protocols themselves? I’m confused.

Was this resolved? I’m also having the same F4M problem with Wowza Transcoder on EC2. I would like to transrate and have followed the instrucitons, but get “the f4m document contains errors url missing” when trying to play the HDS stream.

I will check the Application.xml next time I start up an instance. How can I verify that the transcoder license is applied correctly? I know that with the default AMI I can send one RTMP stream to the server and can then play RTMP, HLS, and RTSP. I would assume that this is a function of the transcoder which is enabled by default. Is this an accurate assumption?

I’m just hoping to get adaptive bitrate streaming to work.

Roger on the server capacity. When I do get transrate to work, I’ll keep an eye on the CPU load.

Thank you again for your help.

I have an Amazon EC2 license and use DevPay. I just saw a note on the this page: https://www.wowza.com/pricing/ec2-streaming#embedded-license

It states that premium Add-Ons are not allowed on EC2 with DevPay. Is the transcoder considered a premium Add-On?