Hello,
I have a question: If I'm using those settings to encode my HDR10+ video, will the video be able to play as HDR10 on device that support only HDR10 and not HDR10+ and also if it will play on device as HDR10+ that ar certified as HDR10+.
I don't have a device that can play HDR10 or HDR10+, I want o buy one, but I want to know if with those commands will allow me to play play the video on compatible HDR10 device.
In general: HDR10+ is backward-compatible to HDR-10
- I think max cll and max fall should also be specified for better color reproduction, but they should not be strictly necessary (afaik players should use mac cll 0 and max fall 1000 as fallback or use some auto tone magic).
- What might be a problem are the missing level&vbv settings. (especially since open gop is used) This is mainly for player compatibility not for color handling.
Other than that the settings should be fine.
Quote:I don't have a device that can play HDR10 or HDR10+, I want o buy one, but I want to know if with those commands will allow me to play play the video on compatible HDR10 device.
Since I personally don't have any HDR10(+) compatible hardware either I would recommend to create a file but it on a usb stick and if there's an 'offline' shop selling such a monitor/tv ask them if they could playback the file for you. (or create a sample and share it with some other folks who have the necessary hardware to test)
(23.10.2020, 20:08)Selur Wrote: In general: HDR10+ is backward-compatible to HDR-10
- I think max cll and max fall should also be specified for better color reproduction, but they should not be strictly necessary (afaik players should use mac cll 0 and max fall 1000 as fallback or use some auto tone magic).
- What might be a problem are the missing level&vbv settings. (especially since open gop is used) This is mainly for player compatibility not for color handling.
Other than that the settings should be fine.
Quote:I don't have a device that can play HDR10 or HDR10+, I want o buy one, but I want to know if with those commands will allow me to play play the video on compatible HDR10 device.
Since I personally don't have any HDR10(+) compatible hardware either I would recommend to create a file but it on a usb stick and if there's an 'offline' shop selling such a monitor/tv ask them if they could playback the file for you. (or create a sample and share it with some other folks who have the necessary hardware to test)
Cu Selur
Thank you for the replay!
I just wanted to make the encoder setting simple, but good for quality. I just used
I just want to let the encoder select the best level that is required for my video baste on the info from the video and the output of the video, also I read that open-gop is better for quality wish, source: https://streaminglearningcenter.com/arti...-know.html
The source of the video was: audio was passthrough all
General
Complete name : E:\20201017_145050.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (isom/mp42)
File size : 33.5 MiB
Duration : 11 s 198 ms
Overall bit rate : 25.1 Mb/s
Encoded date : UTC 2020-10-17 11:51:02
Tagged date : UTC 2020-10-17 11:51:02
com.android.version : 10
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 11 s 198 ms
Bit rate : 24.8 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 30.000 FPS
Minimum frame rate : 29.980 FPS
Maximum frame rate : 30.030 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.399
Stream size : 33.2 MiB (99%)
Title : VideoHandle
Language : English
Encoded date : UTC 2020-10-17 11:51:02
Tagged date : UTC 2020-10-17 11:51:02
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0050 cd/m2, max: 1000 cd/m2
mdhd_Duration : 11198
Codec configuration box : hvcC
And after encoded:
General
Unique ID : 172063719482437538947663698359491187433 (0x817244581B13016418B2B9FEB3A752E9)
Complete name : E:\Test HDR10+ dhdr10-opt.mkv
Format : Matroska
Format version : Version 4
File size : 5.51 MiB
Duration : 11 s 198 ms
Overall bit rate : 4 129 kb/s
Encoded date : UTC 2020-10-23 10:17:23
Writing application : mkvmerge v51.0.0 ('I Wish') 64-bit
Writing library : libebml v1.4.0 + libmatroska v1.6.2
Encoding Gui : Hybrid 2020.10.11.1
I'm trying to understand if is better to let it on unrestricted level so it can be selected automatically and without vbv.
But if vbv helps, how can I calculate to get --vbv-bufsize and --vbv-maxrate for a specific level?
Any suggestion for a better quality and compatibility are always good.
Thanks!
Quote:Like I wrote before: max cll and fall are missing there.
From what I read, I see that if in the source of the video maxcll is not prezent, better then put the wrong value, let it be 0 and use:
--hdr10
Along with:
--hdr10-opt
It seams that x265 can determinate the encoding level based on the resolution of the video, framerate.
So the level on my video was:
Quote:Main 10@L5@Main
After encoded on auto-detection it got:
Quote:Main 10@L4@Main
And if I look on the tabel from: https://en.wikipedia.org/wiki/High_Effic...and_levels I see that my video with FullHD resolution and 30 framerate it fits on level 4 the same level that has been chosen by the x265. Or maybe HDR10+ has another standard, a specific level only for HDR10, but I don't have information abaout that...
Quote:If you select a specific level Hybrid will automatically set the default vbv restrictions for that level.
After the first encode and seeing that my video fit in level 4, I can chose level 4 and Hybrid will do the rest, setting vbv for that level. So my question is, should I use vbv or not? What is the benefit in using it or not? I see that is a must for the internet content, it helps in streaming.
Quote:Like I wrote before: max cll and fall are missing there.
From what I read, I see that if in the source of the video maxcll is not prezent, better then put the wrong value, let it be 0 and use:
--hdr10
Along with:
--hdr10-opt
It seams that x265 can determinate the encoding level based on the resolution of the video, framerate.
So the level on my video was:
Quote:Main 10@L5@Main
After encoded on auto-detection it got:
Quote:Main 10@L4@Main
And if I look on the tabel from: https://en.wikipedia.org/wiki/High_Effic...and_levels I see that my video with FullHD resolution and 30 framerate it fits on level 4 the same level that has been chosen by the x265. Or maybe HDR10+ has another standard, a specific level only for HDR10, but I don't have information abaout that...
Quote:If you select a specific level Hybrid will automatically set the default vbv restrictions for that level.
After the first encode and seeing that my video fit in level 4, I can chose level 4 and Hybrid will do the rest, setting vbv for that level. So my question is, should I use vbv or not? What is the benefit in using it or not? I see that is a must for the internet content, it helps in streaming.
Thanks!
(24.10.2020, 19:23)Selur Wrote: Yes, if your source has no max cll/fall values, you can leave them out.
Quote:It seams that x265 can determinate the encoding level based on the resolution of the video, framerate.
Yes, if you to not set level&profile x265 will guess them (hopefully not only on resolution and frame rate).
Quote:So my question is, should I use vbv or not? What is the benefit in using it or not?
You should since it guaranties that the output will be compatible to the selected level&profile.
Quote:Main 10@L4@Main
is okay, if the player you want to use support it (which is to be expected since it's a common level/profile/tier combination-)
Cu Selur
Thank you for the prompt answer!
The irony is that I don't have a player, it. I plan on getting a TV which has support for HDR10+.
I just want to be prepared, and encode my video with x265 for making the video smaller with at the best quality keeping them compatible.
I have one more question for you. I don't have to much experience with x265.
My normal recorded video are in HEVC 8 bits, I want te encode them for making the video smaller with at the best quality. What is your suggestion to use x265 8bit or 10 bit?
Hight calculation precision means better compression.
So just for compression 12bit calculation precision would even be better, but downside there is that most hardware will not support this.
-> stick with 10bit
8bit does not make any sense to me when using H.265.
(different story with H.264 since there nearly hardware player supports 10bit)
(24.10.2020, 19:45)Selur Wrote: Hight calculation precision means better compression.
So just for compression 12bit calculation precision would even be better, but downside there is that most hardware will not support this.
-> stick with 10bit
8bit does not make any sense to me when using H.265.
(different story with H.264 since there nearly hardware player supports 10bit)
Cu Selur
Thank you for the advice.
And I want to thank you for the hard work you do for Hybrid, it's a great app. Lots of options, I have to do research and see how to use them.