[mythtv-users] Channel scanner won't find a specific channel
John Pilkington
J.Pilk at tesco.net
Fri Feb 5 16:53:28 UTC 2016
On 05/02/16 16:08, David Parker wrote:
> On Fri, Feb 5, 2016 at 9:33 AM, David Parker <parker.david.a at gmail.com
> <mailto:parker.david.a at gmail.com>> wrote:
>
> On Fri, Feb 5, 2016 at 7:33 AM, John Pilkington <J.Pilk at tesco.net
> <mailto:J.Pilk at tesco.net>> wrote:
>
> On 05/02/16 04:35, David Parker wrote:
>
> <snip>
>
> I haven't had a chance to try the lossless transcode yet,
> but I did
> verify that this is only a MythTV issue. I recorded a
> program from this
> troublesone channel, and it has consistently had choppy
> audio and video
> every time I've watched the recording in MythTV. I copied
> the mpeg file
> from the "recorded" directory to another PC with far worse
> hardware and
> an older version of Debian. The video played flawlessly in
> Xine on the
> other PC.
>
>
> Have you looked at the frontend log, perhaps with -v playback?
> There are other tools you could use to examine the file (vlc,
> mediainfo) but it doesn't sound as if your problems are with
> faulty or noisy capture.
>
> There are ways of filtering out unwanted streams; mythutil
> --help shows several tools for mpeg-ts files (which I have never
> tried) and I routinely use a script to do it - but it would be
> better to get the recorder to do that rather than try to fix
> things later. There are a few options in mythtvsetup.
>
> HP-mini had some good suggestions too, but I won't copy them here.
>
>
> What's really got me scratching my head is the fact that
> this one single
> channel is choppy when I watch it live through MythTV, too.
> So for some
> reason, MythTV is having issues with the data coming from
> the tuner for
> this one particular channel. Same channel which MythTV
> couldn't even
> find until I told it where to look.
>
> The channel is crystal clear on the TV.
>
>
> Thanks for the suggestions, guys. I'll give these a try. I want to
> avoid troubleshooting this as an issue with the stream itself,
> though. As I said before, if I take the mpeg recorded by MythTV and
> play it in another player (such as Xine), it's fine. So this seems
> to only be an issue with MythTV's playback of the recording, and
> only seems to be with recordings from that particular channel. It's
> very strange.
>
> I'll try some of these suggestions and post back my results.
>
> Thanks!
>
>
> As a quick first test, I tried playing a few videos through MythTV with
> "-v playback" set, as John suggested.
>
> For a problematic recording, the following lines were logged by
> avformatdecorder.cpp which may be useful (timestamps and thread info
> removed for brevity):
>
> CoreContext avformatdecoder.cpp:980 (InitByteContext) - AFD: Buffer
> size: 32768 streamed 0 seekable 1
> CoreContext avformatdecoder.cpp:2099 (ScanStreams) - AFD: Stream #0, has
> id 0x6f codec id MPEG2VIDEO, type Video, bitrate 0 at 0x308b360
> CoreContext avformatdecoder.cpp:2099 (ScanStreams) - AFD: Stream #1, has
> id 0x70 codec id AC3, type Audio, bitrate 384000 at 0x30708e0
> CoreContext avformatdecoder.cpp:2141 (ScanStreams) - AFD: codec AC3 has
> 6 channels
> CoreContext avformatdecoder.cpp:2198 (ScanStreams) - AFD: Looking for
> decoder for AC3
> CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) - AFD: Opened codec
> 0x3084b40, id(AC3) type(Audio)
> CoreContext avformatdecoder.cpp:2099 (ScanStreams) - AFD: Stream #2, has
> id 0x71 codec id AC3, type Audio, bitrate 192000 at 0x3084fa0
> CoreContext avformatdecoder.cpp:2141 (ScanStreams) - AFD: codec AC3 has
> 2 channels
> CoreContext avformatdecoder.cpp:2198 (ScanStreams) - AFD: Looking for
> decoder for AC3
> CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) - AFD: Opened codec
> 0x3095900, id(AC3) type(Audio)
> CoreContext avformatdecoder.cpp:2340 (ScanStreams) - AFD: Trying to
> select best video track
> CoreContext avformatdecoder.cpp:2376 (ScanStreams) - AFD: Selected track
> #0 (id 0x6f codec id MPEG2VIDEO, type Video, bitrate 500000 at 0x308b360)
> CoreContext avformatdecoder.cpp:2511 (ScanStreams) - AFD: Using 0 CPUs
> for decoding
> CoreContext avformatdecoder.cpp:1556 (InitVideoCodec) - AFD:
> InitVideoCodec() 0x308b640 id(MPEG2VIDEO) type (Video).
> CoreContext avformatdecoder.cpp:1460 (normalized_fps) - AFD: Selected
> FPS is 59.9401 (avg 59.9401 codec 59.9401 container 90000 estimated 59.9401)
> CoreContext avformatdecoder.cpp:1918 (UpdateATSCCaptionTracks) - AFD:
> EIA-608 caption service #1 is in the Unknown language.
> CoreContext avformatdecoder.cpp:2523 (ScanStreams) - AFD: Using ffmpeg
> for video decoding
> CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) - AFD: Opened codec
> 0x308b640, id(MPEG2VIDEO) type(Video)
> CoreContext avformatdecoder.cpp:1359 (OpenFile) - AFD: Position map found
> CoreContext avformatdecoder.cpp:1364 (OpenFile) - AFD: Successfully
> opened decoder for file: "/mnt/data/recorded/1115_20160204170000.mpg".
> novideo(0)
>
> Then the video began playing, choppy as always. The log was filled with
> lines like this:
>
> CoreContext mythplayer.cpp:1967 (AVSync) - Player(0): Video is 3.2288
> frames ahead of audio,
> doubling video frame interval to slow down.
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 786432, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> CoreContext mythplayer.cpp:1967 (AVSync) - Player(0): Video is 3.50501
> frames ahead of audio,
> doubling video frame interval to slow down.
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 819200, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> CoreContext mythplayer.cpp:1967 (AVSync) - Player(0): Video is 3.45711
> frames ahead of audio,
> doubling video frame interval to slow down.
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 851968, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> CoreContext mythplayer.cpp:1967 (AVSync) - Player(0): Video is 3.1661
> frames ahead of audio,
> doubling video frame interval to slow down.
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 884736, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 917504, 65536) -> 65536, took 0 ms (1000Mbps) avg 187 ms
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 983040, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 1015808, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> CoreContext mythplayer.cpp:1967 (AVSync) - Player(0): Video is 3.25613
> frames ahead of audio,
> doubling video frame interval to slow down.
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1115_20160204170000.mpg):
> safe_read(... at 1048576, 65536) -> 65536, took 0 ms (1000Mbps) avg 187 ms
> CoreContext mythplayer.cpp:1967 (AVSync) - Player(0): Video is 3.34328
> frames ahead of audio,
> doubling video frame interval to slow down.
> CoreContext mythplayer.cpp:1967 (AVSync) - Player(0): Video is 3.15387
> frames ahead of audio,
> doubling video frame interval to slow down.
>
> Then I played a video recorded off a different HD channel, which plays
> fine. The avformatdecoder.cpp messages for this file were as follows:
>
> CoreContext avformatdecoder.cpp:980 (InitByteContext) - AFD: Buffer
> size: 32768 streamed 0 seekable 1
> CoreContext avformatdecoder.cpp:2099 (ScanStreams) - AFD: Stream #0, has
> id 0x79 codec id MPEG2VIDEO, type Video, bitrate 0 at 0x33ed0a0
> CoreContext avformatdecoder.cpp:2099 (ScanStreams) - AFD: Stream #1, has
> id 0x7a codec id AC3, type Audio, bitrate 384000 at 0x33deb60
> CoreContext avformatdecoder.cpp:2141 (ScanStreams) - AFD: codec AC3 has
> 2 channels
> CoreContext avformatdecoder.cpp:2198 (ScanStreams) - AFD: Looking for
> decoder for AC3
> CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) - AFD: Opened codec
> 0x3589be0, id(AC3) type(Audio)
> CoreContext avformatdecoder.cpp:2099 (ScanStreams) - AFD: Stream #2, has
> id 0x7b codec id AC3, type Audio, bitrate 128000 at 0x35c1f20
> CoreContext avformatdecoder.cpp:2141 (ScanStreams) - AFD: codec AC3 has
> 2 channels
> CoreContext avformatdecoder.cpp:2198 (ScanStreams) - AFD: Looking for
> decoder for AC3
> CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) - AFD: Opened codec
> 0x33ffe80, id(AC3) type(Audio)
> CoreContext avformatdecoder.cpp:2340 (ScanStreams) - AFD: Trying to
> select best video track
> CoreContext avformatdecoder.cpp:2376 (ScanStreams) - AFD: Selected track
> #0 (id 0x79 codec id MPEG2VIDEO, type Video, bitrate 500000 at 0x33ed0a0)
> CoreContext avformatdecoder.cpp:2511 (ScanStreams) - AFD: Using 0 CPUs
> for decoding
> CoreContext avformatdecoder.cpp:1556 (InitVideoCodec) - AFD:
> InitVideoCodec() 0x360c000 id(MPEG2VIDEO) type (Video).
> CoreContext avformatdecoder.cpp:1460 (normalized_fps) - AFD: Selected
> FPS is 29.97 (avg 29.97 codec 29.97 container 90000 estimated 29.97)
> CoreContext avformatdecoder.cpp:1918 (UpdateATSCCaptionTracks) - AFD:
> EIA-708 caption service #1 is in the English language.
> CoreContext avformatdecoder.cpp:2523 (ScanStreams) - AFD: Using ffmpeg
> for video decoding
> CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) - AFD: Opened codec
> 0x360c000, id(MPEG2VIDEO) type(Video)
> CoreContext avformatdecoder.cpp:1359 (OpenFile) - AFD: Position map found
> CoreContext avformatdecoder.cpp:1364 (OpenFile) - AFD: Successfully
> opened decoder for file: "/mnt/data/recorded/1241_20160204160000.mpg".
> novideo(0)
>
> There were a handful of those "doubling video frame interval to slow
> down" messages logged within the first second that the video was
> playing, but after that, all of the messages while it played looked like
> this:
>
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1241_20160204160000.mpg):
> safe_read(... at 3145728, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1241_20160204160000.mpg):
> safe_read(... at 3178496, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1241_20160204160000.mpg):
> safe_read(... at 3211264, 32768) -> 32768, took 0 ms (1000Mbps) avg 187 ms
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1241_20160204160000.mpg):
> safe_read(... at 3244032, 98304) -> 98304, took 0 ms (1000Mbps) avg 187 ms
> RingBuffer ringbuffer.cpp:1037 (run) -
> RingBuf(/mnt/data/recorded/1241_20160204160000.mpg):
> safe_read(... at 3342336, 65536) -> 65536, took 0 ms (1000Mbps) avg 187 ms
>
> I noticed that the AC3 audio bitrate of the choppy video is 192000,
> while that of the stable video is 128000. I also noticed that the
> selected framerate of the choppy video was ~60 FPS, whereas that of the
> stable video was ~30 FPS. Still, it seems that 60 FPS and an audio
> bitrate of 192000 should be handled easily by this PC (AMD Phenom II X3
> 2.8 GHz, 4 GB RAM).
>
> Thanks!
> Dave
Well, the ~60 Hz vs ~30 Hz video frame rate offers a plausible
explanation; and both your samples seem to have prime audio rates of 384
kbs, so I guess that's standard. I doubt that I can do much more now,
but a sample would probably be of interest :-)
Cheers,
John
More information about the mythtv-users
mailing list