Project

General

Profile

Bug #891

New mkv streaming seems broken

Added by Eric Valette over 12 years ago. Updated over 12 years ago.

Status:
Fixed
Priority:
Normal
Category:
Streaming
Target version:
Start date:
2012-03-04
Due date:
% Done:

0%

Estimated time:
Found in version:
2.12
Affected Versions:

Description

It usually start playing but often stalls. Less useable for me than the TS streaming.

Mar 04 19:16:41 MKV: Live stream: Unable to write -- Broken pipe
Mar 04 19:16:41 MKV: Live stream: Unable to write duration, seek failed -- Illegal seek
Mar 04 19:16:41 MKV: Live stream: Unable to write total size, seek failed -- Illegal seek

History

#1

Updated by John Törnblom over 12 years ago

Eric Valette - wrote:

It usually start playing but often stalls. Less useable for me than the TS streaming.

Mar 04 19:16:41 MKV: Live stream: Unable to write -- Broken pipe
Mar 04 19:16:41 MKV: Live stream: Unable to write duration, seek failed -- Illegal seek
Mar 04 19:16:41 MKV: Live stream: Unable to write total size, seek failed -- Illegal seek

The illegal seek thing is expected since you cannot seek on a socket. The broken pipe is caused by the client who is requesting the stream. Could you provide a log from the client instead?
Also, when do you have problems? during intial tuning? after 5 minutes?, random?

#2

Updated by Eric Valette over 12 years ago

It takes a while to start. I guess its because you have to create a pseudo header...

Then I have it for say 20s. It freezes as soon as I have a discontinuity message (which happens quite often) and has problem to restart. I have log in vlc that I should be able to trasnfert.

Also, I have decoding problem with a lot of macro blocks. Unfortunately I cannot compare at the same time..

#3

Updated by Eric Valette over 12 years ago

Regarding the illegal seek, it happens when you close. However, I think things are written in the header when the recording is finished (duration, size, ...)

#4

Updated by Eric Valette over 12 years ago

Tried your todays patches. Its slightly better: mplayer2 does now start (was not even starting before) but do not manage to play the stream correctly. Mplayer has also some problems as vlc2.0. I would say things have improved but are still not perfect. For mplayer I managed to correct the playing by increasing the cache size to 8192. Vlc 2 and mplayer2 may be bugged independently.

Side remark: modifying mkv generation make me nervous : I do not want to break my recodings. I have already half of them that are broken for hardware DMP. Why not keeping the mkv muxer for recording and one for streaming until the streaming one is fixed and then merge the two?

Mar 07 20:43:30 subscription: "HTTP" subscribing on "TF1 HD", weight: 100, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:44:13 MKV: Live stream: Unable to write -- Connection reset by peer

Mar 07 20:44:13 subscription: "HTTP" unsubscribing from "TF1 HD"

Mar 07 20:45:24 subscription: "HTTP" subscribing on "TF1 HD", weight: 100, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:45:25 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error

Mar 07 20:46:11 MKV: Live stream: Unable to write -- Connection reset by peer

Mar 07 20:46:11 subscription: "HTTP" unsubscribing from "TF1 HD"

Mar 07 20:46:23 subscription: "HTTP" subscribing on "TF1 HD", weight: 100, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:46:42 MKV: Live stream: Unable to write -- Connection reset by peer

Mar 07 20:46:42 subscription: "HTTP" unsubscribing from "TF1 HD"

Mar 07 20:47:06 subscription: "HTTP" subscribing on "TF1 HD", weight: 100, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:47:06 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error

Mar 07 20:47:15 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error, 1 duplicate log lines suppressed

Mar 07 20:47:15 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #130: Continuity counter error

Mar 07 20:47:15 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #131: Continuity counter error

Mar 07 20:47:15 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #132: Continuity counter error

Mar 07 20:47:15 parser: transport stream H264, DTS discontinuity. DTS = 734400, last = 563400

Mar 07 20:47:15 parser: transport stream EAC3, DTS discontinuity. DTS = 658450, last = 500050

Mar 07 20:47:15 parser: transport stream EAC3, DTS discontinuity. DTS = 658450, last = 500050

Mar 07 20:47:15 parser: transport stream EAC3, DTS discontinuity. DTS = 659585, last = 501185

Mar 07 20:47:15 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: DVBSUB @ #140: Continuity counter error

Mar 07 20:47:19 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: DVBSUB @ #141: Continuity counter error

Mar 07 20:47:25 MKV: Live stream: Unable to write -- Connection reset by peer

Mar 07 20:47:25 subscription: "HTTP" unsubscribing from "TF1 HD"

Mar 07 20:47:53 subscription: "HTTP" subscribing on "TF1 HD", weight: 100, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:48:11 MKV: Live stream: Unable to write -- Connection reset by peer

Mar 07 20:48:11 subscription: "HTTP" unsubscribing from "TF1 HD"

Mar 07 20:48:33 subscription: "HTTP" subscribing on "TF1 HD", weight: 100, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:48:33 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error

Mar 07 20:48:33 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #130: Continuity counter error

Mar 07 20:48:45 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error

Mar 07 20:48:45 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #131: Continuity counter error

Mar 07 20:48:45 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #132: Continuity counter error

Mar 07 20:48:45 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #130: Continuity counter error

Mar 07 20:48:45 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: DVBSUB @ #140: Continuity counter error

Mar 07 20:48:45 parser: transport stream EAC3, DTS discontinuity. DTS = 932770, last = 558370

Mar 07 20:48:45 parser: transport stream EAC3, DTS discontinuity. DTS = 932770, last = 558370

