Project

General

Profile

Muxer reported errors

Added by Antonio S over 7 years ago

Hi all
I'm struggling on setup a working pipe for transcoding via gstreamer my DVB-T channells
After various search and with the help of some people here, I have got a working gstreamer command:

gst-launch-1.0 souphttpsrc location="http://192.168.182.212:9981/stream/channelnumber/6?profile=mpeg2" num-buffers=-1 ! tsdemux name=demux demux. ! queue ! mpegvideoparse ! omxmpeg2videodec ! video/x-raw,format=I420 ! videoconvert ! omxh264enc target-bitrate=2097152 control-rate=variable ! video/x-h264,stream-format=byte-stream,profile=high,width=720,height=576,framerate=25/1 ! h264parse ! mpegtsmux name=stream  demux. ! queue ! mpegaudioparse ! mpg123audiodec ! audioconvert dithering=0 ! audio/x-raw,channels=2 ! fdkaacenc bitrate=65536 ! stream.

This is working or actually partially working. If I use this together with http-launch, a project that wrap a pipeline into an http server, it works, let's say, 80% of the time. But if I set this command in a tvheadend IPTV mux via the command:

pipe://gst-launch-1.0 souphttpsrc location="http://192.168.182.212:9981/stream/channelnumber/6?profile=mpeg2" num-buffers=-1 ! tsdemux name=demux demux. ! queue ! mpegvideoparse ! omxmpeg2videodec ! video/x-raw,format=I420 ! videoconvert ! omxh264enc target-bitrate=2097152 control-rate=variable ! video/x-h264,stream-format=byte-stream,profile=high,width=720,height=576,framerate=25/1 ! h264parse ! mpegtsmux name=stream  demux. ! queue ! mpegaudioparse ! mpg123audiodec ! audioconvert dithering=0 ! audio/x-raw,channels=2 ! fdkaacenc bitrate=65536 ! stream.

In the logs it always fails with this error:

2017-03-06 08:54:49.106 [   INFO]:transcode: 0010: 2:MPEG2AUDIO ==> Passthrough
2017-03-06 08:54:49.106 [   INFO]:transcode: 0010: 3:MPEG2AUDIO ==> Passthrough
2017-03-06 08:54:49.350 [WARNING]:tsfix: The timediff for TELETEXT is big (3146108190), using current dts
2017-03-06 08:54:49.449 [WARNING]:libav: Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
2017-03-06 08:54:49.449 [WARNING]:libav: Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
2017-03-06 08:54:49.449 [WARNING]:libav: Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
2017-03-06 08:54:50.962 [ NOTICE]:mpegts: mux 698MHz in DVB-T Network old params DVB-T freq 698000000 bw 8MHz cons QAM/64 hier NONE code_rate 2/3:NONE guard 1/32 trans 8k plp_id -1 (00002010)
2017-03-06 08:54:50.962 [ NOTICE]:mpegts: mux 698MHz in DVB-T Network new params DVB-T freq 698000000 bw 8MHz cons QAM/64 hier NONE code_rate 3/4:NONE guard 1/4 trans 8k plp_id -1 (00002010)
2017-03-06 08:55:04.578 [WARNING]:webui: Stop streaming /stream/channelnumber/6?profile=mpeg2, muxer reported errors

You can see that the channel is tuned but I get this muxer reported errors. The Odd thing here is that if I just try to download the ts file from the http link doing:

wget http://192.168.182.212:9981/stream/channelnumber/6?profile=mpeg2

It works 100% of the time, which means that the DVB-T and TVHeanded setup is correct, and also the profile mpeg2 (a stupid transoding profile that I use to take only one audio PID and remap video and audio to a fixed PID) are ok.
It's a kind of gstreamer get over HTTP makes tvheadend confused....
Some guys succeeded in using this gstreamer pipe in TVHeadend, but some times ago.
Can it be a problem/bug in tvheadend?
Bye