Recorded mp4 not playing on android

I’ve setup a rtp-live-record application. In the content folder there is a my.stream file. The .stream file contains an rtsp address to a second wowza server (rtsp://[ip]:1935/vod/mp4:[mp4_file].mp4).

The [mp4_file] is a h264 with aac.

I start my stream from the stream manager with mp4:my.stream

I get a my.stream.mp4 file, but my problem is that this file would not play on my android device.

If I use ffmpeg to give the file a new container (ffmpeg -i my.stream.mp4 -vcodec copy -acodec copy out.mp4) it does play on my android device.

When comparing the two mp4-files with the program MediaInfo, the only difference I can see is the Format profile and the Codec ID for the container.

The file that doesn’t work has:

Format profile: Adobe Flash

Codec ID: f4v

and the file that do work has:

Format profile: Base Media

Codec ID: isom

Is it possible to get Wowza to use a different Format profile and Codec ID for the container so the file directly will be playable on a android device?

//Mikael

Hi Mikael,

“Is it possible to get Wowza to use a different Format profile and Codec ID for the container so the file directly will be playable on a android device?”

No, I think you can only chose an .mp4 or .flv container. You can start your stream from the stream manager with flv:my.stream Just a guess there.

For whatever reason your android device prefers the “Kodak Base Media isom” container. You have several options. You can re-encode as you were, perhaps in conjunction with a Wowza module. You can play the files as a VOD stream on your Android, in an Andorid player using RTSP, or in your Android browser using RTMP and a flash client like the Wowza SimpleVideoStreaming example. If you’re copying the file over you can try using a different player.