Hacker Newsnew | past | comments | ask | show | jobs | submit | _sqkn's commentslogin

For livestreaming, NVIDIA (I believe AMD as well actually) graphics cards offer NVENC, which is a hardware HEVC encoder that can easily meet most people's needs.


The problem with livestreaming using hardware encoders is that the quality is utter garbage compared to software encoders, which means that given the bitrate available to you it may in fact be so ugly to be unwatchable.

A typical home DSL connection does not have enough bitrate to produce a quality mid-to-high resolution stream using NVENC, and even if you have a good connection, Twitch caps out at 3500kbps. The gap between something like NVENC/QuickSync and x264 is enormous.

At the very least, HEVC's huge bitrate/quality advantage over H264 will help it here, but when it comes to GPU encoders they will just be attempting to catch up with what you can get right now using x264.

Live streaming quality aside, though, you are right that the hardware will make it possible for people to do live streaming in scenarios where they previously would've been unable to, because you can combine a hardware HEVC encoder with a low bitrate connection and at least get something watchable.


Do you have data to back that up? I've found that when comparing SSIM and PSNR, NVENC's H.264 encoder is able to quite handily beat x264 for quality while targeting the same bitrate and encode speed. This was using a Gen 2 Maxwell GPU and comparing to a mid range Xeon.


It's possible software is the problem here. I have certainly never seen a way to get acceptable quality out of NVENC in common consumer game streaming software like OBS, and I've tried at length including adjusting profiles and tuning settings. It doesn't help that NVENC's documentation is atrocious.

NVENC also mishandles color spaces considerably (full vs limited range), which is a big handicap to begin with.

SSIM and PSNR aren't really the question here either, the issue is totally perceptual. I do not doubt that on a speed basis NVENC is competitive or outperforms, the question is simply whether you can deliver something watchable that hits under the user's upstream cap. If you look at average twitch streams of even mundane video games, many of them are borderline unwatchable - this is a pervasive problem :-) Kicking butt on image-wide SSIM and PSNR won't be much use if all the text in a story-driven game is unreadable due to artifacts.


Ah, that might indeed be it. I was working with ffmpeg so the configuration was rather easy and transparent.


I've used consumer embedded hardware encoders in the past (quicksync, nvenc) using OBS, and they simply could not get enough quality at a streamable bitrate. They were however amazing to capture (near-)lossless recordings of an application at no performance cost.

I assume that dedicated hardware encoders/capture cards do not suffer from this, but it would be amazing of high quality streaming becomes available to the public without requiring dedicated hardware.


QuickSync works but it's also worth noting that NVIDIA supports it on their second generation Maxwell cards.


All Maxwell cards, actually.

GM107, GM204, and GM200 all use a combination of a GPU shader kernel with some CPU assistance. GM206 (in the GTX 960 and 950) implements a newer revision of the PureVideo decoder that allows H265 to be decoded directly on the video engine.

https://en.wikipedia.org/wiki/Nvidia_PureVideo


Let's be careful about decoding vs. encoding.


There was a talk on it a while ago at a VideoLan conference: https://www.youtube.com/watch?v=g7fVwIZBW8Q


Encoder has a massive impact on results: http://www.compression.ru/video/codec_comparison/h264_2012/m...

This actually goes for most codecs, including both audio and video (have a look at the AAC encoders at http://soundexpert.org/encoders-128-kbps )


Moscow State University has a more broad test (including VP9) here if you're interested: http://compression.ru/video/codec_comparison/hevc_2015/MSU_H...


ffvp9 is indeed awesome. There was a talk at VideoLan Dev Days about the development. They outperform the reference decoder and optimized basically everything they could touch.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: