[mythtv-users] Test Cricket - plays BBC2 recording but not BBC4

John Pilkington johnpilk222 at gmail.com
Mon Aug 17 11:04:55 UTC 2020


On 17/08/2020 11:36, Simon Hobson wrote:
> Can anyone shed any light on this ?
> When I sit down to watch the Test Match highlights on BBC4 (7pm), I get a blank screen then a message about waiting too long for video to buffer. When I watch the same program recorded later on BBC2, it works just fine.
> 
> The one thing that comes to mind is that the BBC4 recording has a 5 minute pre-roll which starts before the channel is on air, while on the later BBC2 recording the pre-roll will be the end of a previous program. If this is the problem, is there a setting I'm missing as version 0.24.1 I used to run handled this - not very well, but it managed it.
> 
> Mediainfo suggests both are the same MPEG streams. If I download the ts file, VLC player plays it fine - it has the "We'll be on air at 7" card for a while then switches to video.
> 
> 
> If I ask for verbose playback logging I get :
> 
> CoreContext tv_play.cpp:5943 (StartPlayer) - TV::StartPlayer(): Created player.
> CoreContext tv_play.cpp:2576 (HandleStateChange) - TV::HandleStateChange(): Changing from None to WatchingRecording
> Decoder avformatdecoder.cpp:1023 (HandleStreamChange) - AFD: streams_changed 0x55b44c0b0ac0 -- stream count 2
> Decoder avformatdecoder.cpp:810 (SeekReset) - AFD: SeekReset(0, 0, do flush, do discard)
> Decoder avformatdecoder.cpp:840 (SeekReset) - AFD: SeekReset() flushing
> Decoder videoout_xv.cpp:1356 (DiscardFrames) - VideoOutputXv: DiscardFrames(1)
> Decoder videobuffers.cpp:633 (DiscardFrames) - VideoBuffers::DiscardFrames(1): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> Decoder videobuffers.cpp:694 (DiscardFrames) - VideoBuffers::DiscardFrames(1): AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP -- done
> Decoder videoout_xv.cpp:1362 (DiscardFrames) - VideoOutputXv: DiscardFrames() 3: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP -- done()
> Decoder avformatdecoder.cpp:2182 (ScanStreams) - AFD: Stream #0, has id 0x1c2b codec id DSMCC_B, type Data, bitrate 0 at 0x7f0134013f80
> Decoder avformatdecoder.cpp:2245 (ScanStreams) - AFD: data codec (Data)
> Decoder avformatdecoder.cpp:2182 (ScanStreams) - AFD: Stream #1, has id 0x1c21 codec id DSMCC_B, type Data, bitrate 0 at 0x7f0134016140
> Decoder avformatdecoder.cpp:2245 (ScanStreams) - AFD: data codec (Data)
> Decoder avformatdecoder.cpp:2443 (ScanStreams) - AFD: Trying to select best video track
> Decoder avformatdecoder.cpp:2463 (ScanStreams) - AFD: No video track found/selected.
> Decoder mythplayer.cpp:1800 (SetFrameInterval) - Player(0): SetFrameInterval ps:1 scan:3
> Decoder videodisplayprofile.cpp:575 (LoadBestPreferences) - VDP: LoadBestPreferences(640x480, 25.000, mpeg2video)
> Decoder videodisplayprofile.cpp:589 (LoadBestPreferences) - VDP: LoadBestPreferences Result prio:2, w:, h:, fps:, codecs:, decoder:ffmpeg, renderer:xv-blit, deint:gr
> Decoder videoout_xv.cpp:253 (InputChanged) - VideoOutputXv: InputChanged(640,480,1.33333) 'MPEG2'->'MPEG2'
> Decoder mythplayer.cpp:673 (detectInterlace) - Player(0): detectInterlace(Ignore Scan, Interlaced Scan, 25, 480) ->Interlaced Scan
> CoreContext tv_play.cpp:2682 (HandleStateChange) - TV::HandleStateChange(): Main UI disabled.
> CoreContext tv_play.cpp:432 (StartTV) - TV::StartTV(): Entering main playback loop.
> CoreContext mythplayer.cpp:814 (SetScanType) - Player(0): Enabled Video Output based deinterlacing
> CoreContext mythplayer.cpp:2469 (SetBuffering) - Player(0): Waiting for video buffers...
> CoreContext mythplayer.cpp:2536 (PrebufferEnoughFrames) - Player(0): Waited 114ms for video buffers AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> CoreContext mythplayer.cpp:2536 (PrebufferEnoughFrames) - Player(0): Waited 230ms for video buffers AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 
> <loads more lines like this, culminating in :>
> 
> CoreContext mythplayer.cpp:2532 (PrebufferEnoughFrames) - Player(0): Waited 29964ms for video buffers AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> CoreContext mythplayer.cpp:2582 (PrebufferEnoughFrames) - Player(0): Waited too long for decoder to fill video buffers. Exiting..
> CoreContext tv_play.cpp:2319 (HandleStateChange) - TV::HandleStateChange(): Attempting to change from WatchingRecording to None
> 
> 
> MythTV Version : v30.0
> MythTV Branch :
> Network Protocol : 91
> Library API : 30.20181231-1
> QT Version : 5.7.1
> 

BBC FOUR services start at 7 pm.  I get good recordings with a 1-minute 
pre-roll.   With a 2-minute pre-roll the audio output graph in the 
editor shows non-audio data, and for more than 2-minutes playback fails.

It's been like this 'forever'.  I think dependence on MythTV version 
arises because the mythffmpeg stream analysis has taken samples at 
different places.  Sometimes ffmpeg has worked when mythffmpeg has 
failed, or vv.

I used to find that recordings from the kids' CBeebies channel that 
recorded beyond the 7 pm changeover also failed to display properly.

If you want to keep a recording that is affected by this, try dropping 
the first few MB.

https://code.mythtv.org/trac/ticket/13557#comment:13

John P




More information about the mythtv-users mailing list