NAME

Media::Convert::AvSync - Helper module to fix A/V synchronization issues.

SYNOPSIS

use Media::Convert::Asset;
use Media::Convert::AvSync;

my $input = Media::Convert::Asset->new(url => $input_filename);
my $output = Media::Convert::Asset->new(url => $output_filename);
Media::Convert::AvSync->new(input => $input, output => $output, audio_delay => 0.1)->run();

DESCRIPTION

Media::Convert::AvSync is a higher-level helper module to correct audio/video synchronization issues.

It does this by instructing ffmpeg to read the input asset twice (once for audio, once for video), and to apply a time offset to the audio stream. This offset may be negative, in case audio precedes video.

Note that after A/V sync correction, the asset file will be reduced in length by twice the length of the correction value; this is because otherwise, in the case of audio preceding video, the resulting media file would end up with a snippet of audio with no video at the start, and one of video with no audio at the end (and vice versa for a correction value for video preceding audio).

ATTRIBUTES

The following attributes are supported by Media::Convert::AvSync:

input

The input asset. Must be a Media::Convert::Asset object.

output

The output asset. Must be a Media::Convert::Asset object.

audio_delay

The delay that should be applied to the audio in the input asset. Should be expressed in seconds; may be a fractional and/or negative value.

Postive values delay the audio; negative values delay the video.