VideoHelp Forum




+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 44
  1. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Loading the script in VirtualDub, the video shows intermittent blockiness as it's stepped through.
    Turning off direct decoding in Preferences and allowing ffdshow to take over makes no difference.
    When the output is saved using the installed codecs - or an external codec - the same intermittent pattern shows.
    Neither DVD nor AVI clips behave this way.

    Feeding the script to MPC, same.
    In either scenario, when the feed is not reversed, there is no problem.
    Is it because it's a high resolution file or fast action or both;I tried resizing in the script but that made no difference.

    Code:
    AVCSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD_Track00.dga").reverse()
    Click image for larger version

Name:	Clipboard01.jpg
Views:	656
Size:	161.8 KB
ID:	17045


    General
    Unique ID : 211134710336940616268497285024418626123 (0x9ED710EB85049A65BD467FE06A47FA4B)
    Complete name : E:\Office clip\_mkv\GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv
    Format : Matroska
    Format version : Version 1
    File size : 53.2 MiB
    Duration : 2mn 14s
    Overall bit rate : 3 327 Kbps
    Encoded date : UTC 2009-11-30 19:41:06
    Writing application : mkvmerge v2.6.0 ('Kelly watch the Stars') built on Mar 24 2009 15:23:17
    Writing library : libebml v0.7.7 + libmatroska v0.8.1
    TITLE : G.I. Joe - The Rise Of Cobra Trailer
    TITLE/Url : http://www.gijoemovie.com
    COPYRIGHT : 2009 by PARAMOUNT PICTURES. All rights reserved. G.I. JOE and related characters are trademarks of Hasbro and are used with permission. 2009 Hasbro. All Rights Reserved.
    COMMENT : Encoded in DivX Plus HD for the DivX Plus Web Player

    Video
    ID : 1
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L4.0
    Format settings, CABAC : Yes
    Format settings, ReFrames : 12 frames
    Codec ID : V_MPEG4/ISO/AVC
    Duration : 2mn 14s
    Nominal bit rate : 3 200 Kbps
    Width : 1 280 pixels
    Height : 528 pixels
    Display aspect ratio : 2.40:1
    Frame rate : 23.976 fps
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.197
    Title : Main title
    Writing library : x264 core 79 r1342 e8501ef
    Encoding settings : cabac=1 / ref=12 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.0:0.2 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-3 / threads=8 / nr=0 / decimate=1 / mbaff=0 / constrained_intra=0 / bframes=3 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / wpredp=0 / keyint=95 / keyint_min=25 / scenecut=40 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=3200 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=20000 / vbv_bufsize=25000 / ip_ratio=1.40 / aq=1:1.00
    Language : English
    Default : Yes
    Forced : No

    Audio
    ID : 2
    Format : AAC
    Format/Info : Advanced Audio Codec
    Format profile : LC
    Codec ID : A_AAC
    Duration : 2mn 14s
    Channel(s) : 2 channels
    Channel positions : Front: L R
    Sampling rate : 48.0 KHz
    Compression mode : Lossy
    Title : English 2ch Stereo
    Language : English
    Default : Yes
    Forced : No

    Text #1
    ID : 3
    Format : UTF-8
    Codec ID : S_TEXT/UTF8
    Codec ID/Info : UTF-8 Plain Text
    Title : English
    Language : English
    Default : No
    Forced : No

    Text #2
    ID : 4
    Format : UTF-8
    Codec ID : S_TEXT/UTF8
    Codec ID/Info : UTF-8 Plain Text
    Title : French
    Language : French
    Default : No
    Forced : No

    Text #3
    ID : 5
    Format : UTF-8
    Codec ID : S_TEXT/UTF8
    Codec ID/Info : UTF-8 Plain Text
    Title : German
    Language : German
    Default : No
    Forced : No

    Text #4
    ID : 6
    Format : UTF-8
    Codec ID : S_TEXT/UTF8
    Codec ID/Info : UTF-8 Plain Text
    Title : Portuguese
    Language : Portuguese
    Default : No
    Forced : Yes

    Text #5
    ID : 7
    Format : UTF-8
    Codec ID : S_TEXT/UTF8
    Codec ID/Info : UTF-8 Plain Text
    Title : Spanish
    Language : Spanish
    Default : No
    Forced : No
    Quote Quote  
  2. try:
    Code:
    AVCSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD_Track00.dga")
    RequestLinear(rlim=50,clim=50) # comes with TIVTC
    reverse()
    if that doesn't help try ffmpegsource2 or LWLibavVideoSource instead of AVCSource.
    Quote Quote  
  3. When frames are requested out of order many decoders will have problems with codecs that encode frames out of order. They get "confused" and start making gross errors like that. If you can't get the decoder working you'll have to resort to reading the file linearly and saving to a lossless intermediate. Then reverse that.
    Quote Quote  
  4. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Thank you.
    AVCSource and ffmpegsource2 both give the same error in VirtualDub.
    (MPC displays the same error when opening the script).
    Also, can't locate the plugin LWLibavVideoSource


    Name:  Clipboard01.jpg
