Question / Help Still having trouble getting recording quality (flv)

keybounce

Member
So I'm trying to record with the "standard" flv recording.

I am asked to specify both a bitrate and a CRF. At this point, I'm wondering -- aren't those two different, and opposed, ways to specify quality / filesize?

Whether I have "-crf 20" in the x264 options, or 20 in the CRF field, it still uses the bitrate value.

===

I made two test recordings tonight. Both came out noticeably worse than I expected. Both were 854x480 minecraft cave explorations, at bitrate 3000. Both were Ultrafast.

Log file for the first showed ...
20:15:46: Output 'adv_file_output': Total frames: 32738
20:15:46: Output 'adv_file_output': Number of skipped frames: 3817275128 (1.16601e+07%)

Logfile for the second showed ...
20:31:58: Output 'adv_file_output': Total frames: 7847
20:31:58: Output 'adv_file_output': Number of skipped frames: 8 (0.10195%)

https://gist.github.com/647b14c36eda060c4a3a

I'm not sure if I should try going to better quality -- I'm already having skipped frames. I'm really having trouble understanding why/how, even iMovie can convert video slightly faster than real time (a 30 minute recording in about 25 minutes) and it generates videos around 3K with much better quality. (In fairness, I use iMovie at "best" temporal and medium-high quality, not fixed bitrate; from what I understand, better temporal quality corresponds to a slower preset, which just skips frames, or so it seems).
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Hm, looks I have a bug in the skipped frame reporting. You can probably safely ignore that.

Anyway, I think I saw you responding on another thread. That log file is the older log file where you were running at ultrafast and running at a very low scaled resolution (aka your settings are just poor).

If streaming I'd probably just set it to something like 1366x768 for your scaled resolution, then use veryfast preset.
 

keybounce

Member
I am ultimately trying to stream (and record) minecraft + facecam, so an 854x480 final output is all I need/want. It's this retina screen doubling that gets me (do you have any plans to do non-rentina screen capture?)

---

Meanwhile, how (or can I) use the crf factor to control recording size, with no bitrate restriction? I'm stepping through the presets, one at a time, to see where I start to get significant dropped frames (1/10th of 1% is not significant), and I've confirmed that veryfast stays around that level, and looks significantly better (despite being told before that I was barely handling ultrafast.)
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
For recording, you just turn off CBR, then it'll show the CRF value. You then set that to whatever value you prefer. For recording I'd probably set "buffer size" to 0 and ignore the bitrate, that way it'll encode entirely with the CRF value as the quantifying factor for quality/bit ratio rather than bitrate. I kind of like 18 as a general all-around middle ground of low size and high quality. The lower the CRF the higher quality you'll get, but in exchange for higher file sizes. I generally wouldn't go below 13 for most use cases, and values above 20 get noticeably lower quality.
 

keybounce

Member
Ahh. Yes, I turn off "CBR", and see the "CRF", but I still got my size right about the bitrate value. I've got buffer size now set to 0.

EDIT: Is there a good way to do non-retina screen capture? Even "Open in low resolution" doesn't do it.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Non-retina screen capture? I don't understand, is there something wrong specifically?
 

keybounce

Member
If a screen is set to "Looks like 1024x640", it is really 2048x1280, and the OS does pixel doubling on everything, unless either the app says "I can handle the higher pixel size", or text is being displayed and it's a font specifically re-coded for the higher pixels. By default, I think that's only ... was it Lucidica Grande? At least in 10.9.5, only one font came that way, not sure about 10.10.

But this means that if I'm doing display capture on my "1024x640" screen, it's really doing display capture on a 2048x1280 screen, and I have to downsample a 1708x960 region down to 854x480.

===

I seem to be unable to get the level of quality I'm looking for on a recording. I notice two things in the logs:
1. A complaint about the data not being aligned, possibly leading to a slowdown,
2. The desired size -- 854x480 -- is not a clean multiple, and it actually encodes something bigger.

Can either of these be causing a blur/loss of sharpness? This was CRF of 14, and (for example), Terminal does not give me sharp letters (Melno regular 14), and a bunch of bookcases in Minecraft for a library seem "soft" unless I'm looking at a bookcase that is practically in my face/next to me. (Those are just the biggest; in general, the landscape does not look nearly as sharp/clear).

To be clear: My goal of a recording is as input to an editor, so it will be getting a minimum of one, usually two more passes before being sent off.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
If the output is scaled, then it'll lose some quality and may appear blurred, especially at really low resolutions. I'm guessing that's what's happening in that case. You could just manually edit the resolution value in video settings and then stretch the image, I'm not entirely sure, I'd have to have a retina display to test with to know for 100% sure.
 
Top