Hallo,
ich nehme seit einiger Zeit mittels TVHeadend das LiveTV auf (.mkv), leider sind die Dateien etwas groß, sodass ich diese gern komprimieren möchte.
Mein Serversystem verfügt über eine Intel Braswell N3150 CPU, die eigentlich in der lage ist per Quicksync diese Arbeit auf die GPU auszulagern.
Auf die CPU möchte ich nicht ausweichen, weil diese dafür zu lahm ist, und ich habe auch keine Lust meinen Hauptrechner die Dateien bearbeiten zu lassen.
Der server hat kein X, da er headless betrieben wird. FFmpeg ist statisch mit h264 qsv Support kompiliert worden. Ich habe einige Optionen ausprobiert, komme aber nicht weiter.
Code
./ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -i /Aufnahmen/Transcendence.mkv -an -c:v h264_vaapi /Aufnahmen/Transcendence.mp4
ffmpeg version N-82997-g557c0df9a8-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Debian 5.4.1-4) 20161202
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
libavutil 55. 43.100 / 55. 43.100
libavcodec 57. 70.101 / 57. 70.101
libavformat 57. 61.100 / 57. 61.100
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 68.100 / 6. 68.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
[AVHWDeviceContext @ 0x402f080] No VA display found for device: /dev/dri/renderD128.
[vaapi @ 0x30e41e0] Failed to create a VAAPI device
root@serverhost:~/ffmpeg-git-20170104-64bit-static# ./ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i /Aufnahmen/Transcendence.mkv -vf 'format=nv12,hwupload' -acodec copy -vcodec h264_vaapi -qp 19 /Aufnahmen/Transcendence.mp4
ffmpeg version N-82997-g557c0df9a8-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Debian 5.4.1-4) 20161202
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
libavutil 55. 43.100 / 55. 43.100
libavcodec 57. 70.101 / 57. 70.101
libavformat 57. 61.100 / 57. 61.100
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 68.100 / 6. 68.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
[AVHWDeviceContext @ 0x46880c0] No VA display found for device: /dev/dri/renderD128.
[vaapi @ 0x30e41e0] Failed to create a VAAPI device
root@serverhost:~/ffmpeg-git-20170104-64bit-static# ./ffmpeg -vaapi_device /dev/dri/renderD128 -i /Aufnahmen/Transcendence.mkv -vf 'format=nv12,hwupload' -c:v h264_vaapi /Aufnahmen/Transcendence.mp4
ffmpeg version N-82997-g557c0df9a8-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Debian 5.4.1-4) 20161202
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
libavutil 55. 43.100 / 55. 43.100
libavcodec 57. 70.101 / 57. 70.101
libavformat 57. 61.100 / 57. 61.100
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 68.100 / 6. 68.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
[AVHWDeviceContext @ 0x52f0040] No VA display found for device: /dev/dri/renderD128.
[vaapi @ 0x30e41e0] Failed to create a VAAPI device
root@serverhost:/dev/dri# ls /dev/dri/
card0 controlD64 renderD128
Alles anzeigen
Idealerweise möchte ich das später als Skript an TVHeadend als post processing geben.