Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
This tip is worth an exclusive mention somewhere!
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Aktan, what do you think of new kkapture versions? https://github.com/rygorous/kkapture/commits/master
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Publisher
Joined: 4/23/2009
Posts: 1283
feos wrote:
Aktan, what do you think of new kkapture versions? https://github.com/rygorous/kkapture/commits/master
Commit was over a year ago, so I'm assuming still using the new way (name escapes me) and not detours. The new way wasn't working for me at all in the two applications I used .kkapture for (Mupen and PCSX). Sure we can try again if someone can compile the latest source on github, but I'm leaning towards no change in it working.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Or we could try working with the author in order to help us do our job with encodes. Jeez, if only I had MORE TIME. We're a constant source of new tests after all, and he seems somewhat active.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Publisher
Joined: 4/23/2009
Posts: 1283
feos wrote:
Or we could try working with the author in order to help us do our job with encodes. Jeez, if only I had MORE TIME. We're a constant source of new tests after all, and he seems somewhat active.
He is? His last commit being over a year ago seems otherwise. Also us moving away from Mupen and PCSX, I don't see a need really anymore?
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Aktan wrote:
Also us moving away from Mupen and PCSX, I don't see a need really anymore?
As a person who is doing reencodes of older TASes (and spamming those subscribed to TASVideos). It's better to improve on the things we have already for the future, and remove the issues that it brings forth to us. Like how feos created pcsx-13f which as its fair share of problems (like crashing every other minute, probably due to an OS thing). And the entire purpose of that was to correct and avoid using TAS Sound and instead use Eternal SPU. If I am able to run this without crashing, I would've updated all the PCSX-RR TASes single handedly. I went back to this TAS where the file that was being hosted no longer exists. The need is for those who actually need the change and update in software to better perform with the program. Like having pcsx-rr encodes being able to split at each screen switch.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Aktan, do you remember? In good old days we were using mkvmerge option for youtube HD aspect ratio correction. Back then we were also using somewhat low resolutions for HD. Then we switched to avisynth resizing for aspect ratio correction. It was reported to yield sharper picture, but I don't exactly remember. Then we switched to x8 encode and ARC with a youtube tag. After the latter method died, we reverted to the avisynth ARC method, which required reducing our ambitions with the file sizes again. But what if we switch to mkv way again? It would let us send x8, with less file size, giving the benefits of the 2 methods. Will it look worse than x8 + yt tag ARC? Will it look as good as it does right now? I could do some tests (feos versus youtube v2), but kinda busy.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Publisher
Joined: 4/23/2009
Posts: 1283
feos wrote:
Aktan, do you remember? In good old days we were using mkvmerge option for youtube HD aspect ratio correction. Back then we were also using somewhat low resolutions for HD. Then we switched to avisynth resizing for aspect ratio correction. It was reported to yield sharper picture, but I don't exactly remember. Then we switched to x8 encode and ARC with a youtube tag. After the latter method died, we reverted to the avisynth ARC method, which required reducing our ambitions with the file sizes again. But what if we switch to mkv way again? It would let us send x8, with less file size, giving the benefits of the 2 methods. Will it look worse than x8 + yt tag ARC? Will it look as good as it does right now? I could do some tests (feos versus youtube v2), but kinda busy.
Doing any AR flag is not a good method because YouTube would resize with whatever way to be AR corrected. So sending a MKV with AR flag should never be done. We are stuck now with what we are doing now, which is try to resize in multiples as best as we can to the correct AR with point resize.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
If I wanted to up a video of a pixel game like gba to youtube and I wanted to have 720p, what would be the best way to go about it? GBA's res is not a multiple of 1280x720. So with what I had been doing up until now, I would just use avisynth pointresize *5 and end up with 1200x800, and have Youtube downsize it. Or I could use a different resize to exactly 1280x720 prior to uploading. Which of the two is better? And if the second option: which avisynth resize would do the job?
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
You should never ever use uneven scale factor, this messes up the chroma subsampling badly. File size increases like that:
1x -  2827386 bytes
2x -  3683965 bytes
8x -  4453002 bytes
4x -  5305784 bytes
6x -  7823310 bytes
3x -  9590697 bytes
5x - 14752989 bytes
7x - 18514433 bytes
8x sounds like your best bet, not even too far from 2x in size.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Publisher
Joined: 4/23/2009
Posts: 1283
This is a hard question. Technically you want to be in control all resizes, so if you send a file and YT resizes, you really should resend a new file to match the resize of YT so YT doesn't do any resize. Since we know any scale factor will result in a resize by YT, I think the best bet is to resize larger than what YT will resize to, then downscale to YT's resolution. Basically point resize up, then probably Lanczos resize down. Edit: Basically we may have been sending all encodes to YT wrong all this time... oh crap... lol
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Ok I tried this on the 1 hour 30min long video and it came out as a 27 GB file.... (I expected 2 GB at most.) I used this:
pointresize(last.width*5,last.height*5)
lanczosresize(1080,720)
And
x264 --crf 0 --ref 16 --bframes 6 --keyint 1000 --colorprim bt709 --transfer bt709 --output-csp rgb
I then tried with a 200 frame long section -- 4.3 MB I removed the lanczosresize line -- 1.6 MB If my math isn't wrong that would still result in a 10 GB file for the full video. How can I reduce the file size down to 1 or so GB? I guess I'm going to have to use crf 33 or so. I thought a pixel game like gba could be better with crf 0.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
You haven't read my post, have you? http://tasvideos.org/forum/viewtopic.php?p=446376#446376
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Publisher
Joined: 4/23/2009
Posts: 1283
you should try --qp 10 -b 0 Edit: --crf 0 is really --qp 0, --crf 0 doesn't make much sense.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
feos wrote:
You haven't read my post, have you? http://tasvideos.org/forum/viewtopic.php?p=446376#446376
I actually have tried your *8 technique, but for some reason I scrapped it. Can't remember why. 200 frame long section: Using
x264 --crf 0 --ref 16 --bframes 6 --keyint 1000 --colorprim bt709 --transfer bt709 --output-csp rgb
*5 pointresize, lanczos(1080,720) -- 4.3 MB *5 pointresize -- 1.6 MB *8 pointresize, lanczos(1080,720)-- 4.5 MB *8 pointresize -- 1.1 MB Using
x264 --crf 33 --ref 16 --bframes 6 --keyint 1000 --colorprim bt709 --transfer bt709 --output-csp rgb
*8 pointresize -- 0.41 MB Using
x264 --qp 10 -b 0 --ref 16 --bframes 6 --keyint 1000 --colorprim bt709 --transfer bt709 --output-csp rgb
*8 pointresize -- 0.34 MB --crf 33 seems slower than --qp 10 -b 0 and probably comes with more quality loss. So the latter seems best so far. If you have any further suggestions to change the x264 settings, let me know. Thanks!
Publisher
Joined: 4/23/2009
Posts: 1283
--bframes 16 isn't needed for --crf 0 since bframes don't exist on lossless. --bframes 16 also is pointless with --qp 10 -b 0 since -b 0 means NO bframes. --crf 33 is a lot worse quality than --qp 10. Please don't use --crf 0, it's really --qp 0. Oh, and change --keyint to infinite. Lastly, --output-csp should not be there. You're not going for RGB. It should be YV12 for YT.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I adjusted my settings to include your suggestions, but it increased the file size to 0.6 MB. I can't really tell if it means anything; the 200 frames segment is relatively low-motion. Thank you!
Publisher
Joined: 4/23/2009
Posts: 1283
MUGG wrote:
I adjusted my settings to include your suggestions, but it increased the file size to 0.6 MB. I can't really tell if it means anything; the 200 frames segment is relatively low-motion. Thank you!
I need more details, like what was the exact line and what resize factor? I'm assuming 8x?
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Your suggestion:
x264 --qp 10 -b 0 --ref 16 --keyint infinite --colorprim bt709 --transfer bt709
*8 pointresize -- 0.6 MB Previous method:
x264 --qp 10 -b 0 --ref 16 --bframes 6 --keyint 1000 --colorprim bt709 --transfer bt709 --output-csp rgb
*8 pointresize -- 0.34 MB I went ahead and encoded the full thing overnight with the previous method. Well it's still at 90% but it looks like it's going to be 2 GB, which is ok. I think for my purposes, this is good. If you can help bring it down further, feel free to make more suggestions. But otherwise, 2 GB is acceptable too. Thanks again
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
See my tests for 3D content on how different rate factors get processed by youtube. http://tasvideos.org/forum/viewtopic.php?t=18609 -qp 10 Sounds like an overkill if your res is high enough. I never checked the 2D content, but you could do it yourself if you want. tl;dr: youtube isn't going to preserve your -qp 10 even in 4K mode.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Publisher
Joined: 4/23/2009
Posts: 1283
Post your script, MUGG, I think you are downsampling to YV12 off.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
avisynth is
avisource("gba-clip.avi")
pointresize(last.width*8,last.height*8)
trim(2000,2200)
I just tried again:
x264 --qp 10 -b 0 --ref 16 --keyint infinite --colorprim bt709 --transfer bt709
and it's again 0.6 MB.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Upload that one, try qp 15, 20, 25, 30, download, see theno difference
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Publisher
Joined: 4/23/2009
Posts: 1283
MUGG wrote:
avisynth is
avisource("gba-clip.avi")
pointresize(last.width*8,last.height*8)
trim(2000,2200)
I just tried again:
x264 --qp 10 -b 0 --ref 16 --keyint infinite --colorprim bt709 --transfer bt709
and it's again 0.6 MB.
Yep, your script is wrong. Add the following at the end:
Language: avisynth

ConvertToYV24(matrix="Rec709", chromaresample="point") ConvertToYV12(matrix="Rec709", chromaresample="point")
Stovent
He/Him
Publisher
Joined: 8/23/2016
Posts: 165
Location: France
Hello, is it possible to open a .mp4 instead of a .avi ? And also what do I need to change to encode a DS movie ? Thanks for your answers
[17:37:00]<TheCoreyBurton> It's N64 - it's ALWAYS bad news.