Wowza Community

Error streaming mp3 files with HLS

Hi,

I’m experiencing the following error trying to stream a big MP3 file (2.6 GB) from a VOD application using HLS (wowza version is 4.1.2)

ERROR server comment 2020-06-11 17:21:00 - - - - - 59.9 - - - - - - - - open : java.lang.Exception: MP3 file format not valid. Zero duration. Seek will not function properly: 5421.mp3|at com.wowza.wms.mediareader.mp3.MediaReaderMP3.readMetadata(MediaReaderMP3.java:419)|at com.wowza.wms.mediareader.mp3.MediaReaderMP3.open(MediaReaderMP3.java:160)|at com.wowza.wms.httpstreamer.cupertinostreaming.file.HTTPStreamerCupertinoIndexFile.open(HTTPStreamerCupertinoIndexFile.java:292)|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerSessionCupertino.getIndex(HTTPStreamerSessionCupertino.java:119)|at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.onPlaylist(HTTPStreamerAdapterCupertinoStreamer.java:2068)|

This is the ouptut of ffprobe on the file:

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

<ffprobe:ffprobe xmlns:xsi=‘http://www.w3.org/2001/XMLSchema-instance’ xmlns:ffprobe=‘http://www.ffmpeg.org/schema/ffprobe’ xsi:schemaLocation=‘http://www.ffmpeg.org/schema/ffprobe ffprobe.xsd’>

</ffprobe:ffprobe>

I tried to packetize the stream (as explained here https://www.wowza.com/docs/how-to-improve-playback-of-lower-latency-apple-hls-streams) without success. Is there any configuration needed on the server application?

Can anyone help me?

It sounds like this is audio only correct? In which case, have you seen this article where it says that our audio only template transcodes the mp3 to AAC for player compatibility? Perhaps that could be the issue…

https://www.wowza.com/docs/how-to-transcode-only-the-audio-channel-of-an-incoming-stream

Oh sorry about that. Well it is critical that the keyframes be aligned if you’re doing any adaptive bitrate streaming. Are you? I can share some encoding examples for VOD with FFmpeg to see if it helps you out

Streaming VOD requires:

  • A constant frame rate, to help ensure that all frames are aligned properly.
  • A constant keyframe interval, also known as a group of pictures (GOP). This is important so that segments are equally sized for Apple HLS, MPEG-DASH, Adobe HDS, and Microsoft Smooth Streaming. It also enables bitrate switching when delivering adaptive bitrate streams.
  • A bitrate-based encode, to ensure that all segments are close the same size, which helps to prevent buffering.

TROUBLESHOOTING:

If you have a VOD asset that Wowza Streaming Engine has trouble streaming, use the following FFprobe commands to troubleshoot.

( see bottom of the article )

https://www.wowza.com/docs/how-to-encode-vod-using-ffmpeg-with-wowza-streaming-engine

Hi, thanks for your answer.Yes I’m trying to stream an audio file but It looks like the article refers to live streams, I’m using vod.

Is there any limit in the size or bitrate of streamed files?

Audio bitrate - The audio bitrate is the amount of data in 1 second of audio, also measured in Kbps. Audio bitrate can scale for bandwidth and device, too. Typical audio bitrates are 32 Kbps or 64 Kbps for voice content, and 96 Kbps, 128 Kbps, or 192 Kbps for music or more complex audio.

Also…take a peek at this @Laura delli Paoli:

**

Transcoder Decode/Audio/Parameters long parameter default.scaleChannels (0:do nothing, 2:force to stereo) which enables the AAC and MPEG-1 Layer 1-3 decoders to force a mono stream to stereo as part of decoding process (addresses the issue where source streams may switch between mono and stereo mid-stream)

https://www.wowza.com/docs/how-to-force-aac-and-mp3-audio-decode-to-be-stereo-when-using-transcoder

If you STILL have issues, then let’s get it working for you in a support ticket. We are happy to help find the issue quickly.

https://www.wowza.com/support/open-ticket

My file is 256Kbps. With the same wowza application I successfully stream file with a 96kbps bitrate without transcding.

Thanks for that info. It all depends on your CPU capacity and your bandwidth available. If you need any more help, feel free to send a support ticket and we can guide you after looking more closely at your files.

Hi, I upgraded the VM where Wowza run to 8 GB ram and 4 CPUs and I’m still unable to play a 2.7 GB file. Moreover I tried with a smalle file (just less that 2GB) and It plays succesfully (also with 2GB RAM).