VideoHelp Forum
+ Reply to Thread
Results 1 to 5 of 5
Thread
  1. Member
    Join Date
    Feb 2019
    Location
    turkey
    Search PM
    this is the question but i want to expand it a little bit.

    i'm making my tv series archive dual (all of them are mkv). not always web-dl to bluray but sonetimes audio doesn't fit even both videos are web-dl or bluray and sometimes even there is just 1 second difference between two videos. my way is first adjusting the begenning. then splitting the video when the syncronization fails. after splitting, you know, i'm having two parts. 1st one is synced. i give delay to the second part and merge them again. it goes like this 4-5 times (sometimes more) for a 45 min. video. this takes 3-5 hours to be done. this is a problem. it takes too much time. beside this as you know mkvmerge doesn't split the video exactly at the time you want. sometimes there are black screens for 3-4 second at a video during scene change. if i able to split at this point and give delay, everything is ok. but if mkvmerge splits 5-10 second after that black screen, i mean during normal playback and if i have to give +, - 500ms or 1 second delay, an annoying halt occurs. and with this way, sometimes the original sound gets out of sync. so, is there an easy, shorter and better way that prevents this halt?
    Quote Quote  
  2. Compare the 2 sources via MediaInfo ("View"->"Text"). What is the framerate of the videos? Often one source is 25 fps ("PAL-Speedup") while the other is 23.976 fps.

    Then usually you adapt, e.g.:
    Code:
    eac3to "25fps_source.mkv" "23fps_output.ac3" -25.000 -changeTo23.976
    Then afterwards you mux your video with the convert audio using mkvtoolnix. No splitting, just maybe one delay adjustment. (This doesn't work in every case, e.g. not if you have cinema cut vs director's cut.)
    Quote Quote  
  3. Member
    Join Date
    Feb 2019
    Location
    turkey
    Search PM
    Thanks but i already check videos fps and make them same (also sound files) if there is a difference. beside dc, tc or other versions i always check the beginnings. you know, sometimes there are different film producers commercials at the beginnig of the same video. and at tv series there may be "previously" part etc. i'm talking about of a situation that the video is completely same, sound and video fps's are same. here is an example. bluray episodes of supernatural are all same with my bdrip version (fps, beginning and the end of video) but there is just 1 second difference between them. after i adjust and fit the beginnig, i'have to split an episode 4- 5 times again at every 8-10 minutes and sync every part again for just that 1 second difference. delay always changes. it can be -300 for a part of the video while +500 for another part.

    i just think of this, is there a program that can cut ac3 and dts files as milisecond? if i can do this, i will be able to split the video whenever delay is necessary, seperate the audio file, cut -300ms, -700ms or whatever it is and mux them...
    Last edited by cokzor; 18th Mar 2019 at 12:36.
    Quote Quote  
  4. Theoretically you can use mkvtoolnix. See mkvmerge's --split options (also available in the GUI).
    For raw ac3 and dts files there is also delaycut.

    Note that you cannot cut with 1 ms accuracy. AC3 and DTS frames have certain lengths. (At 48 kHz one AC3 frame is 32ms, one DTS frame is 10.67 ms)
    Quote Quote  
  5. If you don't mind re-encoding the audio, you can do it with Avisynth.

    This is similar to a script I was using to edit audio recently, matching up the "D" audio with the "A" video.

    Code:
    A = FFVideoSource("E:\movie1.mkv")
    B = A.DisplayPosition()
    C = FFVideoSource("E:\movie2.mkv").DisplayPosition()
    D = FFAudioSource("E:\movie2.mkv")
    E = BlankClip(D)
    
    D.AudioTrim(0, 94.2)\
    +E.AudioTrim(0.0, 3.003)\
    +D.AudioTrim(94.2, 631.15)\
    +E.AudioTrim(0.0, 3.003)\
    +D.AudioTrim(631.15, 1257.8)\
    +E.AudioTrim(0.0, 3.003)\
    +D.AudioTrim(1257.8, 0)
    
    F = Last
    G = StackVertical(B,C)
    H = AudioDub(G, F)
    I = AudioDub(A, F)
    
    # Return F     # output just the edited audio
    # Return H     # output the stacked video and edited audio
    Return I       # output the edited audio with unstacked video and without DisplayPosition()
    For the above example clip "E" is silent audio with the same properties as the audio being edited (clip "D") which I was using to insert silence. The AudioTrims are specified in seconds/milliseconds. The two videos are stacked by the script and the DisplayPosition() function makes it harder to become confused when specifying the audio trims. It works well once you get used to it. I open the script with MPC-HC as it's easy to reload it as you go to check the audio editing/sync.
    Image Attached Thumbnails Click image for larger version

Name:	snapshot.jpg
Views:	94
Size:	110.6 KB
ID:	48450  

    Image Attached Files
    Last edited by hello_hello; 18th Mar 2019 at 16:24.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!