VideoHelp Forum

+ Reply to Thread
Results 1 to 21 of 21
Thread
  1. Just a thought:
    Are there Avisynth/Vapoursynth filters to create artifacts? Like ringing, banding, makroblocking, drop-outs, blending, all those.

    Why?
    a. Because I was wondering why there are not that many machine learning stuff out there that can handle most of these 'usual' artifacts from bad captures or morons doing video editing&co and one reason might be that they simply lack content to train their networks against. From what I gather you usually use a 'good' source, then manhandle it and try to get your network to produce the good source out of the manhandled one. So I think it would help if one could produce such manhandled content from good sources.

    b. Because someone might want to create old/manhandled looking content for some other reason.

    Cu Selur

    Ps.: may be I'm just missing the right search terms to find such filters.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  2. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Some of those are due to faultily set and/or quite low bitrate encoding, so a "filter" would have to consist of a complete set of encode+decode. Possible to do, but lots of work to code for such a niche purpose when one could just as or even more easily just export to known encoder & decoder suites.
    In the past I have seen some similar things under the heading "convolving" filter...


    Scott
    Quote Quote  
  3. Create them yourelf by mishandling the footage across multiple video editors. I do this all the time out of the boredom
    Quote Quote  
  4. Technically all of these are possible to do in Avisynth. I might try to create a script that does it
    Quote Quote  
  5. @s-mp: the point is to do it in an automated fashion not manually.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  6. I've seen references in these forums to AviSynth scripts that make clean video look like VHS recordings. There are youtube videos about this too. Those may not accurately reflect real VHS artifacts though. Training an AI with them may not work for real VHS recordings
    Quote Quote  
  7. Originally Posted by jagabo View Post
    I've seen references in these forums to AviSynth scripts that make clean video look like VHS recordings. There are youtube videos about this too. Those may not accurately reflect real VHS artifacts though. Training an AI with them may not work for real VHS recordings
    This man talked about destroyed digital video, not destroyed analogue video
    Quote Quote  
  8. ChangeFPS(60, 1)
    AssumeFieldBased()
    weave()
    BicubicResize(320,240)
    BicubicResize(640,480)



    Then render with high compression
    Last edited by s-mp; 6th Sep 2021 at 04:34.
    Quote Quote  
  9. Does this work, Selur?
    Quote Quote  
  10. @s-mp: That causes some blended frames and blur + it resizes the input to 640x480. If that is what you intended, then yes it is something that could be used.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  11. I think changing colour settings or messing with contrast can cause banding. I am not sure tho
    Quote Quote  
  12. If you're starting with RGB you can create banding simply by converting to YUV and back.

    Code:
    # RGB 24source
    ConvertToYV12()
    ConvertToRGB24()
    Or you can convert to YUV, reduce the bit depth, the bring the bit depth back up.

    Code:
    # RGB24 source
    ConvertToYV24()
    #ColorYUV(cont_y=-128, cont_u=-128, cont_v=-128).ColorYUV(cont_y=256, cont_u=256, cont_v=256) # 7 bits
    #ColorYUV(cont_y=-192, cont_u=-192, cont_v=-192).ColorYUV(cont_y=768, cont_u=768, cont_v=768) # 6 bits
    ColorYUV(cont_y=-224, cont_u=-224, cont_v=-224).ColorYUV(cont_y=1792, cont_u=1792, cont_v=1792) # 5 bits
    ConvertToRGB24()
    But this type of reduction doesn't fully emulate the type of banding you get from over-compession. It would be better to just compress and decompress the video.
    Quote Quote  
  13. for some kind of artificial banding, where resize function in vapoursynth does not allow lower than 8bit could be used:
    Code:
    BITS = 6  # 1 to 7
    v = {7:4, 6:8, 5:16, 4:32, 3:64, 2:128, 1:256}
    downbits =           clip.std.Expr(f'x {v[BITS]} /')
    up_8bits_again = downbits.std.Expr(f'x {v[BITS]} *')
    up_8bits_again.set_output()
    Quote Quote  
  14. you can do haloing by sharpening footage a little bit
    Quote Quote  
  15. Had a look at https://gitlab.com/bg123/vapoursynth-vhs-fx/-/tree/master since I was wondering how they got the drop outs.
    Sadly the simply overlay an existing clip that is black and contains the drop-outs. :/
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  16. VHS filters are never accurate.
    Quote Quote  
  17. Can you eleborate what you mean by that?
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  18. Real VHS artefacts are random. VHS filters are not
    Quote Quote  
  19. There really isn't a reason why there can't be, both Avisynth and Vapoursynth provide random numbers/functions.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  20. Originally Posted by Selur View Post
    There really isn't a reason why there can't be, both Avisynth and Vapoursynth provide random numbers/functions.
    Because effect comes from an overlay that just repeats itself
    Quote Quote  
  21. Because effect comes from an overlay that just repeats itself
    In the script I mentioned above: Yes, but like I wrote there isn't a reason why it could only be solved this way.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  



Similar Threads