hi,
so I want to use tvheadend with vaapi support on ubuntu 20.04.1. Ubuntu is running on ESXi VMware 7.0.
I got vaapi working and i can use it with ffmpeg. intel_gpu_top shows me, the system is using the intel gpu for transcoding with ffmpeg.
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.9.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/media//lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_9
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.9 (libva 2.9.0.pre1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.3.pre (6fbca6ed)
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
ffmpeg version N-98978-g4cfe8123ea Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
configuration: --prefix=/opt/media/ --enable-shared --enable-vaapi --enable-gpl --enable-libx264 --enable-libx265
libavutil 56. 58.100 / 56. 58.100
libavcodec 58.101.101 / 58.101.101
libavformat 58. 51.101 / 58. 51.101
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
Hyper fast Audio and Video encoder
I want to build tvheadend with autobuild.
the autobuild always fails at ffmpeg step.
make -f Makefile.ffmpeg build
make[3]: Entering directory '/tmp/tvheadend'
cd /tmp/tvheadend/build.linux/ffmpeg/ffmpeg-4.1.5 && FFMPEG_PREFIX=/tmp/tvheadend/build.linux/ffmpeg/build/ffmpeg PKG_CONFIG=/tmp/tvheadend/support/pkg-config.ffmpeg ./configure --prefix=/ffmpeg --enable-static --disable-shared \
--disable-all \
--enable-gpl \
--enable-nonfree \
--extra-cflags="-I/tmp/tvheadend/build.linux/ffmpeg/build/ffmpeg/include -fPIE" \
--extra-libs="-L/tmp/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib -ldl" \
--pkg-config="/tmp/tvheadend/support/pkg-config.ffmpeg" \
--enable-openssl \
--enable-avutil --enable-avcodec --enable-avformat --enable-swscale --enable-avresample --enable-swresample --enable-avfilter \
--enable-libx264 --enable-libx265 --enable-libvpx --enable-libtheora --enable-libvorbis --enable-libopus --enable-vaapi \
--enable-protocol=file --enable-protocol=http --enable-protocol=https --enable-protocol=hls --enable-protocol=mmsh --enable-protocol=mmst --enable-protocol=rtmp --enable-protocol=rtmpe --enable-protocol=rtmps --enable-protocol=rtmpt --enable-protocol=rtmpte --enable-protocol=rtmpts --enable-protocol=ffrtmpcrypt --enable-protocol=ffrtmphttp --enable-protocol=rtp --enable-protocol=srtp --enable-protocol=tcp --enable-protocol=udp --enable-protocol=udplite --enable-protocol=unix --enable-protocol=crypto \
--enable-decoder=mpeg2video --enable-decoder=mp2 --enable-decoder=aac --enable-decoder=vorbis --enable-decoder=ac3 --enable-decoder=eac3 --enable-decoder=aac_latm --enable-decoder=opus --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=theora --enable-decoder=flac --enable-decoder=libvorbis \
--enable-encoder=mpeg2video --enable-encoder=mp2 --enable-encoder=aac --enable-encoder=vorbis --enable-encoder=flac --enable-encoder=libx264 --enable-encoder=libx265 --enable-encoder=libvpx_vp8 --enable-encoder=libvpx_vp9 --enable-encoder=libtheora --enable-encoder=libvorbis --enable-encoder=libopus --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=vp8_vaapi --enable-encoder=vp9_vaapi \
--enable-demuxer=mpegts --enable-demuxer=matroska --enable-demuxer=hls --enable-demuxer=flv --enable-demuxer=live_flv \
--enable-muxer=mpegts --enable-muxer=matroska --enable-muxer=mp4 --enable-muxer=ogg \
--enable-bsf=h264_mp4toannexb --enable-bsf=hevc_mp4toannexb \
--enable-filter=yadif --enable-filter=format --enable-filter=hwupload --enable-filter=hwdownload --enable-filter=scale --enable-filter=null --enable-filter=aresample --enable-filter=anull --enable-filter=deinterlace_vaapi --enable-filter=scale_vaapi \
--enable-hwaccel=mpeg2_vaapi --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-hwaccel=vp9_vaapi \
--disable-programs \
--disable-doc \
--disable-htmlpages \
--disable-manpages \
--disable-podpages \
--disable-txtpages
ERROR: vaapi requested but not found
Is there a way to tell tvheadend autobuild to use the system ffmpeg?
or how can i adjust autobuild just to use the variables i want to use?
I did try the following and this was working.
cd /tmp/tvheadend/build.linux/ffmpeg/ffmpeg-4.1.5
FFMPEG_PREFIX=/tmp/tvheadend/build.linux/ffmpeg/build/ffmpeg PKG_CONFIG=/tmp/tvheadend/support/pkg-config.ffmpeg ./configure --prefix=/ffmpeg --enable-shared --enable-vaapi --enable-gpl --enable-libx264 --enable-libx265
thanks