fyhertz / libstreaming

A solution for streaming H.264, H.263, AMR, AAC using RTP on Android
Apache License 2.0
3.49k stars 1.08k forks source link

Malformed encode cannot be recognized by Wowza #156

Open ppamorim opened 9 years ago

ppamorim commented 9 years ago

Hi fyhertz.

I noticed that some devices, like Galaxy Ace 4 and Galaxy Young 2, decodes the video on a wrong way, only returns a black screen. We contact the Wowza support and they said:

The problem I was seeing yesterday is that Wowza Streaming Engine is seeing your stream as malformed from that particular device. That is why I suggested gathering the data of the non-working devices to see if there is an issue with certain devices or mobile carriers not allowing your app to encode the stream correctly. We know that other devices work great. I tested my Samsung S6 (Sprint) and it worked flawlessly.

Also, we know that VLC can play this back, however, VLC is much more forgiving to allow playback and will overlook/passover certain issues with an encoded stream/file.

In my debug logs yesterday, I was seeing that your timecode was out of order at times and that the video encode level was 5.1. Is there any way you could test your app on the non-working device with "main - level 4.1" to see if this resolves your issue? I could see where level 5.1 may not work as well on older devices/OSs.

The streaming works fine on Galaxy S4 Mini, LG G2 and Moto E. I don't know if it's a problem with the buffer of decoder. Well, I'm using the MediaCodec instead of MediaRecorder, H264. No exception was throwned. What I can do to change the encode level?