Views: 883
Size:  8.9 KB



    Originally Posted by Selur View Post
    try:
    Code:
    AVCSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD_Track00.dga")
    RequestLinear(rlim=50,clim=50) # comes with TIVTC
    reverse()
    if that doesn't help try ffmpegsource2 or LWLibavVideoSource instead of AVCSource.
    Quote Quote  
  5. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Originally Posted by jagabo View Post
    When frames are requested out of order many decoders will have problems with codecs that encode frames out of order. They get "confused" and start making gross errors like that. If you can't get the decoder working you'll have to resort to reading the file linearly and saving to a lossless intermediate. Then reverse that.
    Which scenario is more likely: AviSynth is presenting the errors to VirtualDub or VirtualDub is creating the problem.
    Quote Quote  
  6. Try

    Code:
    FFVideoSource("video.mkv", threads=1, seekmode=0)
    Reverse()
    Quote Quote  
  7. Originally Posted by poisondeathray View Post
    Try

    Code:
    FFVideoSource("video.mkv", threads=1, seekmode=0)
    Reverse()
    Yes, that might work. But it will be incredibly slow if the video is long.
    Quote Quote  
  8. Originally Posted by jagabo View Post
    Originally Posted by poisondeathray View Post
    Try

    Code:
    FFVideoSource("video.mkv", threads=1, seekmode=0)
    Reverse()
    Yes, that might work. But it will be incredibly slow if the video is long.

    It's 2min14sec if mediainfo is correct (post #1)

    Your lossless I-frame encode suggestion should definitely work (and I would use I-frame, not long GOP lossless for this)
    Quote Quote  
  9. Sad, I thought that AVCSource would use the same frame cache DGSource with Avisynth MT uses, but that doesn't seem to be the case, seekmode=0, with FFVideoSource like poisondeathray suggested could also help.

    LWLibavVideoSource is part of the LSMASHSource.dll -> https://forum.doom9.org/showthread.php?t=167435
    Quote Quote  
  10. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Originally Posted by poisondeathray View Post
    Try

    Code:
    FFVideoSource("video.mkv", threads=1, seekmode=0)
    Reverse()
    Many thanks;that worked with no blocking.
    It took 06:49 to process out of VirtualDub, without resizing, using the external mp4 codec.
    Quote Quote  
  11. How long did it take normally on your setup ? (encoding without threads and seekmode, but with reverse, resulting in the "blocky" result ?)

    As jagabo alluded to, the longer the clip duration, it becomes almost exponentially slower. There is a point at which encoding to a lossless I frame intermediate will be faster
    Quote Quote  
  12. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    It took almost 14 minutes with the original script as opposed to 6:42 with the last script.
    Quote Quote  
  13. Originally Posted by sambat View Post
    It took almost 14 minutes with the original script as opposed to 6:42 with the last script.
    ???? well I'm completely confused by that . Did you mean AVCSource() for the "original script" , or FFMpegSource2() or something else

    Are you sure the encoding settings, all other conditions etc.., audio encoding, were the same ?
    Quote Quote  
  14. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    The only difference is the scripts.

    AVCSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD_Track00.dga").reverse()

    Click image for larger version

Name:	Clipboard01.jpg
Views:	754
Size:	28.0 KB
ID:	17051

    FFVideoSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv", threads=1, seekmode=0).Reverse()

    Click image for larger version

