VideoHelp Forum
+ Reply to Thread
Results 1 to 3 of 3
  1. Member
    Join Date: Dec 2013
    Location: PT
    Search PM
    Hi been using the forum for a few years but my time with a question has come, so I only registered now. Sorry for that guys

    That said my problem is: I have a captured FLV from a streaming website and when I have the completed file the timeline shows something like 6 days, 23h, etc when it actually has 5 or 6h. I can solve that by using FLVextract and then join the files together with mkvmerge.

    After this the video and audio length are okay but the audio is coming early so I had to go into mp3directcut to had 9.25s to the audio file and join them together again.

    Things were going fine until almost the end of the video. This is when I face the following: video goes normally and audio too, a still picture shows up (part of the captured stream, all fine here including length) and then the audio delay has to be shifted to 7.8s so everything matches.

    As the video (avc1) has keyframes I can't really cut and paste the video to add the extra 1.5s to the still image. The ideal is to at the precise point things doesn't match anymore I could shift the audio. A problem surfaces, the audio gap between part1 and part2, and that's when I tried to copy audio from part1 to part2 but everything gets messy and I still have delay.

    The goal here is to not re-encode the video/audio or at least not the video.

    Here is my file info:

    ID : 1
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : Main@L3.1
    Format settings, CABAC : Yes
    Format settings, ReFrames : 3 frames
    Codec ID : avc1
    Codec ID/Info : Advanced Video Coding
    Duration : 1h 29mn
    Bit rate mode : Constant
    Bit rate : 794 Kbps
    Nominal bit rate : 1 000 Kbps
    Width : 1 280 pixels
    Height : 720 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Variable
    Frame rate : 30.000 fps
    Minimum frame rate : 29.425 fps
    Maximum frame rate : 30.296 fps
    Standard : NTSC
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.029
    Stream size : 511 MiB (85%)
    Tagged date : UTC 2013-12-05 02:35:21

    ID : 2
    Format : AAC
    Format/Info : Advanced Audio Codec
    Format profile : LC
    Codec ID : 40
    Duration : 1h 29mn
    Bit rate mode : Constant
    Bit rate : 128 Kbps
    Channel(s) : 2 channels
    Channel positions : Front: L R
    Sampling rate : 44.1 KHz
    Compression mode : Lossy
    Stream size : 82.3 MiB (14%)
    Tagged date : UTC 2013-12-05 02:35:21
    Any help? I used avidemux/virtualdub/video to video/mp3directcut/yamb all with direct stream copy to not re-encode the video/audio
    Quote Quote  
  2. Member Budman1's Avatar
    Join Date: Jul 2012
    Search Comp PM
    My experience with stream capture has been that the sync can go in and out, depending on a lot of circumstances. A good way to see this is turn on the timecodes checkbox in FLVextract and scan thru the list that is saved. You will probably see that the codes vary but not in a constant .033/034, .040, etc. for normal frame rates.:
    # timecode format v2


    It can be a real bear trying to fit pieces in when audio and video drift badly on a captured stream. There may be a way to do this in one move, but without re-encoding its very hard. Good Luck!
    Quote Quote  
  3. Why extract the streams before remuxing into an MKV? You can simply open an FLV file with MKVMergeGUI and remux it, and if you do it that way any audio delay should automatically be used by MKVMerrgeGUI. Likewise if you simply append the original FLV files it should work. Any resulting gaps due to each file having a different audio delay or because the audio and video streams are of slightly different lengths should be handled correctly.

    I say "should" as I rarely work with flv files, but that's how it seems to work when remuxing/appending MKV/MP3/AVI with MKVMergeGUI so I'd assume the same applies to flv. It won't take long to test and it'll save you a lot of hassle if it does.
    Quote Quote  

Similar Threads