CyberLink Community Forum
where the experts meet
| Advanced Search >
GoPro 10 HVEC requires rendering - why?
Reply to this topic
bottomturn [Avatar]
Newbie Private Message Joined: Jan 11, 2014 11:23 Messages: 10 Offline
[Post New]
I recently started shooting with a Hero 10 that uses HVEC compression. My prior Hero7 used h.264. I always shoot 1080 video at 60 fps. The bit rate for the h.264 files is 40000 and the bitrates for the HVEC files are nominally 44000, but they vary slightly. SVRT analysis of my h.264 video give me a usable profile that requires no rendering and results in super fast renders and no loss in quality. But the SVRT for the HVEC video is not usable and the renders produced by the profile analyer (custom profile of 1920x1080, 59.94 fps and a 44400 rate are excuciatingly slow and are lower quality than the original. I upgraded from PD15 to PD21 thinking that would fix the problem, but it did not. In fact, PD15 renders my HVEC files faster, although no better.

I'm no expert in video compression and I'm beginning to suspect that his might have something to do with variable frame rates. If so, is it possible to get lossless renders with HVEC in PowerDirector? Any thoughts on what, if anything, I might be doing wrong?
Reply
JL_JL [Avatar]
Senior Contributor Private Message Location: Arizona, USA Joined: Oct 01, 2006 20:01 Messages: 5563 Offline
[Post New]
Quote I recently started shooting with a Hero 10 that uses HVEC compression. My prior Hero7 used h.264. I always shoot 1080 video at 60 fps. The bit rate for the h.264 files is 40000 and the bitrates for the HVEC files are nominally 44000, but they vary slightly. SVRT analysis of my h.264 video give me a usable profile that requires no rendering and results in super fast renders and no loss in quality. But the SVRT for the HVEC video is not usable and the renders produced by the profile analyer (custom profile of 1920x1080, 59.94 fps and a 44400 rate are excuciatingly slow and are lower quality than the original. I upgraded from PD15 to PD21 thinking that would fix the problem, but it did not. In fact, PD15 renders my HVEC files faster, although no better.

I'm no expert in video compression and I'm beginning to suspect that his might have something to do with variable frame rates. If so, is it possible to get lossless renders with HVEC in PowerDirector? Any thoughts on what, if anything, I might be doing wrong?

Could be one of many things:
1) Bug in SVRT, there have been many
2) Clips may have highly variable bitrate, SVRT typically requires near constant bitrate within some margin
3) Clips may have highly variable framerate, SVRT does not work with this
4) You have multiple clips in the timeline, and the variability between clips of items 2 and/or 3 can cause SVRT to not be available

If the above SVRT violations occur, not much one can do. Sharing a sample clip which SVRT does not work on may yield some insight. MediaInfo of the file or online use of online MediaInfo https://mediaarea.net/MediaInfoOnline can give some insight into framerate and bitrate.

If you have to encode, a good high end GPU with H.265 hardware encoding often results in good quality and significant speed vs CPU encoding for most PC platforms.

Jeff
Reply
bottomturn [Avatar]
Newbie Private Message Joined: Jan 11, 2014 11:23 Messages: 10 Offline
[Post New]
Thanks for the reply - all my testing has been done using only a short clip - to no avail. On reflection, I think variable bitrate is more likely to be the culprit than variable framerate, but that is a decidedly uninformed opinion.

I've done some more testing and found that if I render in to h.264 instead of HVEC using the default 1080/60p 40Mbps setting, it renders quite quickly, but there is still some quality loss. The attached clip is a good example - snow scenes in flat light look really good in the native gopro file, but get blocky if any kind of rendering is done in PD, even with the highest quality settings in the profile.

I don't know why this would be a problem for PD - I'm down to just asking PD to string a bunch of HVEC video together taken at identical settings with no effects or transitions and I can't do it.
 Filename
GX010201.MP4
[Disk]
 Description
Sample clip
 Filesize
22068 Kbytes
 Downloaded:
10 time(s)
Reply
optodata
Senior Contributor Private Message Location: California, USA Joined: Sep 16, 2011 16:04 Messages: 8074 Offline
[Post New]
Thanks for sharing your clip. I also don't have SVRT available, but by using PD's built-in Profile Analyzer I was able to have PD create a custom profile and then produce the clip in <1 second. I can't tell the two clips apart when playing them one after another in VLC. Here are the settings I used:"""" I've attached the produced clip along with the custom profile (in case you have trouble getting the Profile Analyzer to work for any reason)
 Filename
bottomturn Profile.ini
[Disk]
 Description
copy + paste to "Profile.ini" if needed
 Filesize
2 Kbytes
 Downloaded:
13 time(s)
 Filename
Produce.mp4
[Disk]
 Description
produced to H.265 w/custom profile
 Filesize
22219 Kbytes
 Downloaded:
7 time(s)

This message was edited 1 time. Last update was at Jan 18. 2023 16:34



YouTube/optodata


