Live Stream Recording Audio and Video Sync Issue

I have seen this issue being posted many times without any resolution . We are using Wowza 4.1 . We are recording within wowza application using LiveStreamReecordManager . I am already using startOnKeyFrame with StreamRecordParameter . But Still there is no difference . Any parameters suggested for application.xml are not making any difference either . We are doing mp4 record only . This issue is causing us trouble as recorded OD files are pretty much useless. Please look in to this ASAP .

Will really appreciate your timely input in this issue .

To provide more information , This happens only when Main profile is used . If Baseline is used then this doesn’t happen . We have also used following parameters with no success .

liveStreamRecorderUseMoreAccurateAudioTimecodes = false

recordWaitForVideoKeyFrame = true

streamRecorderStartOnKeyFrame = true

streamRecorderBackBufferTime

Has there been a solution yet? I am facing the same issue with live-record type of application.

Hi. I’m having the exact same problem described by sdabhi. Live stream is perfect, while recorded MP4 has A/V sync issues.

I’ve described my findings in details at Recorded MP4 - Audio out of sync in Chrome and Quicktime

Anyone else has any ideas? Thanks!

As a matter of fact, sdabhi, can you please confirm whether the archived file, when played on VLC or Media Player Classic, runs just fine? What about on Quicktime Player?

Thanks!

Helder

Can you give a bit more info on the known issue?

Is it specific to certain types of live encoders, codecs, profiles?

Hi pcurley,

Please open a new support ticket referencing this forum post. Our Engineering Team has identified an issue with some live-record recordings being out of lip sync and has a fix available that will be included with our next update. We would like to see if your situation matches this current known scenario or is a different problem.

If you could include a zipped copy of your conf/ and logs/ directories with this ticket, that will help us determine if this is a relevant fix.

Best regards,

Andrew

@Animaleante , That’s good . Although I don’t want to add an extra layer of conversion and wowza module must be able to record stream without this issue . With so many posts in forum I think it is really an issue and wowza should provide some input a way to fix it.

Any possibility to get some update from wowza team ?

Here is Wirecast settings shot . . I have tested this with our custom player which is built on top of OSMF and also here http://matbury.com/strobe/setup.html

Please consider this

  1. This does not happen with live stream at all . Only after recorded file .

  2. MP4 recordings has issue .

  3. We have used settings I already described above and we already have LiveStreamPacketizers installed.

  4. We are recording on wowza module as code below

String streamName = stream.getName();

IApplicationInstance appInstance = stream.getClient().getAppInstance();

IVHost vhost = null;

vhost = appInstance.getVHost();

ILiveStreamRecordManager recorder = recorders.get(streamName);

if (recorder != null) {

recorder.stopRecording(appInstance, streamName);

}

recorder = vhost.getLiveStreamRecordManager();

StreamRecorderParameters srp = new StreamRecorderParameters(stream.getClient().getAppInstance());

srp.outputPath = outputPath;

srp.outputFile = outputFile;

srp.segmentationType = IStreamRecorderConstants.SEGMENT_NONE;

srp.versioningOption = IStreamRecorderConstants.APPEND_FILE;

srp.startOnKeyFrame = true;

srp.recordData = true;

recorder.startRecording(appInstance, streamName, srp);

@Salvadore , Thanks for your suggestions, I will try it out. Although it confuses me that if Live stream has no issue with this encoder settings , how changing it will help with recorded file.

I just tried that and still it made no difference .

Anyone here can please provide direction ?

Tried that as well and it makes no difference . No matter what player I tried it with it has same sync issues , and that is because record file itself has problem .

Even tried opening a ticket . No help there either , was suggested just try out parameters that I already mentioned before which makes no difference .

I have tried VLC and it was off . Are you sending stream from wirecast ? I have tried all different parameters with no success so far .

I haven’t got much of help from forum or support tickets so far . But if it helps you I have used following parameters in your code or application.xml .

liveStreamRecorderUseMoreAccurateAudioTimecodes = false

recordWaitForVideoKeyFrame = true

sortPackets = true

sortBufferSize = 750 , 250

streamRecorderBackBufferTime = 2000

splitOnTcDiscontinuity = true

moveFirstVideoFrameToZero = true

versioning: overwrite / append

recordData = true

segmentationType : SEGMENT_NONE

Yes I have already sent wowza my application java code . Before weekend I was advised to try debugAACTimecodes and debugMP3Timecodes to make sure if we see sync issue in logs . I am going to try that now .

Tried debuggAAC and MP3 , result shows following so it looks like its not going above 1 . However recorded file is still out of sync . We also upgraded to wowza 4.2 and still its same issue .

tc[0]: 1894821796:1894821796:44100

tc[0]: 1894821819:1894821819:44100

tc[0]: 1894821819:1894821819:44100

tc[0]: 1894821842:1894821842:44100

tc[0]: 1894821866:1894821866:44100

Hello.

What are the encoders settings for audio and video codec?

Also, what player are you testing the recordings in?

Thank you.

Salvadore

It looks like your key frame interval is to low. I would try changing that from 8 seconds down to 2 seconds. So a key frame every 60 frames instead of every 240 frames.

Salvadore

Sorry, forgot to also suggest testing the recording with one of the VOD sample players that ship with Wowza.

Thank you,

Salvadore