Name:	Clipboard011.jpg
Views:	727
Size:	27.4 KB
ID:	17052
    Quote Quote  
  15. *gig* there are various reasons why AVCSource isn't recommend,...
    Quote Quote  
  16. Don't worry , it was only for curiosity

    What I meant to compare was

    FFVideoSource().Reverse()

    VS.

    FFVideoSource(threads=1, seekmode=0).Reverse()


    Because AVCSource and FFVideoSource are using different decoders
    Quote Quote  
  17. Because AVCSource and FFVideoSource are using different decoders
    not that different, AVCSource is based on an older libav version

    btw. threads=1 is probably not necessary nowadays,..
    Quote Quote  
  18. Originally Posted by Selur View Post
    Because AVCSource and FFVideoSource are using different decoders
    not that different, AVCSource is based on an older libav version
    This is true, In my experience the older libav version neuron2 uses is much slower, and (I think single threaded) . Even years ago, when people used AVCSource vs. DirectShowSource with ffdshow (libav) , DirectShowSource was much faster

    What else can account for sambat's observed ~2x speed difference (even when ffvideosource is using threads=1, seekmode=0 !!!!!!!)


    btw. threads=1 is probably not necessary nowadays,..
    Most of the time I would agree, but there are cases where you can demonstrate that this still makes a difference .
    Quote Quote  
  19. Most of the time I would agree, but there are cases where you can demonstrate that this still makes a difference .
    haven't encountered such a case for quite some time (but I'm mainly using ffmpegsource for MPEG-4 ASP/AVC content)
    -> got an example case?
    Quote Quote  
  20. Originally Posted by Selur View Post
    Most of the time I would agree, but there are cases where you can demonstrate that this still makes a difference .
    haven't encountered such a case for quite some time (but I'm mainly using ffmpegsource for MPEG-4 ASP/AVC content)
    -> got an example case?

    some interlaced avc transport streams (and even with threads=1, and other tricks like remuxing to mkv first, can still pose problems)

    For MPEG4-ASP, it usually doesn't matter in my experience, but someone was having problems the other day (it wasn't clear to me if the fix was from using threads=1, or if using the vanilla version of ffms2.dll vs. cplugin; I'm still unclear as to why he got the green frame with ffms2, I couldn't reproduce it here)
    https://forum.videohelp.com/threads/354878-Convert-AVI-to-MPEG4-AVC-always-2-lost-frames
    Quote Quote  
  21. interlaced content seems to be nearly always broken when ffmpegsource is used (no matter the thread count) and the other thread looks more like a version problem :P
    Quote Quote  
  22. Originally Posted by Selur View Post
    interlaced content seems to be nearly always broken when ffmpegsource is used (no matter the thread count)
    This is true but there are cases where it helps. There were examples in the FFMS2 thread.

    There are also cases where it helps with other types of files, a few posted on this board. I don't have them all archived, but you should do a search if you're still interested. Many of them had to do with seek corruption and certain ffms2 builds

    This one was actually from a thread at videohelp, I'm certain there are a few more, because I can remember them.
    http://code.google.com/p/ffmpegsource/issues/detail?id=74

    It was fixed in one of the newer revisions, but broken, then fixed again. Not sure what the current status is.

    PS. whenever there is a problem with FFMS2, first thing I do is try seekmode=0, threads=1.



    and the other thread looks more like a version problem :P
    I couldn't reproduce it with or without Cplugin..so I don't know what caused or fixed it...
    Quote Quote  
  23. And for interlaced AVC transport streams, DGNVTools is preferred, but alternative workaround is FFMBC lossless intermediate.

    FFMBC still handles interaced transport streams better than FFMPEG ; there was a FFMBC based FFMS2 compiled, but it doesn't have the same "magic" as FFMBC binary
    Quote Quote  
  24. I've seen that "insanity detected" many times with ffmpegsource. I didn't know about the threads=1 fix. I just switched to another decoder. Just today I had that problem. I tried threads=1 and it worked. Then I updated to a newer build. And no longer needed threads=1.
    Quote Quote  
  25. Originally Posted by jagabo View Post
    I've seen that "insanity detected" many times with ffmpegsource. I didn't know about the threads=1 fix. I just switched to another decoder. Just today I had that problem. I tried threads=1 and it worked. Then I updated to a newer build. And no longer needed threads=1.

    The "insanity detected" is a (fairly?) common example, but another one is seek corruption (macroblocking) which is sometimes fixed with threads =1

    It's hard to keep track of which version works, doesn't work. They keep on breaking/fixing things.
    Quote Quote  
  26. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Originally Posted by poisondeathray View Post
    Don't worry , it was only for curiosity

    What I meant to compare was

    FFVideoSource().Reverse()

    VS.

    FFVideoSource(threads=1, seekmode=0).Reverse()


    Because AVCSource and FFVideoSource are using different decoders

    03:55 and 06:13 respectively.
    Quote Quote  
  27. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Continuing on, I can't get audio unless I load it separately in VirtualDub.
    Converted the AAC to AC3, to no avail.
    There is no error message, but VirtualDub file information does not show audio.

    Code:
    a=FFVideoSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv", threads=1, seekmode=0).LanczosResize(640,264)
    b=FFVideoSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv", threads=1, seekmode=0).LanczosResize(640,264).Reverse()
    vid=StackHorizontal(a,b)
    #audio=ffaudiosource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv")
    audio=nicac3source("GIJoeTheRiseOfCobraTrailer-DivXPlusHD_Track01.ac3")
    audiodub(vid, audio)
    return(vid)
    Quote Quote  
  28. Originally Posted by sambat View Post


    03:55 and 06:13 respectively.

    Thanks, that's more in line with expectations



    Continuing on, I can't get audio unless I load it separately in VirtualDub.
    What about a simple script without reverse or filters? check info() , what does it say ?

    Code:
    vid=FFVideoSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv", threads=1, seekmode=0)
    aud=FFAudioSource("GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv")
    audiodub(vid,aud)
    info()
    Quote Quote  
  29. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Audio OK.

    Click image for larger version

Name:	Clipboard01.jpg
Views:	716
Size:	41.7 KB
ID:	17055
    Quote Quote  
  30. And vdub shows audio with that script loaded (file=>file information) ?

    If it does, add back the resize and reverse to vid , if audio is still ok, then add the 2nd video and stackhorizontal
    Quote Quote  



Similar Threads

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