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.
Alles anzeigen
Idealerweise möchte ich das später als Skript an TVHeadend als post processing geben.
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.
Quellcode
- ./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
Idealerweise möchte ich das später als Skript an TVHeadend als post processing geben.