bytedeco/javacv

Video and Audio in FFmpegFrameGrabber not same time

Open

#1058 aperta il 15 set 2018

Vedi su GitHub
 (7 commenti) (0 reazioni) (0 assegnatari)Java (1583 fork)batch import
help wantedquestion

Metriche repository

Star
 (6985 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Hi everyone,

I am recording Camera and Audio by FFmpegFrameGrabber and streaming to Facebook. FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("video=FaceTime HD Camera:audio=Headset Microphone (Cirrus Logic CS4208 (AB 128))"); Then I check video on my Facebook, Camera and Audio not same time. I tried setTimeStamp, but it doesn't work. This is setTimeStamp code:

while ((capturedFrame = grabber.grab()) != null)
{
            // Let's define our start time...
            // This needs to be initialized as close to when we'll use it as
            // possible,
            // as the delta from assignment to computed time could be too high
            if (startTime == 0)
                startTime = System.currentTimeMillis();

            // Create timestamp for this frame
            videoTS = 1000 * (System.currentTimeMillis() - startTime);

            // Check for AV drift
            if (videoTS != recorder.getTimestamp())
            {
                System.out.println(
                        "Lip-flap correction: " 
                        + videoTS + " : "
                        + recorder.getTimestamp() + " -> "
                        + (videoTS - recorder.getTimestamp()));

                // We tell the recorder to write this frame at this timestamp
                recorder.setTimestamp(videoTS);
            }
            recorder.record(capturedFrame);
}

Please help me fix this issue. Thank a lot of.

Guida contributor