120 likes | 322 Views
Volar Video a video encoding project. Our Customer. Volar Video in downtown lex Specialize in live event streaming Architect the software to make that happen. Team Members. Implement h.264 encoder for Nvidia CUDA and Nvidia NVENC Sam Morris: CUDA Derek Buchanan: NVENC
E N D
Volar Video a video encoding project
Our Customer • Volar Video in downtown lex • Specialize in live event streaming • Architect the software to make that happen
Team Members • Implement h.264 encoder for Nvidia CUDA and Nvidia NVENC • Sam Morris: CUDA • Derek Buchanan: NVENC • SDKs for the Volar client API • Steven Hornung • Anthony Saunders
Project Overview • Problem: • Current video encoding is performed through software and executed solely on the CPU. Doing so causes CPU to idle at 60% while encoding 720p video on a modern i7 processor. • Solution: • Implement an h.264 video encoder • Two proposed encoding methods: • Nvidia NVCUVID(general GPU computing) • Nvidia NVENC(dedicated VE hardware) • Create a command line interface • Gather performance metrics for analysis and comparison between the two
Hardware Requirements • Kepler-based GPU, GTX 760+ (NVENC) • G8x or higher GPU(NVCUVID) • Lots of RAM • Windows, Linux(optional) • Libraries (ffmpeg...)
Video Encoding • Video encoding is... • analog to digital signal processing • compression • performed by a 'codec' • very processor intensive • h.264(MPEG-4) advanced video coding • Most common video compression formats • ~2:1 compression ratio • Blu-ray, vimeo,youtube,itunesstore
Nvidia NVCUVID • a video codec sdk • Allows programmer to parallelize video encoding across PEs on GPU
NvidiaNVENC • NVENC enables software developers to access the high-performance H.264 hardware video encoder introduced in Kepler-class NVIDIA GPUs • By dedicating hardware to the encoding task, it also frees up CUDA cores and/or the CPU to be used for other compute-intensive tasks. • This hardware encoder is designed to encode 1080p video at 240 fps