DS365 | Win10 Pro | Ryzen 9 3950X | RTX 2070 | 32GB RAM | 10TB SSDs | 5K+4K HDR monitors

Canon Vixia GX10 (4K 60p) | HF G30 (HD 60p) | Yi Action+ 4K | 360Fly 4K 360°
Reply
bottomturn [Avatar]
Newbie Private Message Joined: Jan 11, 2014 11:23 Messages: 10 Offline
[Post New]
Fascinating -

I used your settings (I get the same with the profile analyzer) to make an H265 clip and it took 76 seconds to produce (4.3 second clip). Using the H264 setting from my post below, it took 7 seconds - one tenth the time. I did this three times just to verify. I can't really tell the difference between in the H264 and the H265. What the hell?!?

I have OpenCL turned on and hardware acceleration off. Turned on hardware acceleration and it took 75 seconds.

I have a bit of a minimalist system:

Windows 10, 64-bit
i5-7400, 16G RAM, 2Tb HD
GeForce GTX 760

p.s., I've only downloaded the Essentials content pack - that should not make a difference, right?




Quote Thanks for sharing your clip. I also don't have SVRT available, but by using PD's built-in Profile Analyzer I was able to have PD create a custom profile and then produce the clip in <1 second. I can't tell the two clips apart when playing them one after another in VLC. Here are the settings I used:"""""" I've attached the produced clip along with the custom profile (in case you have trouble getting the Profile Analyzer to work for any reason)
Reply
bottomturn [Avatar]
Newbie Private Message Joined: Jan 11, 2014 11:23 Messages: 10 Offline
[Post New]
Update - I see a similar discrepancy in PD 15. Take a bare H265 file and it takes almost 10 times longer to produce in its native format as it does to produce it as an H264 - that seems crazy. I'm looking at 4+ hours for a 15 minutes video.

Quote Fascinating -

I used your settings (I get the same with the profile analyzer) to make an H265 clip and it took 76 seconds to produce (4.3 second clip). Using the H264 setting from my post below, it took 7 seconds - one tenth the time. I did this three times just to verify. I can't really tell the difference between in the H264 and the H265. What the hell?!?

I have OpenCL turned on and hardware acceleration off. Turned on hardware acceleration and it took 75 seconds.

I have a bit of a minimalist system:

Windows 10, 64-bit
i5-7400, 16G RAM, 2Tb HD
GeForce GTX 760

p.s., I've only downloaded the Essentials content pack - that should not make a difference, right?





Reply
optodata
Senior Contributor Private Message Location: California, USA Joined: Sep 16, 2011 16:04 Messages: 8074 Offline
[Post New]
Your minimalist system is certainly part of the story. Can you please follow the directions here to create and share your DxDiag test results? That may give us some helpful info.
Reply
optodata
Senior Contributor Private Message Location: California, USA Joined: Sep 16, 2011 16:04 Messages: 8074 Offline
[Post New]
I should say it's the major part of this story. Although the GTX760 is missing from this matrix, it clearly doesn't have H.265 encoding so you'll always have to encode videos that way using the CPU, which is obviously vastly slower. You might want to consider upgrading your video card to one that supports H.265 4:2:0 NVENC from the nVidia matrix page, but in all honesty you'd be better off getting any level of newer computer as your 10-year-old system isn't really up to the task of video editing with modern codecs. Even a used 3 or 4 year-old system would run circles around your current one.
Reply
JL_JL [Avatar]
Senior Contributor Private Message Location: Arizona, USA Joined: Oct 01, 2006 20:01 Messages: 5563 Offline
[Post New]
Quote Update - I see a similar discrepancy in PD 15. Take a bare H265 file and it takes almost 10 times longer to produce in its native format as it does to produce it as an H264 - that seems crazy. I'm looking at 4+ hours for a 15 minutes video.

Not really crazy, H.265 is a much more compression efficient algorithm vs H.264, hence to achieve that higher level of video compression, it takes substantially more compute cycles. That's why my reference prior that one needs a good GPU with hardware encoding. Or, a very high end CPU to achieve anything similar time wise results with CPU encoding. Your GTX 760 does not support H.265 hardware encoding and i5-7400 is very weak for CPU based encoding. That's why you see your 4+ hrs for 15 minutes.

As for the reason SVRT is not functional, probably my item 2 referenced prior. This is a very small duration clip but the video only GOP based bitrate ranges from 10-55Mbps with a overall average of 38Mbps. That variable bitrate is high for functional SVRT based on my experience.

Jeff

This message was edited 1 time. Last update was at Jan 18. 2023 22:46

Reply
bottomturn [Avatar]
Newbie Private Message Joined: Jan 11, 2014 11:23 Messages: 10 Offline
[Post New]
Thanks all - this has been extremely helpful. I'll try my video processing to my son's much more current and powerful gaming box and see how things go. DxDiag is attached

But I still don't understand why any encoding is even necessary when processing a bare H.265 to produce a H.265 with same specs that the profile analyzer finds. And why can my GoPro pull off H.265 compression in real time while my Desktop PC is brought to it's knees?

Is HVEC even worth it in this age of cheap drive space? I can set the GoPro to record in H.264 - will that result in longer battery life and lower energy cost to process?

There is much I do not know.....

Quote

Not really crazy, H.265 is a much more compression efficient algorithm vs H.264, hence to achieve that higher level of video compression, it takes substantially more compute cycles. That's why my reference prior that one needs a good GPU with hardware encoding. Or, a very high end CPU to achieve anything similar time wise results with CPU encoding. Your GTX 760 does not support H.265 hardware encoding and i5-7400 is very weak for CPU based encoding. That's why you see your 4+ hrs for 15 minutes.

As for the reason SVRT is not functional, probably my item 2 referenced prior. This is a very small duration clip but the video only GOP based bitrate ranges from 10-55Mbps with a overall average of 38Mbps. That variable bitrate is high for functional SVRT based on my experience.

Jeff
 Filename
DxDiag.txt
[Disk]
 Description
 Filesize
97 Kbytes
 Downloaded:
14 time(s)
Reply
JL_JL [Avatar]
Senior Contributor Private Message Location: Arizona, USA Joined: Oct 01, 2006 20:01 Messages: 5563 Offline
[Post New]
Quote But I still don't understand why any encoding is even necessary when processing a bare H.265 to produce a H.265 with same specs that the profile analyzer finds. And why can my GoPro pull off H.265 compression in real time while my Desktop PC is brought to it's knees?

Because the encoding is performed in dedicated hardware, not software. Very easy to get 2-4x or more real time encoding with hardware, so the GoPro doing it real time is no significant challenge. Look what optodata had written, (he has like a Ryzen 9 3950X and RTX 2070), less than 1sec for your 4+ sec clip.

The profile analyzer does not mimic all features of the video, It simply pulls off fps, avg bitrate, framesize... from the file header, but does not follow GOP structure, transient bitrate, audio,...and so on. It can provide a reasonable starting point to replicate video quality in a file. Submit an inquiry to CL asking for H.265 SVRT support for your GoPro. A little late to the game with H.265 perhaps as already trending toward AV1 which PD does not support, at least yet.

Jeff
Reply
[Post New]
Quote I recently started shooting with a Hero 10 that uses HVEC compression. My prior Hero7 used h.264. I always shoot 1080 video at 60 fps. The bit rate for the h.264 files is 40000 and the bitrates for the HVEC files are nominally 44000, but they vary slightly. SVRT analysis of my h.264 video give me a usable profile that requires no rendering and results in super fast renders and no loss in quality. But the SVRT for the HVEC video is not usable and the renders produced by the profile analyer (custom profile of 1920x1080, 59.94 fps and a 44400 rate are excuciatingly slow and are lower quality than the original. I upgraded from PD15 to PD21 thinking that would fix the problem, but it did not. In fact, PD15 renders my HVEC files faster, although no better.

I'm no expert in video compression and I'm beginning to suspect that his might have something to do with variable frame rates. If so, is it possible to get lossless renders with HVEC in PowerDirector? Any thoughts on what, if anything, I might be doing wrong?

I checked SVRT here, I used your video clip, on the timeline it didn't turn green (svrt disabled)
I advanced to Produce; / Profile Analyzer / Save Profile see screenshot
Did not enable SVRT
So Edit Profile
Level type, I checked “High”
SVRT active, works
But encountering a simple FADE transition turns off SVRT until the end
This happens here with any video that turns on SVRT.
My old PC started calling HA for HVEC only after I started using Windows 10, now I use Windows 11 Using the same video card. Radeon RX570
[Thumb - profilesvrt.png]
 Filename
profilesvrt.png
[Disk]
 Description
 Filesize
161 Kbytes
 Downloaded:
4 time(s)

This message was edited 2 times. Last update was at Jan 24. 2023 08:50

Reply
JL_JL [Avatar]
Senior Contributor Private Message Location: Arizona, USA Joined: Oct 01, 2006 20:01 Messages: 5563 Offline
[Post New]
Quote I checked SVRT here, I used your video clip, on the timeline it didn't turn green (svrt disabled)
I advanced to Produce; / Profile Analyzer / Save Profile see screenshot
Did not enable SVRT
So Edit Profile
Level type, I checked “High”
SVRT active, works
But encountering a simple FADE transition turns off SVRT until the end
This happens here with any video that turns on SVRT.
My old PC started calling HVEC for HVEC only after I started using Windows 10, now I use Windows 11 Using the same video card. Radeon RX570

Looks like just some more SVRT bugs and anomalies. If you uncheck the "High" and toggle back to "Main", SVRT is still enabled, for the exact same settings it was unavailable prior. The timeline SVRT indicator never reflects a change in status.

Looks like just more bugs. Best option I see, as suggested prior, is for OP to ask for SVRT support for the GoPro 10 HEVC video from CL or simply reencode with better hardware.

Jeff
Reply
Reply to this topic
Powered by JForum 2.1.8 © JForum Team