VideoHelp Forum
+ Reply to Thread
Results 1 to 12 of 12
Thread
  1. Member
    Join Date
    May 2016
    Location
    Lithopolis, OH United States
    Search Comp PM
    Let's say you are recording gameplay footage from Sega CD(or PlayStation) and it features some traditional animated cutscenes like this:

    https://www.youtube.com/watch?v=-Divwuuc2oI

    What should you do? And how can you make it HD for Youtube without quality loss?
    Quote Quote  
  2. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    First of all, record the video with a FAST && LOSSLESS codec
    (UT Video, HuffYUV, FRAPS, whatever).

    Then you may resize to "HD" with Spline64, Jinc, or perhaps PointSize, which was designed to upscale "pixel art".

    And by HD I mean "anything greater than 640 pixels of height", NOT "cropped to fit a widescreen"

    without quality loss
    Not possible. Resizing already means loss of quality, even though often it's possible to minimize it.
    Besides, Youtube always reencodes everything for lower bandwidth consumption :–/
    Last edited by El Heggunte; 11th Oct 2020 at 06:55. Reason: grammar
    "Programmers are human-shaped machines that transform alcohol into bugs."
    Quote Quote  
  3. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by Guernsey View Post
    Let's say you are recording gameplay footage from Sega CD(or PlayStation) and it features some traditional animated cutscenes like this:

    https://www.youtube.com/watch?v=-Divwuuc2oI

    What should you do? And how can you make it HD for Youtube without quality loss?
    If you'd like an assessment of what might be possible,
    upload a clip from your source
    Quote Quote  
  4. Member
    Join Date
    May 2016
    Location
    Lithopolis, OH United States
    Search Comp PM
    Here is the file, I uploaded to your site as opposed to Youtube this time.
    Image Attached Files
    Last edited by Guernsey; 13th Oct 2020 at 04:40.
    Quote Quote  
  5. Funny format. MediaInfo reports it as 640x480, but FFMS2 returns only 256x240.
    Also isn't 60fps overkill ?
    But it nicely shows what happens if you resize pixel art with normal resizers. (didn't really care about size and used crf18 and didn't touch the audio)
    Image Attached Files
    Last edited by Selur; 13th Oct 2020 at 13:33. Reason: added 5MB av1 file
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  6. Member
    Join Date
    May 2016
    Location
    Lithopolis, OH United States
    Search Comp PM
    So what would be ideal for me when it comes to those animated cutscenes?
    Quote Quote  
  7. Regarding video format choice: Sorry, don't do ideal. Personally I would use H.265 with 10bit for everything and so a few test encodes and until I known the right crf/bitrate for my usual content.
    Regarding resizer choice: that's your choice, I think one can clearly see the difference between point resize and other resizers. So it's a matter of what you want.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  8. Member
    Join Date
    May 2016
    Location
    Lithopolis, OH United States
    Search Comp PM
    I see. Can I get get the AVISynth or FFMPEG formula for those two at least?
    Quote Quote  
  9. Avisynth scripts I used are:
    Code:
    ClearAutoloadDirs()
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\LoadDll.dll")
    LoadCPlugin("I:\Hybrid\32bit\AVISYN~1\ffms2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\RgTools.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\mvtools2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\masktools2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\TIVTC.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\MedianBlur2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\Average.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\GRunT.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\nnedi3.dll")
    LoadDLL("I:\Hybrid\32bit\avisynthPlugins\libfftw3f-3.dll")
    Import("I:\Hybrid\32bit\avisynthPlugins\SMDegrain.avsi")
    Import("I:\Hybrid\32bit\avisynthPlugins\Zs_RF_Shared.avsi")
    Import("I:\Hybrid\32bit\avisynthPlugins\Srestore.avsi")
    SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
    # loading source: C:\Users\Selur\Desktop\clips\Test video.avi
    #  color sampling RGB32@8, matrix: pc601, scantyp: progressive, luminance scale: full
    FFVideoSource("C:\Users\Selur\Desktop\clips\TESTVI~1.AVI",cachefile="E:\Temp\avi_865ec41bedf9fa027397c36dee7342f8_853323747_1_0.ffindex",fpsnum=60,colorspace="RGB32")
    # current resolution: 256x240
    # lowering frame rate using srestore
    ConvertToYV24(interlaced=false, matrix="PC.601")
    srestore(frate=7.500,omode=6)
    # cropping
    Crop(0,8,0,-8)# 256x232
    # filtering
    # scaling to 1280x928
    nnedi3_rpow2(rfactor=8,cshift="GaussResize",fwidth=1280,fheight=928)
    # adjust color to YV12
    ConvertToYV12()
    return last
    and:
    Code:
    ClearAutoloadDirs()
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\LoadDll.dll")
    LoadCPlugin("I:\Hybrid\32bit\AVISYN~1\ffms2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\RgTools.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\mvtools2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\masktools2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\TIVTC.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\MedianBlur2.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\Average.dll")
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\GRunT.dll")
    LoadDLL("I:\Hybrid\32bit\avisynthPlugins\libfftw3f-3.dll")
    Import("I:\Hybrid\32bit\avisynthPlugins\SMDegrain.avsi")
    Import("I:\Hybrid\32bit\avisynthPlugins\Zs_RF_Shared.avsi")
    Import("I:\Hybrid\32bit\avisynthPlugins\Srestore.avsi")
    SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
    # loading source: C:\Users\Selur\Desktop\clips\Test video.avi
    #  color sampling RGB32@8, matrix: pc601, scantyp: progressive, luminance scale: full
    FFVideoSource("C:\Users\Selur\Desktop\clips\TESTVI~1.AVI",cachefile="E:\Temp\avi_865ec41bedf9fa027397c36dee7342f8_853323747_1_0.ffindex",fpsnum=60,colorspace="RGB32")
    # current resolution: 256x240
    # removing ghosting
    ConvertToYV24(interlaced=false, matrix="PC.601")
    srestore(frate=7.500,omode=6)
    # cropping
    Crop(0,8,0,-8)# 248x232
    # filtering
    # scaling to 1280x928
    PointResize(1280,928)
    # adjust color to YV12
    ConvertToYV12()
    return last
    most of the dependencies are due to sRestore and the fact that I don't use the auto-load functionality of Avisynth.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  10. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Well, I have no idea of why Selur included PointResize() in his tests...

    Maybe he thought PointSize() is just a glorified PointResize()...

    Just a supposition, of course
    "Programmers are human-shaped machines that transform alcohol into bugs."
    Quote Quote  
  11. I never tried PointSize(), haven't encoded pixel art content for ages and back when PointResize was the usual way to keep the pixelation,..
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  12. Member
    Join Date
    May 2016
    Location
    Lithopolis, OH United States
    Search Comp PM
    Thanks for the AVISynth. I guess will record as is but I will give those formulas a shot when I edit my videos. Thanks.
    Quote Quote  



Similar Threads

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