I got tvheadend hw transcode working with the pipe solution; i have created a local m3u file with entries for each sd channel:
File starts with
#EXTM3U
#EXTINF:-1,Das Erste
pipe:///usr/bin/ffmpeg -loglevel fatal -i http://user:password@127.0.0.1:9981/stream/channelnumber/101?profile=pass -c:v h264 -vf scale=-1:384 -pix_fmt nv21-c:a copy -metadata service_provider="Transcoded" -f mpegts pipe:1
My reffered Channel 101 is streamed with mpeg2 in sd resolution.
I was never able to use hw encoding with stream profiles. I think something was going wrong with ffmpeg options...
But after some tests i changed to sw transcoding:
With hw-transc i had to resize the video to 384p to minimize network traffic to 3mbit/s. The resulting quality was not pretty well.
Now, with -c:v libx264 (also pipe m3u) and "-crf 28 -preset: faster" i get streams with 2 mbit/s. Its looking fine on my ipad.
If someone want to use/test hw transcoding, here is the tvh thread:
https://forum.odroid.com/viewtopic.php?f=96&t=26469&start=100
P.S.: transcoding one sd channel increases my cpu load to ~300%.
Transcoding 2 channels simultanously is possible