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

Added by Paul M about 1 month 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 (15)

RE: corrupted video with TBS twin port card on DVB-S or DVB-S2, HD or SD channels - Added by saen acro about 1 month 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 about 1 month 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 about 1 month 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 about 1 month 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 Paul M about 1 month 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 about 1 month 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 about 1 month 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 about 1 month 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 about 1 month 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 about 1 month 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 about 1 month 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 about 1 month 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.

(1-15/15)