Project

General

Profile

Difficulty to get MPEG-TS Spawn profile working

Added by Pieter Hooftman about 3 years ago

I'm trying to get Live TV channels transcoded to a lower bitrate to save bandwith. I know my Synology 918+ is capable of transcoding; transcoding in Jellyfin works flawlessly. But ticking the box 'hardware accelartion' in the WEBTV codec H264 doesn't reduce the CPU usage.

I created a MPEG-TS Spawn profile , pointing to a script file which contains
"ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"

I can tell the script is being called, but in the log i see that subscription to the live tv channel goes on and on, and TVHClient on my Android phone states 'cannot open file'.

A snippet of the logfile:

021-09-11 14:24:20.310 [ INFO]:subscription: 01BB: "HTTP" subscribing on channel "Veronica/DisneyXD HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "330MHz", provider: "CAIW Media", service: "Veronica/DisneyXD HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:20.312 [ INFO]:spawn: Executing "/bin/ash /volume1/public/h264aac.sh"
2021-09-11 14:24:20.393 [ INFO]:subscription: 01BB: "HTTP" unsubscribing from "Veronica/DisneyXD HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:20.607 [ INFO]:http: 10.0.0.138: using ticket 39c7a508869bb0f490badfe24731007518f87159 for /stream/channelid/2089427836
2021-09-11 14:24:20.607 [ INFO]:mpegts: 330MHz in Caiway DVB-C - tuning on Philips TDA10023 DVB-C #2 : DVB-C #0
2021-09-11 14:24:20.609 [ INFO]:subscription: 01BC: "HTTP" subscribing on channel "Veronica/DisneyXD HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "330MHz", provider: "CAIW Media", service: "Veronica/DisneyXD HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:20.610 [ INFO]:spawn: Executing "/bin/ash /volume1/public/h264aac.sh"
2021-09-11 14:24:20.749 [ INFO]:subscription: 01BC: "HTTP" unsubscribing from "Veronica/DisneyXD HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:20.951 [ INFO]:http: 10.0.0.138: using ticket 39c7a508869bb0f490badfe24731007518f87159 for /stream/channelid/2089427836
2021-09-11 14:24:20.953 [ INFO]:mpegts: 330MHz in Caiway DVB-C - tuning on Philips TDA10023 DVB-C #2 : DVB-C #0
2021-09-11 14:24:20.953 [ INFO]:subscription: 01BD: "HTTP" subscribing on channel "Veronica/DisneyXD HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "330MHz", provider: "CAIW Media", service: "Veronica/DisneyXD HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:20.954 [ INFO]:spawn: Executing "/bin/ash /volume1/public/h264aac.sh"
2021-09-11 14:24:21.094 [ INFO]:subscription: 01BD: "HTTP" unsubscribing from "Veronica/DisneyXD HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:21.305 [ INFO]:http: 10.0.0.138: using ticket 39c7a508869bb0f490badfe24731007518f87159 for /stream/channelid/2089427836
2021-09-11 14:24:21.307 [ INFO]:mpegts: 330MHz in Caiway DVB-C - tuning on Philips TDA10023 DVB-C #2 : DVB-C #0
2021-09-11 14:24:21.307 [ INFO]:subscription: 01BE: "HTTP" subscribing on channel "Veronica/DisneyXD HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "330MHz", provider: "CAIW Media", service: "Veronica/DisneyXD HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:21.308 [ INFO]:spawn: Executing "/bin/ash /volume1/public/h264aac.sh"
2021-09-11 14:24:21.382 [ INFO]:subscription: 01BE: "HTTP" unsubscribing from "Veronica/DisneyXD HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:21.586 [ INFO]:http: 10.0.0.138: using ticket 39c7a508869bb0f490badfe24731007518f87159 for /stream/channelid/2089427836
2021-09-11 14:24:21.588 [ INFO]:mpegts: 330MHz in Caiway DVB-C - tuning on Philips TDA10023 DVB-C #2 : DVB-C #0
2021-09-11 14:24:21.588 [ INFO]:subscription: 01BF: "HTTP" subscribing on channel "Veronica/DisneyXD HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "330MHz", provider: "CAIW Media", service: "Veronica/DisneyXD HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:21.588 [ INFO]:spawn: Executing "/bin/ash /volume1/public/h264aac.sh"
2021-09-11 14:24:21.827 [ INFO]:subscription: 01BF: "HTTP" unsubscribing from "Veronica/DisneyXD HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:22.128 [ INFO]:http: 10.0.0.138: using ticket 39c7a508869bb0f490badfe24731007518f87159 for /stream/channelid/2089427836
2021-09-11 14:24:22.130 [ INFO]:mpegts: 330MHz in Caiway DVB-C - tuning on Philips TDA10023 DVB-C #2 : DVB-C #0
2021-09-11 14:24:22.130 [ INFO]:subscription: 01C0: "HTTP" subscribing on channel "Veronica/DisneyXD HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "330MHz", provider: "CAIW Media", service: "Veronica/DisneyXD HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-11 14:24:22.130 [ INFO]:spawn: Executing "/bin/ash /volume1/public/h264aac.sh"
2021-09-11 14:24:22.437 [ INFO]:subscription: 01C0: "HTTP" unsubscribing from "Veronica/DisneyXD HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"

