corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels

Added by Paul M 3 months ago

About once a day TVH gets into a state where there's corrupted video, either HD or SD channels. It doesn't matter whether I play using the web player or kodi with the TVH add-on. https://imgur.com/a/AWvFDqI

Restarting TVH server doesn't fix it, I have to reboot. Sometimes when I ask nicely for a reboot, it locks up and I have to force a restart, and then TVH database files will be corrupted (e.g. no network, channels, etc) and any recording timers will be lost, and I have to piece together the config from the last backup so as not to orphan recordings.

My TVH server is a dedicated box, running headless. It's running 4.3-1236~g518d57b~xenial on ubuntu 16.04.04-lts-x64, kernel 4.4.0-116-lowlatency, on a core2quad q6600 with 4GB RAM and mirrored 750GB hard drives. I'm using a TBS twin port PCIe card.

When I was on 4.2.latest I used to find the TVH web UI would lock up hard with 100% of a CPU core pegged; that was with the ljalves driver.

After trying many things, I got to where I am now, running 4.3 latest, having installed the low latency kernel and switched to a freshly built new drivers from the tbsdriver git repo. I no longer get the hard UI lockups, but I do get occasional corruption of the configuration/db files.

When TVH is working for me, it's great, but sadly it's far too unreliable to replace my ageing Humax DVR which has a flakey HDMI port but is otherwise reliable :-(

thanks for any ideas.


Replies (17)

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by saen acro 3 months ago

FEMON status when this pixelization come

disable unused devices in BIOS/UEFI (sound card com/paralel ports)
update to latest bios/uefi

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

Hi, I did try updating the BIOS on the motherboard. I'll check for any unused devices I can disable, I presume that's to free up spare IRQs and DMAs (but I didn't think that mattered for PCIe?) to see if that helps.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

Ok, I had to wait until it happened again. This is what I saw when I ran femon and tailed dmesg:

# femon
FE: TurboSight TBS 6982SE DVB-S/S2 (DVBS)
status SCVYL | signal f8a1 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fb15 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fb15 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fb15 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fced | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fc50 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fb15 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fc50 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fc50 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f8a1 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f93e | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fd8a | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f93e | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f93e | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f93e | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fb15 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fc50 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fb15 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fc50 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fced | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fbb2 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fc50 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fb15 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal f9db | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fc50 | snr bc58 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status SCVYL | signal fa78 | snr bda0 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
^C
# dmesg | tail
[50765.375029] demux_worker: called but nothing to do
[50765.575028] demux_worker: called but nothing to do
[50765.975028] demux_worker: called but nothing to do
[50778.975032] demux_worker: called but nothing to do

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

I then took a look at the tvheadend log, I had tuned to the first channel I saw in the EPG list which was BBC Parliament.

Apr 26 22:36:25 mcintyre tvheadend[1505]: mpegts: 10788V in 28E2 - tuning on TurboSight TBS 6982SE DVB-S/S2 #0 : DVB-S #0
Apr 26 22:36:25 mcintyre tvheadend[1505]: subscription: 0851: "HTTP" subscribing on channel "BBC Parliament", weight: 100, adapter: "TurboSight TBS 6982SE DVB-S/S2 #0 : DVB-S #0", network: "28E2", mux: "10788V", provider: "BSkyB", service: "BBC Parliament", profile="webtv-h264-aac-matroska", hostname="192.168.29.37", username="tvhadmin", client="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36" 
Apr 26 22:36:26 mcintyre tvheadend[1505]: TS: 28E2/10788V/BBC Parliament: MPEG2AUDIO @ #5101 Continuity counter error (total 1)
Apr 26 22:36:26 mcintyre tvheadend[1505]: TS: 28E2/10788V/BBC Parliament: MPEG2VIDEO @ #5100 Continuity counter error (total 1)
Apr 26 22:36:26 mcintyre tvheadend[1505]: TS: 28E2/10788V/BBC Parliament: TELETEXT @ #5103 Continuity counter error (total 1)
Apr 26 22:36:28 mcintyre tvheadend[1505]: transcode: 0001: 01:MPEG2VIDEO: ==> Using profile webtv-h264
Apr 26 22:36:28 mcintyre tvheadend[1505]: transcode: 0001: 02:MPEG2AUDIO: ==> Using profile webtv-aac
Apr 26 22:36:28 mcintyre tvheadend[1505]: transcode: 0001: 03:DVBSUB: ==> Filtered out
Apr 26 22:36:28 mcintyre tvheadend[1505]: transcode: 0001: 05:TEXTSUB: ==> Filtered out
Apr 26 22:36:31 mcintyre tvheadend[1505]: tbl-base: bat: 10788V in 28E2: invalid checksum (len 913, errors 1)
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 29 10
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 11 35
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 15
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: skipped MB in I-frame at 1 16
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: Invalid mb type in I-frame at 0 17
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 18
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 19
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: Invalid mb type in I-frame at 1 20
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 21
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: skipped MB in I-frame at 1 22
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 23
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 24
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 25
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 26
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 27
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 28
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 29
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: Invalid mb type in I-frame at 0 30
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 31
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 32
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 33
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 0 34
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 1 35
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: Warning MVs not available
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: concealing 1170 DC, 1170 AC, 1170 MV errors in I frame
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: using SAR=64/45
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 SlowShuffle
Apr 26 22:36:32 mcintyre tvheadend[1505]: libav: AVCodecContext: profile High, level 2.1
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 23 25
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 16 17
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 18 18
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 11 19
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 1 20
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 13 21
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 16 22
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 7 23
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 8 24
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 24 26
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: invalid cbp -1 at 0 29
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 12 30
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: Warning MVs not available
Apr 26 22:36:33 mcintyre tvheadend[1505]: libav: AVCodecContext: concealing 561 DC, 561 AC, 561 MV errors in B frame
Apr 26 22:36:34 mcintyre tvheadend[1505]: libav: AVCodecContext: ac-tex damaged at 14 9
Apr 26 22:36:34 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 31 20

the log is pretty full with repeating lines after that and others like this:

Apr 26 22:36:35 mcintyre tvheadend[1505]: libav: AVCodecContext: Warning MVs not available
Apr 26 22:36:35 mcintyre tvheadend[1505]: libav: AVCodecContext: concealing 585 DC, 585 AC, 585 MV errors in B frame
Apr 26 22:36:36 mcintyre tvheadend[1505]: TS: 28E2/10788V/BBC Parliament: MPEG2VIDEO @ #5100 Continuity counter error (total 46)
Apr 26 22:36:36 mcintyre tvheadend[1505]: TS: 28E2/10788V/BBC Parliament: MPEG2AUDIO @ #5101 Continuity counter error (total 51)
Apr 26 22:36:36 mcintyre tvheadend[1505]: TS: 28E2/10788V/BBC Parliament: TELETEXT @ #5103 Continuity counter error (total 50)
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: Invalid mb type in P-frame at 19 11
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: Warning MVs not available
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: concealing 1080 DC, 1080 AC, 1080 MV errors in P frame
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: mb incr damaged
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: mb incr damaged
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: Invalid mb type in P-frame at 20 27
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: 00 motion_type at 0 29
Apr 26 22:36:36 mcintyre tvheadend[1505]: libav: AVCodecContext: slice mismatch

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Mark Clarkstone 3 months ago

Have you tried with just ONE tuner enabled (in tvh)?

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

I'll try just one tuner in a moment.

I restarted the TVH server and it didn't recover, this is the main screen. I got garbled sound and no image.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

I tried turning each tuner off for a little while, but it didn't fix the issue. So now I am rebooting, and hoping that the system won't have trashed the TVH config files.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

I'm using both munin and zabbix to monitor the box. The only interesting thing I see is CPU usage jumping up when I tune to and pause an HD channel in the web interface. An SD channel when paused uses about 25%. When streaming to a miniPC running Kodi, the cpu barely gets off 5%.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

I just noticed there's a new version of TVH, 4.3-1251~gf4ebe33~xenial, and I will try that and see.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Mark Clarkstone 3 months ago

I think your issue is the transcoding. When you notice the garbage output try playing a stream in VLC rather than the browser.

If you get garbage with VLC then yes there is something wrong, otherwise the machine is struggling to keep up with transcoding.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

the upgraded TVH application still went bad.

I can play the recordings directly from the .ts and they are corrupted, SD or HD. I can play live or recordings in the browser and they are corrupted too. I can try and play live on my phone using one of the android apps and they also show the stream is corrupted. So I am fairly sure that it's not the transcoding that is corrupt.

After a reboot, everything is fine. Recordings are fine. Live streaming, browser or kodi or android app is fine - HD or SD or radio.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

I have the TBS 6902 PCIe board; it was brand new and sealed when I bought it.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 3 months ago

The PC I am using was in use as my daughter's PC for a couple of years before I bought here a new core-i5 4th gen to replace it, so I am fairly confident that the machine itself is OK.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Paul M 7 days ago

I've now replaced the previous PC with a much newer one, it's a desktop again, Intel motherboard, core-i3 2nd gen (sandy bridge) with 4GB of RAM. A pretty well tested machine.

I was hopeful that this would cure my corruption problem, sadly, it still happens.

I'd left my TVH server completely turned off for two months because of this issue, there was no point in running it if recordings would be corrupted unpredictably, or the streams would be unwatchable without a reboot! Sadly, it looks like I'll be abandoning this project altogether.

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by Mark Clarkstone 7 days ago

Paul M wrote:

I've now replaced the previous PC with a much newer one, it's a desktop again, Intel motherboard, core-i3 2nd gen (sandy bridge) with 4GB of RAM. A pretty well tested machine.

I was hopeful that this would cure my corruption problem, sadly, it still happens.

I'd left my TVH server completely turned off for two months because of this issue, there was no point in running it if recordings would be corrupted unpredictably, or the streams would be unwatchable without a reboot! Sadly, it looks like I'll be abandoning this project altogether.

Have you tried enabling linked input? If you'd like I can take a look with you over teamviewer.

(1-17/17)