Log in

View Full Version : DV25 - avisynth frame accurate seeking


logicom
9th May 2015, 12:53
Hi,

in this thread : http://forum.doom9.org/showthread.php?t=167435
in this post: http://forum.doom9.org/showthread.php?p=1620319#post1620319

VFR have mentioned that seeking DV format requires special treatment in libavformat

Could someone explain to me please, how I could seek frame accurate trough DV format contained within MOV.
I have also original raw DV file, (rewraped MOV with audio re-sampled and separated has been made by ffmpeg)

VFR also mentioned this:

For frames structured by two separated pictures, LWLibavVideoSource will return correct frame and broken frame by turns.
In this case, you can delete broken frames by SelectEven() or SelectOdd().


I am asking about frame accurate seeking for the reason that MT QTMGC crashes once in a while, and I would like to keep it in a ffmpeg workflow
on the way that I correct (continue processing/deinterlacing) exactly where QTMGC breaks and then concatenate file chunks,
with some additional probing/batch scripting.

But I found using the following avs script and associated ffmpeg command that I cannot actually do frame accurate seeking if I use FFMpegSource2, LWLibavVideoSource or LSMASHVideoSource as input filter.
(or I don't know how to use it)

SetMemoryMax(1024)
SetMTMode(3,4)
FFMpegSource2("O:\TEST\Test1min.mov")
SetMTMode(2)
QTGMC(preset="slow", Tuning="DV-SD", EdiThreads=2, FPSDivisor=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last


ffmpeg -y -i deint.avs -ss %TIMECODE% -t %LENGHT% -c:v ffv1 -avoid_negative_ts 1 -g 1 -level 3 -an "%output%".avi

I was also trying with putting -ss befor and after input.

As you may notice, with ffmpeg I set ffv1 -level3 intraframe compression so output codec is intraframe losless,
and perfect for merging chunks, but I believe that seeking is giving me repetitions of some frames.

Could you please give me a tip how I could accomplish frame accurate seeking with avisynth and ffmpeg trough DV25 source.

Kind Regards.