Video Encoding

advertisement
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
Production Truck
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,itunes store
Nvidia NVCUVID


a video codec sdk
Allows programmer
to parallelize video
encoding across
PEs on GPU
Nvidia NVENC



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
Download