Audio delay on android/ no audio on PC client


#1

Hello again,
I have set up a DLINK DCS942L with RTSP.

Here are the details:

  1. At the camera
    Video profile 1
    Encode type H.264 (MPEG4 is optional)
    RTSP URL = play1.sdp

  2. In the server
    DLINK DCS942L
    RTSP stream 1

These are the results:

  1. Direct link using web browser (after camera downloads a small plug-in): synchronous sound in the server.
  2. Connect via Netcam Studio client on the same sever as connect by browser. Enable audio: no sound.
  3. Connect by Android client in smartphone: 1 second of sound after 10 second delay, then after 30 seconds delay, continuous sound but 30 second delay.

Am I doing something wrong, or do you have any suggestions?

Thanks,
Dave


#2

Hi Dave,
You really picked my favorite camera ;). I have this camera myself and it only use AAC which sometimes is a problem for NCS. For some time ago a new free AAC was implemented in NCS that should work. Your results are probably fine and I do not see that you do anything wrong. I have an Edimax camera here and I get the sound correct in the windows client, but that is PCM. Do you have another cam with sound, but not AAC?

I have noticed that for h.264 the system have to work a lot and the audio comes last.

I just had a discussion in another topic with sound not working and it is tricky.

In my last post I did a test on Android and the web client in Chrome. Can you do that test and see what happens.
-Henrik


#3

Difficult to find something else except by special import.
I checked Chrome on Android, and there is no video for JPEG, MPEG and LIVE for any of the 30 cameras, and of course no sound for the DCS 942.
Native browser in Android shows all video cameras, and for the DCS942 in MPEG mode it has a longer than 30s audio delay, but Live mode has no video or audio at all.
Does that give a clue?

Dave


#4

Scratch that.
In chrome JPEG and MPEG works on all, and audio delay is about 4 seconds. Live doesn’t do anything.


#5

Ah, just tried again and only JPEG is working. MPEG and live streaming are not doing anything.


#6

Hi Dave,
I don´t know if must apologize or nut, but it works for me. I have tested cams with PCM audio h.264 with rtsp stream over tcp on 3 different computer systems. I have no cam with AAC at this location so I have to skip that. Also to get it synchonized mpeg4 and h.264 is the only way.
Running NCS 137 on an HP-server with 15 different cams with a CPU load of 95%, on a laptop with an intel i3 and on a simple computer with intel celeron. Live output stream is set to H264_AUDIO. I connected from and Android 4.4 with Chrome ver 52 to all systems and Live works fine. I also connected using the native browser to all systems and Live works fine. It take some extra seconds to get the Live stream running, but it works. I was thinking about a load problem for the ffmpeg, but the Live stream started faster on the over loaded HP since that uses a processor with threadding. The only thing I noticed is that to make the Live stream running it must look like this

The Play button is in the upper left corner. If the play button is in the middle of the video the stream did not start. This was reproducible on all systems.

The only thing I can offer now is that you make the stream available for me so I can login from the web client from my system. If so I can send you a PM with a private channel.

-Henrik


#7

Henrik,
You are welcome to log in…
Www.rakpasa-school.com:8100
User and password via pm!
Dave


#8

To summarize:
It works now and also LIVE stream in Android with Chrome and native Browser. Check to have the Settings for Live stream in H264_AAC.
-Henrik


#9

Henrik,
Thanks for making the newer version available; I updated to 1.3.7 and tested again.

There are now three settings for decoding/encoding:

  1. Decoding library:
    a) Internal software
    b) VLC software
    c) Hardware DXVA2
    d) Hardware Quicksync

  2. JPEG/MPEG quality 10-100%

  3. Streaming settings
    a) Theora x 3types
    b) WebM x 3 types
    c) H264 x 3 types.

For the following, I tested using LIVE feature of browser, and permanently H264_AAC streaming.
If I set Internal software, Android/Chrome has the same 30s delay Video to audio, and Android/Native cannot play.
If I set VLC software, Android/Chrome has sound for 10s, then video starts. However, after 32 seconds the stream shows 0:32/0:32 then stops. Android/Native shows first video frame only & no sound.
DXVA2 & Hardware_quicksync, same result as VLC.

So, Chrome is OK with VLC and hardware encoding, and H264_AAC, but it only runs for 32 seconds.

Hope this is useful.
Dave


#10

Hi Dave!
Thanks for your efforts and testing. However, I see that we have very different results. I focus on Decoding is Internal software and Streaming setting H264_AAC. This is in web client.

  • Android 4.4 and Chrome 52 LIVE: in my Android it can take up to 20 seconds before it streams, but video and audios are in synch. This runs as long as I like.
  • Android 4.4 and Chrome 52 JPEG: video start immediately. Audio comes after some seconds. Around 5 second delay between video and audio.
  • Android 4.4 and native browser 4.4 and JPEG: only video
  • Android 4.4 and native browser 4.4 and LIVE: take some time to start, but when streaming video and audio are in synch. This runs as long as I like.

I connected my Android to an AP with much lower signal strength and it worked as above.

I connected to you server again and stage 2 with the following results:

  • Android/Chrome JPEG: video start immediately. Audio after 2-3 seconds. I closed the connection after 2 minutes.
  • Android/Chrome LIVE: start streaming video and audio after about 55 seconds. This is natural since it has to buffer a lot more data for decoding. I closed connection after 2 minutes.
    So it seems not to be a server problem either. Maybe you should check the Android you are using?

-Henrik