[mythtv] Too much EIT activity causing defective recordings

Mark Spieth mark at digivation.com.au
Wed Aug 1 22:21:00 UTC 2018


On 8/2/2018 3:31 AM, John Pilkington wrote:
> On 01/08/18 17:27, Stephen Worthington wrote:
>> On Wed, 1 Aug 2018 13:52:06 +0100, you wrote:
>>
>>> On 01/08/18 12:49, Michael T. Dean wrote:
>>>> On 07/31/2018 06:51 PM, John Pilkington wrote:
>>>>> Hi;  I'm running Master under SL7, recording UK SD DVB-T material via
>>>>> one PCI single-tuner device and one twin-tuner usb dongle.
>>>>>
>>>>> Bus 001 Device 002: ID 1b80:e409 Afatech IT9137FN Dual DVB-T [KWorld
>>>>> UB499-2T]
>>>>>
>>>>> Around 9 July my Project-X-based mythDVBcut logs started reporting
>>>>> multiple AV sync corrections of up to a second in recordings from the
>>>>> usb tuners.  The change occurred after I rescanned my transports
>>>>> following the Wimbledon special tennis coverage;  I'm fairly sure I
>>>>> made other 'minor' changes in the multirec and EIT configs too.
>>>>>
>>>>> Today I realised that the defects were often around 5 minutes apart,
>>>>> and EIT scanning seemed a possible culprit.  I have now unchecked the
>>>>> boxes for usb open-on-demand and active-EIT-scan, and it looks as if
>>>>> the recording defects have largely gone.
>>>>>
>>>>> In the past I probably haven't taken as much notice of the EIT
>>>>> settings as I should have done, but the recent defects were much 
>>>>> worse
>>>>> than I had seen before and I think some of the recent code changes
>>>>> must have been implicated.
>>>>>
>>>>> John P
>>>>>
>>>>> Below is a Project-X log resync section from an affected recording.
>>>>> This should be just a few lines, with no resync required.
>>>>>
>>>>> {{{
>>>>>
>>>>> Input File 0:  '/mnt/dat2/RSG3/1004_20180723195800.ts.old'
>>>>> (1,149,983,780 bytes)
>>>>> -> Filetype is TS (generic PES Container)
>>>>>
>>>>> <demux log snipped>
>>>>>
>>>>> ++> Mpg Audio: PID 0x044E / PesID 0xC0 / SubID 0x00 :
>>>>> -> check CRC of AC-3 / MPEG-Audio L1,2
>>>>> -> remove CRC in MPEG-Audio L1,2
>>>>> -> add frames
>>>>> -> Audio PTS: first packet 08:48:35.071, last packet 09:48:52.207
>>>>> -> Video PTS: start 1.GOP 08:48:41.439, end last GOP 09:48:41.999
>>>>> -> adjusting audio at video-timeline
>>>>> -> src_audio: MPEG-1, Layer2, 48000Hz, stereo, 192kbps, noCRC @
>>>>> 00:00:00.000
>>>>> !> 5 frame(s) (120ms) inserted @ 00:02:28.608
>>>>> !> missing syncword @  6527233, @ 00:04:08.064
>>>>> !> found syncword @ 6528384
>>>>> !> 22 frame(s) (528ms) inserted @ 00:04:08.064
>>>>> !> missing syncword @  6528961, @ 00:04:08.592
>>>>> !> found syncword @ 6529352
>>>>> !> missing syncword @  14213193, @ 00:09:27.840
>>>>> !> found syncword @ 14213560
>>>>> !> missing syncword @  14214137, @ 00:09:27.864
>>>>> !> found syncword @ 14214344
>>>>> !> 4 frame(s) (96ms) inserted @ 00:09:27.864
>>>>> !> missing syncword @  29606793, @ 00:16:02.448
>>>>> !> found syncword @ 29607000
>>>>> !> 1 frame(s) (24ms) inserted @ 00:16:02.448
>>>>> !> 19 frame(s) (456ms) inserted @ 00:21:21.144
>>>>> !> missing syncword @  45001753, @ 00:26:40.656
>>>>> !> found syncword @ 45001960
>>>>> !> 23 frame(s) (552ms) inserted @ 00:26:40.680
>>>>> !> missing syncword @  52701353, @ 00:27:54.144
>>>>> !> found syncword @ 52701536
>>>>> !> missing syncword @  52702689, @ 00:27:54.192
>>>>> !> found syncword @ 52703080
>>>>> !> 20 frame(s) (480ms) inserted @ 00:27:54.192
>>>>> !> missing syncword @  60403625, @ 00:33:14.592
>>>>> !> found syncword @ 60404248
>>>>> !> 17 frame(s) (408ms) inserted @ 00:33:14.616
>>>>> !> missing syncword @  68103065, @ 00:38:34.344
>>>>> !> found syncword @ 68103712
>>>>> !> 17 frame(s) (408ms) inserted @ 00:38:34.344
>>>>> !> missing syncword @  68120993, @ 00:38:34.752
>>>>> !> found syncword @ 68121960
>>>>> !> 2 frame(s) (48ms) inserted @ 00:38:34.752
>>>>> !> missing syncword @  75797161, @ 00:39:47.760
>>>>> !> found syncword @ 75797944
>>>>> !> missing syncword @  83496185, @ 00:45:07.344
>>>>> !> found syncword @ 83496968
>>>>> !> 21 frame(s) (504ms) inserted @ 00:45:07.416
>>>>> !> missing syncword @  83504457, @ 00:45:07.920
>>>>> !> found syncword @ 83505080
>>>>> !> missing syncword @  83566137, @ 00:45:09.816
>>>>> !> found syncword @ 83566920
>>>>> !> 2 frame(s) (48ms) inserted @ 00:45:09.816
>>>>> !> 2 frame(s) (48ms) inserted @ 00:45:09.960
>>>>> audio frames: wri-pre-skip-ins-add 117813-0-0-155-0 @ 00:47:07.512
>>>>> done...
>>>>> ---> new File: '/home/john/MythTmp/tempcut19417.mp2'
>>>>>
>>>>> summary of created media files:
>>>>> .Video (m2v):    70688 Frames    00:47:07.520
>>>>> '/home/john/MythTmp/tempcut19417.m2v'
>>>>> Audio 00 (mp2):    117813 Frames    00:47:07.512 0-0-155-0
>>>>> '/home/john/MythTmp/tempcut19417.mp2'
>>>>> => 775,195,585 bytes written...
>>>>> -> we have 139 warnings/errors.
>>>>>
>>>>> }}}
>>>>
>>>> Could this be due to I/O activity? Have you done an optimize on your
>>>> database, recently?  If not, it may just be that MySQL is taking too
>>>> much time with I/O when MythTV tries to write your listings data 
>>>> and it
>>>> causes problems with MythTV's writing recording data.  Do you have any
>>>> warnings or errors in your MythTV backend logs?
>>>>
>>>> Mike
>>>
>>> Hi Mike:  I run optimize every few days, so I don't think that's it.
>>> But I usually arranged the schedule to record from the usb tuners only
>>> when the PCI device was already recording, often from several channels,
>>> so usually the system would be fairly busy.  Database sql.gz backups 
>>> are
>>> now 125 MiB and autodelete of old recordings is getting invoked.  40 GB
>>> free, 2% of 2.3 GiB reported: 3 partitions on 2 disks.
>>>
>>> I haven't seen any obvious signs of distress on the terminal window in
>>> which I run the backend, and at present I would prefer to let things
>>> roll for a bit rather than going back to do more investigations.
>>
>> You might try setting the -v record option on the mythbackend command
>> line.  That gives more logging of the recording process, and will give
>> you messages like the following if you are getting any problems
>> detected with a recording:
>>
>> root at mypvr:/etc/mythtv# grep -a "overall_score=\"0"
>> /var/log/mythtv/mythbackend.log.1
>> Jul 22 20:34:01 mypvr mythbackend: mythbackend[3543]: I TVRecEvent
>> tv_rec.cpp:863 (FinishedRecording) TVRec[96]:
>> FinishedRecording(10072_2018-07-22T07:29:00Z) good
>> recq:<RecordingQuality overall_score="0.991667"
>> key="10072_2018-07-22T07:29:00Z" countinuity_error_count="11"
>> packet_count="7494980">#012    <Gap start="2018-07-22T07:46:02Z"
>> end="2018-07-22T07:46:22Z" duration="19" />#012</RecordingQuality>
>> Jul 23 20:39:00 mypvr mythbackend: mythbackend[3543]: I TVRecEvent
>> tv_rec.cpp:863 (FinishedRecording) TVRec[94]:
>> FinishedRecording(10007_2018-07-23T07:59:00Z) damaged
>> recq:<RecordingQuality overall_score="0"
>> key="10007_2018-07-23T07:59:00Z" countinuity_error_count="0"
>> packet_count="108664">#012    <Gap start="2018-07-23T07:59:30Z"
>> end="2018-07-23T08:35:00Z" duration="2129" />#012</RecordingQuality>
>> Jul 25 23:06:01 mypvr mythbackend: mythbackend[3644]: I TVRecEvent
>> tv_rec.cpp:863 (FinishedRecording) TVRec[92]:
>> FinishedRecording(10070_2018-07-25T10:14:00Z) damaged
>> recq:<RecordingQuality overall_score="0"
>> key="10070_2018-07-25T10:14:00Z" countinuity_error_count="0"
>> packet_count="194555">#012    <Gap start="2018-07-25T10:15:27Z"
>> end="2018-07-25T11:05:00Z" duration="2972" />#012</RecordingQuality>
>>
>> What I see if I have my hard drives too busy is that I get short gaps
>> in recordings, and get messages like the first one above, where there
>> is a gap with a short duration, and also continuity errors.  I use a
>> rule of thumb that two recordings at once is all I want to have on one
>> hard drive.  Three at once is OK for a short period (during overlaps
>> between recordings due to pre- and post roll), but if I have three
>> recordings at once to one drive for the full length of a recording,
>> there is a good chance I will get gaps.  Four at once and there will
>> almost always be gaps.  Since you have three tuners with multirec on
>> each of them, and only two hard drives to record to, then it is likely
>> that the drives will be overloaded at some point.  And if one of the
>> recording drives is also the system and database drive, then it is
>> much more likely to be too busy at some point.  I put my system and
>> database onto an SSD a couple of years ago and that made a big
>> difference.  But when I increased my tuners, I also had to add more
>> hard drives.  I now have 5 x DVB-T2 and 4 x DVB-S2 tuners in use, and
>> have 7 recording drives.  And I do at times have 14 recordings at
>> once.  But the gaps I get now are normally caused by rain fade on the
>> satellite dish, not by overworked hard drives.
>
> Hi Stephen:  yes, thanks for that.  I will try more comprehensive 
> logging options, and I'm still wondering just how much of an archive, 
> and in what form, I really have a use for.
>
> Often some of my simultaneous recordings are radio, so the load isn't 
> quite as heavy as the number would suggest.  But I did see a big rise 
> in the number and length of the audio insertions in early July, when 
> the only system change that seemed likely to be relevant (IIRC) was in 
> those usb-tuner settings.  Since I unticked the boxes the 
> post-processing logs have been much better.  I'll see if they stay 
> that way - and if I still get the EIT data.
>
I have an afatech 399U and it is woeful when both channels are running. 
USB2 and not a good implementation I think. I had to stop using it for 
myth or only enable 1 tuner. Good eough for random PC watching though so 
thats what it was relegated to.
Cant say about the 499U.

PCI/PCIE devices work flawlessly with many tuners running 
simultaneously. So I have an old TT PCI and a quad Hauppauge. All 
channels can be recording multiples. Never had any disk IO issues either.
Had a system 10 years ago which recorded 5 multiplexes with 3-4 channels 
per multiplex continuously with 20 min overlap. No problems there 
either. That system though had a bit of raid and 3 dual tuner pcie cards.

Mark


More information about the mythtv-dev mailing list