Any help appreciated


Replies (18)

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

Variables location must not be in a bash script.

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

I put the contents of the script file directly into the 'Command line' box of the spwan profile, but i get the same error:

2021-09-12 10:28:53.367 [ INFO]:http: 10.0.0.138: using ticket 099c3cb61cbf19b1d4937efefcf452f0d5b49ed0 for /stream/channelid/1516611233
2021-09-12 10:28:53.369 [ INFO]:subscription: 0435: "HTTP" subscribing on channel "Net5 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "410MHz", provider: "CAIW Media", service: "Net5 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:53.370 [ INFO]:spawn: Executing "/usr/bin/ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"
2021-09-12 10:28:53.384 [ INFO]:subscription: 0435: "HTTP" unsubscribing from "Net5 HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:53.591 [ INFO]:http: 10.0.0.138: using ticket 099c3cb61cbf19b1d4937efefcf452f0d5b49ed0 for /stream/channelid/1516611233
2021-09-12 10:28:53.593 [ INFO]:subscription: 0436: "HTTP" subscribing on channel "Net5 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "410MHz", provider: "CAIW Media", service: "Net5 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:53.594 [ INFO]:spawn: Executing "/usr/bin/ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"
2021-09-12 10:28:53.617 [ INFO]:subscription: 0436: "HTTP" unsubscribing from "Net5 HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:53.789 [ INFO]:http: 10.0.0.138: using ticket 099c3cb61cbf19b1d4937efefcf452f0d5b49ed0 for /stream/channelid/1516611233
2021-09-12 10:28:53.791 [ INFO]:subscription: 0437: "HTTP" subscribing on channel "Net5 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "410MHz", provider: "CAIW Media", service: "Net5 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:53.791 [ INFO]:spawn: Executing "/usr/bin/ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"
2021-09-12 10:28:53.819 [ INFO]:subscription: 0437: "HTTP" unsubscribing from "Net5 HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.014 [ INFO]:http: 10.0.0.138: using ticket 099c3cb61cbf19b1d4937efefcf452f0d5b49ed0 for /stream/channelid/1516611233
2021-09-12 10:28:54.016 [ INFO]:subscription: 0438: "HTTP" subscribing on channel "Net5 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "410MHz", provider: "CAIW Media", service: "Net5 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.016 [ INFO]:spawn: Executing "/usr/bin/ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"
2021-09-12 10:28:54.039 [ INFO]:subscription: 0438: "HTTP" unsubscribing from "Net5 HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.219 [ INFO]:http: 10.0.0.138: using ticket 099c3cb61cbf19b1d4937efefcf452f0d5b49ed0 for /stream/channelid/1516611233
2021-09-12 10:28:54.222 [ INFO]:subscription: 0439: "HTTP" subscribing on channel "Net5 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "410MHz", provider: "CAIW Media", service: "Net5 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.222 [ INFO]:spawn: Executing "/usr/bin/ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"
2021-09-12 10:28:54.246 [ INFO]:subscription: 0439: "HTTP" unsubscribing from "Net5 HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.453 [ INFO]:http: 10.0.0.138: using ticket 099c3cb61cbf19b1d4937efefcf452f0d5b49ed0 for /stream/channelid/1516611233
2021-09-12 10:28:54.455 [ INFO]:subscription: 043A: "HTTP" subscribing on channel "Net5 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "410MHz", provider: "CAIW Media", service: "Net5 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.455 [ INFO]:spawn: Executing "/usr/bin/ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"
2021-09-12 10:28:54.477 [ INFO]:subscription: 043A: "HTTP" unsubscribing from "Net5 HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.688 [ INFO]:http: 10.0.0.138: using ticket 099c3cb61cbf19b1d4937efefcf452f0d5b49ed0 for /stream/channelid/1516611233
2021-09-12 10:28:54.691 [ INFO]:subscription: 043B: "HTTP" subscribing on channel "Net5 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "410MHz", provider: "CAIW Media", service: "Net5 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:28:54.691 [ INFO]:spawn: Executing "/usr/bin/ffmpeg -analyzeduration 1M -probesize 1M -i pipe:0 -bitrate 3000k -bufsize 3000k -c:v libx264 -preset superfast -c:a aac -c:s copy -f mpegts pipe:1"
2021-09-12 10:28:54.713 [ INFO]:subscription: 043B: "HTTP" unsubscribing from "Net5 HD", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

