2400p .264 Oculus is pointless.
- Edited
Philip Yes, but the point is that for the 2400p encoded videos, the bitrate is set too low. Playing the 1920p HEVC in your Oculus will still look better than the 2400p AVC with too low bitrate.
In this example, the bitrate for the 2400p should be more in the range of 25-30Mb/s , preferably with CABAC enabled. And deblock (I don't know very well how the deblock settings actually work.)
I do know that in .265 the blocks can be bigger AND asynchronous. in 264 they are much smaller and all the same size.
Sadly the original files already come in 4:2:0, 4:2:2 would also be an option otherwise.
Found a good example as per illustration.
Full format: https://drive.google.com/file/d/1gNhTpLAjUGPfeQ7v3_1ClmaBsTDEsalK/view?usp=sharing
You are right, 2400p doesn't make sense for Oculus, it was created specifically for Oculus GO to reach its maximum H264 video resolution of 4800x2400 at 60FPS and at such a high resolution CABAC is not an option, we have to use VLC coder to achieve smooth playback.
The maximum bitrate of 15Mbps was chosen as a compromise between quality, Oculus GO internal storage capacity, and average user internet speed.
YUV420p is the only chroma subsampling that is supported by majority of hardware video decoders and we had to use it for all streaming files.
- Edited
root yes, but what's the point if it visually looks worse than 1920p (or 2048p) HEVC? (I can show you more examples if you want me to.)
It's not that I don't apreciate SLR is doing this specially for OGo users.
ie the 2400p I made for One Girl Eight Cocks plays perfectly fine on my OGo with CABAC, the 44Mb/s might be a bit overkill, 30Mb/s should be enough i think. settings:
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L6
Format settings : CABAC / 1 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 1 frame
Format settings, GOP : M=1, N=12
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 36 min 19 s
Bit rate : 44.0 Mb/s
Width : 4 800 pixels
Height : 2 400 pixels
Display aspect ratio : 2.000
Frame rate mode : Variable
Frame rate : 59.940 (60000/1001) FPS
Minimum frame rate : 59.920 FPS
Maximum frame rate : 59.960 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.064
Stream size : 11.2 GiB (100%)
Writing library : x264 core 157 r2935 545de2f
Encoding settings : cabac=1 / ref=1 / deblock=1:-2:-2 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=2 / keyint=12 / keyint_min=4 / scenecut=40 / intra_refresh=0 / rc_lookahead=12 / rc=crf / mbtree=1 / crf=21.0 / qcomp=0.80 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:0.50
Encoded date : UTC 2020-07-07 19:48:36
Tagged date : UTC 2020-07-07 19:48:36
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Codec configuration box : avcC
I still have it up on my Google Drive if you want to check yourself.
Edit: I didn't color code the text, did it by itself.
I wanna stress again that I'm not trying to pull you guys down or anything. I love SLR!
CABAC didn't work smoothly way back then when we introduced this resolution for Oculus GO, maybe they updated firmware, didn't test it.
Internal storage capacity is 64GB max, 15Mbps work well for scenes with not much movement.
Thank you for letting us know, we will test it and might change our encoding settings for Oculus GO.
- Edited
root Just for me personally I'm downloading (some) scenes in both versions to check which one I want to keep. There are cases where the 2400p does turn out better.
I just now ran into this one, and the transition between scenes very very clearly shows what I mean.
The blocky one is the 2400p, the better looking one is 1920p
Oh and yes, a while back there was a firmware update. I experiments with transpose=90 rotate=-90 in 2400x4800 (so 1:2) in .265 but none of the players support it, it did work in windows media player however. But not the VR apps or even VLC MPclassic on PC.
Rakly3 we've prepared a CABAC-version for some of our Oculus GO videos, try it, please:
https://s3.sexlikereal.com/tests/Go_CABAC/Oculus_GO_test.txt
Thanks!
Appreciate this discussion for us Oculus go owners.
While I understand the issue of quality is being considered right here, for the moment could someone advise which is actually the better format to download for max quality on Oculus Go, on balance? I don't particularly care about file size, meh to an extra GB here or there. I'm also not trying to be lazy - it's just that the issue seems murky enough to take quite a bit of time and effort to be making such a judgement calls across a range of examples, and I'm time poor at the moment.
Rakly3, would you mind estimating what percentage you think the HEVC 4K looks better than the Oculus Go AVC format, given the samples you've seen?
I would suggest streaming with SLR app
- Edited
Saortica Scenes with darker overall colors or stark contrasts I personally prefer the 1920p HEVC. Sometimes they are 2048p 2160p.
In brighter scenes it's less noticeable, the main advantage for choosing HEVC is, in most cases smaller filesize and lower bitrate. Which makes it easier for your network to handle if this would be an issue, potentially higher power usage with HEVC, Which by itself for me doesn't change much aside from the OGo shutting down faster on hot days. Mentioning this because I had this happen.
Now, I don't know if this is coincidence or not, because I don't really see a clear change in the metadata, but the past couple of days some 2400p are actually good. I think it's because of low complexity of the frames. Not an actuall setting. You can still see the difference if you know what to look for. But on the OGo with the video playing normally you don't see the artifacting yet do benefit from a slightly better sharpness because of more pixel filling.
According to the official numbers, you have full pixel saturation on the OGo at 5120x2560
As reference, 2048 is 4/5th saturation. (80%)
I'm also specifically talking about the OGo, The display in each headset impacts the picture differently, even if they would be the same resolution, there are other factors.
root I'm still checking, but I have an example almost ready.
It's possible imgur will remove these, though I put them as hidden.
All 3 images: https://imgur.com/a/AKIs4kY
1920p HEVC 10Mb/s High@L5.1 BT709
2400p AVC High@L6 CABAC: yes 12.5Mb/s
2400p AVC High@L6 no-CABAC 12.6Mb/s
- Edited
IMO there is a clear difference between 2400p no-CABAC and with-CABAC.
Though, still compared to the 1920p HEVC, they don't particularly are higher quality.
The bitrate for the 2400p is still too low imo.
Comparativly, (not exact numbers)
1920p HEVC 10Mb/s
"="
1920p AVC 20Mb/s
So basically 2400p AVC at 12.5Mb/s has less bitrate to work with than the 1920p, which is a double 'whammy' as the resolution is about 45% larger on top of that.
If I would have to pull a number out of my ass, I'd say you need at least 25Mb/s to make the 2400p AVC worthwile over the 1920p HEVC.
(I picked that part of the scene because it has a bit of everything that would be noticeable on the OGo, banding, blocking, artifacts, contrast & gradient)