It's a bit hard for me to tell if your pipe is correct - it depends on what's required. Here's one of mine as an example:
pipe:///usr/bin/ffmpeg -loglevel fatal -headers User-Agent:\ okhttp/3.4.1 -i http://url-details.ts -map 0 -c copy -f mpegts pipe:1
You can test the input side of your ffmpeg parameters on the commandline, so for the above I'd enter:
ffmpeg -headers User-Agent:' okhttp/3.4.1' -i http://url-details.ts
Note that I've removed the -loglevel fatal [otherwise ffmpeg will give no output] and I've put the user agent string in single quotes and removed the escaping.
On the commandline this gives a bunch of blurb which can be ignored followed by:
Input #0, mpegts, from '
http://url-details.ts':
Duration: N/A, start: 5940.002578, bitrate: N/A
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 192 kb/s
Stream #0:1[0x101]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
At least one output file must be specified
This tells me that I'm pointing at a valid URL & it's happy with the headers I've provided. If I leave out the user-agent, it tells me:
http://url-details.ts: Server returned 403 Forbidden (access denied)