I am getting somewhere, this command appears to be invoking ffmpeg. Still no hardware decoding though but now i can start experimenting with hwaccel:

ffmpeg -i - -f mpegts -c:a copy -c:v libx264 -b:v 368k pipe:1

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Flole Systems about 3 years ago

Well you didn't specify any option related to hardware decoding or encoding, so it won't be used.

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

What hardware you want to use for hardware transcoding?

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

Yep, using
ffmpeg -init_hw_device vaapi=foo:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_device foo -i - -f mpegts -c:a copy -c:v libx264 -b:v 368k pipe:1

gives me this error, probably because the user running tvheadend does not have access to the renderD128 device..

2021-09-12 10:59:18.811 [ INFO]:subscription: 042B: "HTTP" subscribing on channel "NPO 3 HD", weight: 100, adapter: "Philips TDA10023 DVB-C #2 : DVB-C #0", network: "Caiway DVB-C", mux: "354MHz", provider: "CAIW Media", service: "NPO 3 HD", profile="mp4-h264-aac-spawn", hostname="10.0.0.138", username="camper", client="BSPlayer 3.0/10394"
2021-09-12 10:59:18.814 [ INFO]:spawn: Executing "/usr/local/tvheadend-testing/bin/ffmpeg"
2021-09-12 10:59:18.841 [ ERROR]:spawn: ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
2021-09-12 10:59:18.841 [ ERROR]:spawn: built with gcc 4.9.3 (crosstool-NG 1.20.0) 20150311 (prerelease)
2021-09-12 10:59:18.841 [ ERROR]:spawn: configuration: --target-os=linux --cross-prefix=/root/spksrc/toolchains/syno-apollolake-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --prefix=/usr/local/tvheadend-testing --extra-cflags=-I/root/spksrc/spk/tvheadend-testing/work-apollolake-6.1/install/usr/local/tvheadend-testing/include --extra-ldflags=-L/root/spksrc/spk/tvheadend-testing/work-apollolake-6.1/install/usr/local/tvheadend-testing/lib --extra-libs='-lxml2 -ldl' --pkg-config=/usr/bin/pkg-config --ranlib=/root/spksrc/toolchains/syno-apollolake-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib --enable-cross-compile --enable-rpath --enable-pic --enable-shared --enable-optimizations --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-fontconfig --enable-libass --enable-libbluray --enable-avresample --enable-libfdk-aac --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsox
2021-09-12 10:59:18.841 [ ERROR]:spawn: libavutil 55. 78.100 / 55. 78.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: libavcodec 57.107.100 / 57.107.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: libavformat 57. 83.100 / 57. 83.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: libavdevice 57. 10.100 / 57. 10.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: libavfilter 6.107.100 / 6.107.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: libavresample 3. 7. 0 / 3. 7. 0
2021-09-12 10:59:18.841 [ ERROR]:spawn: libswscale 4. 8.100 / 4. 8.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: libswresample 2. 9.100 / 2. 9.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: libpostproc 54. 7.100 / 54. 7.100
2021-09-12 10:59:18.841 [ ERROR]:spawn: Device creation failed: -12.
2021-09-12 10:59:18.841 [ ERROR]:spawn: Failed to set value 'vaapi=foo:/dev/dri/renderD128' for option 'init_hw_device': Cannot allocate memory
2021-09-12 10:59:18.841 [ ERROR]:spawn: Error parsing global options: Cannot allocate memory

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

