Project

General

Profile

Actions

Feature #4443

closed

support vaapi for transcoding

Added by C vH almost 8 years ago. Updated over 6 years ago.

Status:
Fixed
Priority:
Normal
Category:
Transcoding
Target version:
Start date:
2016-05-28
Due date:
% Done:

100%

Estimated time:
(Total: 0:00 h)

Description

This was similar requested a few times but this is a different approach.

current situation:

Tvh supports only nvenc (for Nvida GPUs) for hw accelerated transcoding, QSV is supported but has no real world usability (you need to patch/recompile your kernel with outdated patches + sign in for SDK ...) and was widely dropped in favor of vaapi that is supported by every Intel and AMD CPUs that are not older then ~6+ years that include an gpu.

So basically every low end CPU like the popular J1900,N3150,J3455 that are even at commercial NAS systems (Synology...) would be able to handle easily 2-3 Streams at the same time, the latest generation could even transcode H265 in real time without an problem.

Vaapi is completely integrated at the latest ffmpeg, Linux distributions support it also widely (because you only need the GPU driver) and even Tvh ffmpeg is getting build with --enable-vaapi.

What is missing:
Vaapi is used via command line switches, you can't just build ffmpeg with support for it and it works. full howto

ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i "input file" -vf 'format=nv12,hwupload' -map 0:0 -map 0:1 -threads 8 -aspect 16:9 -y -f matroska -acodec copy -b:v 12500k -vcodec 264_vaapi "output file"

possible solutions:
- Tvh offers a way to specify the command line that is used for transcoding (user could tune it their self)
- Tvh adds a profile for vaapi (this could be problematic due the different systems with maybe different paths to dri render)
- redo the transcoding profiles or "merge" the codecs branch from here https://github.com/lekma/tvheadend/tree/codecs that is sadly not finished (but works) and was intended to pred to Tvh


Files

sb_sys_analyzer_linux.py (19.6 KB) sb_sys_analyzer_linux.py saen acro, 2017-08-23 13:06
putty.log (252 KB) putty.log full build process saen acro, 2017-08-23 15:49

Subtasks 1 (0 open1 closed)

Feature #3831: VAAPI Encoding via FFmpeg.Rejected2016-05-28

Actions
Actions

Also available in: Atom PDF