Mar 07 20:48:45 parser: transport stream H264, DTS discontinuity. DTS = 1008000, last = 612000

Mar 07 20:48:45 parser: transport stream EAC3, DTS discontinuity. DTS = 933905, last = 553745

Mar 07 20:48:55 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error

Mar 07 20:48:55 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #132: Continuity counter error

Mar 07 20:48:55 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #130: Continuity counter error

Mar 07 20:48:55 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #131: Continuity counter error

Mar 07 20:48:55 parser: transport stream H264, DTS discontinuity. DTS = 1944000, last = 1465200

Mar 07 20:48:55 parser: transport stream EAC3, DTS discontinuity. DTS = 1891810, last = 1405090

Mar 07 20:48:55 parser: transport stream EAC3, DTS discontinuity. DTS = 1891810, last = 1402210

Mar 07 20:48:55 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: DVBSUB @ #140: Continuity counter error

Mar 07 20:48:55 parser: transport stream EAC3, DTS discontinuity. DTS = 1892945, last = 1403345

Mar 07 20:48:56 MKV: Live stream: Unable to write -- Connection reset by peer

Mar 07 20:48:56 subscription: "HTTP" unsubscribing from "TF1 HD"

Mar 07 20:50:53 subscription: "HTTP" subscribing on "TF1 HD", weight: 100, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:50:53 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error

Mar 07 20:50:53 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: EAC3 @ #132: Continuity counter error

Mar 07 20:51:56 MKV: Live stream: Unable to write -- Broken pipe

Mar 07 20:51:56 subscription: "HTTP" unsubscribing from "TF1 HD"

Mar 07 20:53:29 htsp: Got connection from 192.168.8.16

Mar 07 20:53:29 htsp: 192.168.8.16: Welcomed client software: XBMC Media Center

Mar 07 20:53:29 htsp: 192.168.8.16 [ XBMC Media Center ]: Identified as user valette

Mar 07 20:53:42 htsp: Got connection from 192.168.8.16

Mar 07 20:53:42 htsp: 192.168.8.16: Welcomed client software: XBMC Media Center

Mar 07 20:53:42 htsp: 192.168.8.16 [ XBMC Media Center ]: Identified as user valette

Mar 07 20:53:42 subscription: "192.168.8.16 [ valette | XBMC Media Center ]" subscribing on "TF1 HD", weight: 150, adapter: "DiBcom 7000PC", network: "F", mux: "F: 602,000 kHz", provider: "MR5", service: "TF1 HD", quality: 100

Mar 07 20:53:42 TS: DiBcom 7000PC/F: 602,000 kHz/TF1 HD: H264 @ #120: Continuity counter error

Mar 07 20:54:20 htsp: 192.168.8.16 [ valette | XBMC Media Center ]: Disconnected

Mar 07 20:54:20 subscription: "192.168.8.16 [ valette | XBMC Media Center ]" unsubscribing from "TF1 HD"

Mar 07 20:54:28 htsp: 192.168.8.16 [ valette | XBMC Media Center ]: Disconnected

#5

Updated by Eric Valette over 12 years ago

Works quite well with mplayer once the buffer size is increased. Will check mplayer2 and vlc 2.0 on other content.

mplayer -ao pulse -vo gl2 -cache 8182 http://funtwist:9981/stream/channelid/22

will try on a vdpau enabled machine when I can get access to TV ;-)

#6

Updated by John Törnblom over 12 years ago

Eric Valette - wrote:

Works quite well with mplayer once the buffer size is increased. Will check mplayer2 and vlc 2.0 on other content.

mplayer -ao pulse -vo gl2 -cache 8182 http://funtwist:9981/stream/channelid/22

will try on a vdpau enabled machine when I can get access to TV ;-)

Thanks for the feedback.

In order to get mplayer to work flawlessly (without -cache parameter), tvheadend would have to buffer some data. I try to minimize this buffer since its size will have a direct impact on the time it takes to get initial picture.

The DTS discontinuity errors come from a 'filter' behind the muxer, something that is also used with dvr. Therefore I think the same errors should emerge during file recording. Could you check that?

#7

Updated by Eric Valette over 12 years ago

John Törnblom wrote:

In order to get mplayer to work flawlessly (without -cache parameter), tvheadend would have to buffer some data. I try to minimize this buffer since its size will have a direct impact on the time it takes to get initial picture.

Yes. I would nevertheless do some buffering at least at startup because not working with player default cache setup on the other end is a worse solution solution than waiting a bit. I checked on my HTPC. Result is the same regarding buffering, mplayer2 and vlc so its not related to the network link (as suspected as it was working correctly before)

The DTS discontinuity errors come from a 'filter' behind the muxer, something that is also used with dvr. Therefore I think the same errors should emerge during file recording. Could you check that?

Yes I have theses messages when recording or viewing using XBMC also.

#8

Updated by Eric Valette over 12 years ago

As someone posted a patch to restore ts functionnaly, I added it to my tree. I can confirm mplayer2 and vlc2 work with the same setup using TS file.

BTW, as we have been working hard to correct mkv generation adding back codec private info generation, I think you also need it for mkv streaming for hardware decoders.

#9

Updated by John Törnblom over 12 years ago

  • Category changed from 10 to Streaming

Although there might still be some issues with mkv http streaming, they deserve its own bug report and I feel the initial reason for this one has been fixed.

#10

Updated by John Törnblom over 12 years ago

  • Status changed from New to Fixed
#11

Updated by Eric Valette over 12 years ago

John Törnblom wrote:

Although there might still be some issues with mkv http streaming, they deserve its own bug report and I feel the initial reason for this one has been fixed.

What commit does fix something exactly?

Also available in: Atom PDF