Pieter Hooftman wrote:

Yep, using
ffmpeg -init_hw_device vaapi=foo:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_device foo -i - -f mpegts -c:a copy -c:v libx264 -b:v 368k pipe:1

gives me this error, probably because the user running tvheadend does not have access to the renderD128 device..

Start to use PRE button when citate from terminal.

What is this Video card you want to use?
With your minimalistic information, it's hard to understand your problem.

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

A ha...., trying to use the built in GPU in a Synology DS918+

admin@synology:~$ sudo /var/packages/tvheadend-testing/target/bin/ffmpeg   --enable-vaapi
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.9.3 (crosstool-NG 1.20.0) 20150311 (prerelease)
  configuration: --target-os=linux --cross-prefix=/root/spksrc/toolchains/syno-apollolake-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --prefix=/usr/local/tvheadend-testing --extra-cflags=-I/root/spksrc/spk/tvheadend-testing/work-apollolake-6.1/install/usr/local/tvheadend-testing/include --extra-ldflags=-L/root/spksrc/spk/tvheadend-testing/work-apollolake-6.1/install/usr/local/tvheadend-testing/lib --extra-libs='-lxml2 -ldl' --pkg-config=/usr/bin/pkg-config --ranlib=/root/spksrc/toolchains/syno-apollolake-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib --enable-cross-compile --enable-rpath --enable-pic --enable-shared --enable-optimizations --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-fontconfig --enable-libass --enable-libbluray --enable-avresample --enable-libfdk-aac --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-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-openssl --disable-debug --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-static --disable-txtpages --enable-avresample --arch=x86_64 --enable-thumb
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
*Unrecognized option '-enable-vaapi'.*

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

stil minimalistic information
I searched for you and you have
Intel HD Graphics 500 GPU on Intel Celeron J3455 processor.

this can be usefull for you
https://community.synology.com/enu/forum/17/post/116243

useful information can be seen with

ffmpeg -hwaccels

result must be similar

ffmpeg -hwaccels
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
  configuration: --prefix=/usr --enable-gpl --enable-nonfree --enable-version3 --enable-muxer=rtsp --enable-protocol=rtp --enable-demuxer=rtsp --enable-bzlib --enable-frei0r --enable-ladspa --enable-openal --enable-libass --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libfdk_aac --enable-libcv2 --enable-static --enable-runtime-cpudetect --enable-openssl --enable-vdpau --enable-vaapi --disable-doc --disable-shared --extra-cflags=-fopenmp --extra-ldflags=-fopenmp --disable-libmfx --enable-cuda --enable-cuvid --enable-nvdec --enable-nvenc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --extra-cflags=-DCONFIG_LCNS_AUTH --extra-ldflags=-L/home/test/develop/compare/lcns --extra-libs='-llcns -lssl -lcrypto -lz -ljansson'
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Hardware acceleration methods:
vdpau
cuda
vaapi
cuvid

https://github.com/omen23/ffmpeg-ffnvcodec-explanation/issues/4
https://timothybasanov.com/2018/12/08/hardware-accelerated-h264-encoding-synology-nas.html

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

Thank you very much! It seems that vaapi is not enabled in the versions of ffmpeg which is bundled with the tvheadend synology package.

So i'll hunt down a version which does.

@ffmpeg version 2.7.1 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.3 (crosstool-NG 1.20.0) 20150311 (prerelease)
  configuration: --prefix=/usr --incdir='${prefix}/include/ffmpeg' --arch=i686 --target-os=linux --cross-prefix=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --enable-cross-compile --enable-optimizations --enable-pic --enable-gpl --enable-shared --disable-static --enable-version3 --enable-nonfree --enable-libfaac --enable-encoders --enable-pthreads --disable-bzlib --disable-protocol=rtp --disable-muxer=image2 --disable-muxer=image2pipe --disable-swscale-alpha --disable-ffserver --disable-ffplay --disable-devices --disable-bzlib --disable-altivec --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --disable-vaapi --disable-decoder=amrnb --disable-decoder=ac3 --disable-decoder=ac3_fixed --disable-encoder=zmbv --disable-encoder=dca --disable-encoder=ac3 --disable-encoder=ac3_fixed --disable-encoder=eac3 --disable-decoder=dca --disable-decoder=eac3 --disable-decoder=truehd --cc=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc --enable-yasm --enable-libx264 --enable-encoder=libx264
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
Missing argument for option 'hwaccel'.
Error splitting the argument list: Invalid argument
admin@synology:/var/packages/tvheadend-testing/target/bin$
@

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

The one who build it garantee it will not work on 1000% by set in build

--disable-vaapi

Use this one to build your ffmpeg static binary
https://github.com/markus-perl/ffmpeg-build-script

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

Couldn't get the spawn profile working, i took the easy route and installed the linuxserver/tvheadend docker image which has a ffmpeg version bundled with VAAPI enabled. Works a treat.

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

Do ffmpeg docker have access to device?

- /dev/dri/renderD128:/dev/dri/renderD128

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

What is command line, used in spawn proffile?

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

i don't use the spawn profile anymore.

I use the docker image from linuxserver/tvheadend. I exported the settings of the container and added the following in the linuxserver-tvheadend.json, and recreated the container by importing the settings:

 "devices" : [
{
"CgroupPermissions" : "rwm",
"PathInContainer" : "/dev/dri",
"PathOnHost" : "/dev/dri" 
},
{
"CgroupPermissions" : "rwm",
"PathInContainer" : "/dev/dvb",
"PathOnHost" : "/dev/dvb" 
}
],

RE: Difficulty to get MPEG-TS Spawn profile working - Added by saen acro about 3 years ago

Pieter Hooftman wrote:

i don't use the spawn profile anymore.

I use the docker image from linuxserver/tvheadend. I exported the settings of the container and added the following in the linuxserver-tvheadend.json, and recreated the container by importing the settings:

[...]

Now go to TVH > About > togle details
and see what is situation with VAAPI

if yes
go to Settings > stream > codec profiles and add needed

h264_vaapi: H.264/AVC (VAAPI)
hevc_vaapi: H.265/HEVC (VAAPI)
vp8_vaapi: VP8 (VAAPI)
vp9_vaapi: VP9 (VAAPI)

RE: Difficulty to get MPEG-TS Spawn profile working - Added by Pieter Hooftman about 3 years ago

Sorry i wasn't clear, but already done that. Hardware acceleration is working (VAAPI) from the docker container, using the /dev/dri/renderD128 device on the host

    (1-18/18)