Opened 4 years ago

Closed 3 years ago

#13557 closed Bug Report - General (Fixed)

Decode errors

Reported by: Jarno Suni Owned by: Mark Kendall
Priority: major Milestone: 32.0
Component: MythTV - Video Decoding Version: v30-fixes
Severity: high Keywords:
Cc: Ticket locked: no

Description

mythtv-frontend 2:30.0+fixes.201912012038.a27754a~ubuntu19.10.1

When using VAAPI2 decoder: With some recordings playback ends with decode error. If I symlinked the respective ts-file from recordings directory to videos directory I could play it there without the error.

When using Standard decoder: The decode error may happen even if I play from the videos directory. (Besides frontend chashes often.)

Attachments (2)

zoomed_2020-04-04_00-26-44.png (699.2 KB) - added by Jarno Suni 4 years ago.
playback of Yle HD channel starts zoomed
myth-live-zoom-freeze.log (103.8 KB) - added by Jarno Suni 4 years ago.

Download all attachments as: .zip

Change History (42)

comment:1 Changed 4 years ago by Mark Kendall

Status: newinfoneeded_new

Can you please provide a 30-60second sample. Thanks

comment:2 Changed 4 years ago by Jarno Suni

Download the sample here: https://drive.google.com/open?id=1_dYmRaB_FJpJLhV395j74tytJ3gBg0z8 (The error happens almost at the beginning. I extracted the video from a longer video simply using dd.)

Last edited 4 years ago by Jarno Suni (previous) (diff)

comment:3 Changed 4 years ago by Mark Kendall

Component: MythTV - GeneralMythTV - Video Decoding
Milestone: needs_triage31.0
Owner: set to Mark Kendall
Status: infoneeded_newassigned

Confirmed that the sample has major issues playing in master.

The problem appears to be in our custom mpegts-mythtv demuxer.

A workaround is to enable 'Use FFmpeg's original MPEG-TS muxer' (Setup->Video->Playback->General Playback)

Unfortunately that does not detect all of the streams - and will not detect all subsequent stream changes.

This is the same problem as ticket #13218 - which appears to be a sample from the same channel.

comment:4 Changed 4 years ago by Mark Kendall

Output from 'ffprobe decode-error.ts':-

Input #0, mpegts, from 'decode-error.ts':
  Duration: 00:00:36.65, start: 13416.566033, bitrate: 5140 kb/s
  Program 1 
    Stream #0:0[0x136]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x352](fin): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:2[0x13ec](fin): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250
    Stream #0:3[0x1901]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:4[0x353](dut): Audio: ac3 (AC-3 / 0x332D4341), 0 channels (visual impaired) (descriptions)
    Stream #0:5[0x467](fin): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:6[0x47e](fin): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
Unsupported codec with id 0 for input stream 3

comment:5 Changed 4 years ago by Mark Kendall

Output from mythfronted log (-v playback) when using FFmpeg demuxer (NOTE: only 4 streams detected):-

2020-01-28 09:50:48.901472 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1011:OpenFile  AFD: Using FFmpeg MPEG-TS demuxer (forced)
2020-01-28 09:50:48.901488 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:918:InitByteContext  AFD: Buffer size: 32768 Streamed 0 Seekable 1 Available 327680
2020-01-28 09:50:48.997822 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #0: ID: 0x136 Codec ID: H264 Type: Video(1920x1080) Bitrate: 0
2020-01-28 09:50:48.997831 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #1: ID: 0x352 Codec ID: AC3 Type: Audio Bitrate: 448000
2020-01-28 09:50:48.997834 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2033:ScanStreams  AFD: codec AC3 has 2 channels
2020-01-28 09:50:48.997836 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2090:ScanStreams  AFD: Looking for decoder for AC3
2020-01-28 09:50:48.997966 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2508:OpenAVCodec  AFD: Opened codec 0x55c99a985640, id(AC3) type(Audio)
2020-01-28 09:50:48.997984 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #2: ID: 0x13ec Codec ID: DVB_TELETEXT Type: Subtitle Bitrate: 0
2020-01-28 09:50:48.997986 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2047:ScanStreams  AFD: subtitle codec (Subtitle)
2020-01-28 09:50:48.997989 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #3: ID: 0x1901 Codec ID: NONE Type: Unknown Bitrate: 0
2020-01-28 09:50:48.997992 E [23256/23256] CoreContext decoders/avformatdecoder.cpp:2074:ScanStreams  AFD: Unknown codec type (Unknown)
2020-01-28 09:50:48.997993 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2254:ScanStreams  AFD: Trying to select best video track
2020-01-28 09:50:48.998014 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2294:ScanStreams  AFD: Selected track #0: ID: 0x136 Codec ID: H264 Profile: High Type: Video(1920x1080) Bitrate: 500000

comment:6 Changed 4 years ago by Mark Kendall

Output from mythfrontend with mythtv demuxer. 6 streams detected but not complete and playback goes into a tailspin as the video size is not detected properly:-

2020-01-28 09:52:54.910784 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #0: ID: 0x136 Codec ID: H264 Type: Video(0x0) Bitrate: 0
2020-01-28 09:52:54.910791 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #1: ID: 0x352 Codec ID: AC3 Type: Audio Bitrate: 0
2020-01-28 09:52:54.910794 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2033:ScanStreams  AFD: codec AC3 has 0 channels
2020-01-28 09:52:54.910796 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2090:ScanStreams  AFD: Looking for decoder for AC3
2020-01-28 09:52:54.910925 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2508:OpenAVCodec  AFD: Opened codec 0x55c99a9476c0, id(AC3) type(Audio)
2020-01-28 09:52:54.911115 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #2: ID: 0x353 Codec ID: AC3 Type: Audio Bitrate: 0
2020-01-28 09:52:54.911117 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2033:ScanStreams  AFD: codec AC3 has 0 channels
2020-01-28 09:52:54.911119 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2090:ScanStreams  AFD: Looking for decoder for AC3
2020-01-28 09:52:54.911240 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2508:OpenAVCodec  AFD: Opened codec 0x55c99cd38480, id(AC3) type(Audio)
2020-01-28 09:52:54.911264 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #3: ID: 0x467 Codec ID: DVB_SUBTITLE Type: Subtitle Bitrate: 0
2020-01-28 09:52:54.911266 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2047:ScanStreams  AFD: subtitle codec (Subtitle)
2020-01-28 09:52:54.911268 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2090:ScanStreams  AFD: Looking for decoder for DVB_SUBTITLE
2020-01-28 09:52:54.911396 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2508:OpenAVCodec  AFD: Opened codec 0x55c99ac3ea00, id(DVB_SUBTITLE) type(Subtitle)
2020-01-28 09:52:54.911407 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2195:ScanStreams  AFD: Subtitle track #1 is A/V stream #3 and is in the Finnish language(6711662).
2020-01-28 09:52:54.911410 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #4: ID: 0x47e Codec ID: DVB_SUBTITLE Type: Subtitle Bitrate: 0
2020-01-28 09:52:54.911413 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2047:ScanStreams  AFD: subtitle codec (Subtitle)
2020-01-28 09:52:54.911415 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2090:ScanStreams  AFD: Looking for decoder for DVB_SUBTITLE
2020-01-28 09:52:54.911532 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2508:OpenAVCodec  AFD: Opened codec 0x55c99c0984c0, id(DVB_SUBTITLE) type(Subtitle)
2020-01-28 09:52:54.911538 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2195:ScanStreams  AFD: Subtitle track #2 is A/V stream #4 and is in the Finnish language(6711662).
2020-01-28 09:52:54.911542 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1981:ScanStreams  AFD: Stream #5: ID: 0x13ec Codec ID: DVB_TELETEXT Type: Subtitle Bitrate: 0
2020-01-28 09:52:54.911557 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:1842:ScanTeletextCaptions  AFD: Teletext stream #0 (Menu) is in the Finnish language on page 1 0.
2020-01-28 09:52:54.911562 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2047:ScanStreams  AFD: subtitle codec (Subtitle)
2020-01-28 09:52:54.911564 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2254:ScanStreams  AFD: Trying to select best video track
2020-01-28 09:52:54.911583 I [23256/23256] CoreContext decoders/avformatdecoder.cpp:2294:ScanStreams  AFD: Selected track #0: ID: 0x136 Codec ID: H264 Profile:  Type: Video(0x0) Bitrate: 500000

comment:7 Changed 4 years ago by Mark Kendall

Output from mediainfo decode-error.ts:-

ID                                       : 4865 (0x1301)
Complete name                            : decode-error.ts
Format                                   : MPEG-TS
File size                                : 22.5 MiB
Duration                                 : 35 s 705 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 5 270 kb/s

Video
ID                                       : 310 (0x136)
Menu ID                                  : 1 (0x1)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings                          : CABAC / 4 Ref Frames
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : 27
Duration                                 : 35 s 240 ms
Bit rate                                 : 4 363 kb/s
Maximum bit rate                         : 10.0 Mb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 25.000 FPS
Standard                                 : Component
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : MBAFF
Scan type, store method                  : Interleaved fields
Scan order                               : Top Field First
Bits/(Pixel*Frame)                       : 0.084
Stream size                              : 18.3 MiB (82%)
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio #1
ID                                       : 850 (0x352)
Menu ID                                  : 1 (0x1)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : 129
Duration                                 : 35 s 648 ms
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Maximum bit rate                         : 459 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : -1 s 15 ms
Stream size                              : 1.90 MiB (8%)
Language                                 : Finnish
Service kind                             : Complete Main

Audio #2
ID                                       : 851 (0x353)
Menu ID                                  : 1 (0x1)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : 129
Duration                                 : 28 s 288 ms
Bit rate mode                            : Constant
Bit rate                                 : 192 kb/s
Maximum bit rate                         : 230 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : 6 s 410 ms
Stream size                              : 663 KiB (3%)
Language                                 : Dutch
Service kind                             : Complete Main

Text #1
ID                                       : 1127 (0x467)
Menu ID                                  : 1 (0x1)
Format                                   : DVB Subtitle
Codec ID                                 : 6
Delay relative to video                  : 8 s 647 ms
Language                                 : Finnish

Text #2
ID                                       : 1150 (0x47E)
Menu ID                                  : 1 (0x1)
Format                                   : DVB Subtitle
Codec ID                                 : 6
Duration                                 : 6 s 79 ms
Delay relative to video                  : 8 s 647 ms
Language                                 : Finnish

Other
ID                                       : 5100 (0x13EC)-100
Menu ID                                  : 1 (0x1)
Format                                   : Teletext
Language                                 : Finnish

Menu
ID                                       : 210 (0xD2)
Menu ID                                  : 1 (0x1)
Duration                                 : 35 s 705 ms
List                                     : 310 (0x136) (AVC) / 850 (0x352) (AC-3, Finnish) / 5100 (0x13EC)-100 (Teletext, fi) / 6401 (0x1901) () / 851 (0x353) (AC-3, Dutch) / 1127 (0x467) (DVB Subtitle, Finnish) / 1150 (0x47E) (DVB Subtitle, Finnish)
Language                                 :  / Finnish / Finnish /  / Dutch / Finnish / Finnish
Maximum bit rate                         : 13418400

comment:8 Changed 4 years ago by Mark Kendall

Output of av_dump_format from mythfrontend when using mythtv demuxer:-

2020-01-28 09:59:03.565068 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Input #0, mpegts, from '/home/mark/Videos//decode-error.ts':
2020-01-28 09:59:03.565079 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Duration: N/A, bitrate: N/A
2020-01-28 09:59:03.565171 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Stream #0:0[0x136], 0, 1/90000: Video: h264, none, 500 kb/s, 90k tbn
2020-01-28 09:59:03.565242 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Stream #0:1[0x352](fin), 0, 1/90000: Audio: ac3 (AC-3 / 0x332D4341), 0 channels
2020-01-28 09:59:03.565303 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Stream #0:2[0x353](dut), 0, 1/90000: Audio: ac3 (AC-3 / 0x332D4341), 0 channels
2020-01-28 09:59:03.565357 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Stream #0:3[0x467](fin), 0, 1/90000: Subtitle: dvb_subtitle
2020-01-28 09:59:03.565408 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Stream #0:4[0x47e](fin), 0, 1/90000: Subtitle: dvb_subtitle
2020-01-28 09:59:03.565461 I [23754/23754] CoreContext decoders/avformatdecoder.cpp:303:myth_av_log  Stream #0:5[0x13ec](fin), 0, 1/90000: Subtitle: dvb_teletext

comment:9 Changed 4 years ago by jpilk

It looks to me as if this could be a recording from the start of a part-time channel, when stream identification has always given problems. The easiest workaround is to start recording later.

comment:10 Changed 4 years ago by dagnygren

How can I get myself on the notification list for this ticket? Would be nice to know what is going on here. Also tell me if I can help with something, please.

comment:11 in reply to:  3 Changed 4 years ago by Jarno Suni

Replying to mark-kendall:

A workaround is to enable 'Use FFmpeg's original MPEG-TS muxer' (Setup->Video->Playback->General Playback)

I do not see such an option on Mythtv 30.

comment:12 Changed 4 years ago by jpilk

mv mythfilename mythfilename0 Test playback for assorted values of n: 3 worked for me dd bs=1M skip=n count=40 if=mythfilename0 of=mythfilename

When satisfied mythcommflag -q --rebuild --file mythfilename rm mythfilename0

and see comment 9

comment:13 Changed 4 years ago by jpilk

 
mv mythfilename mythfilename0 

## Test playback for assorted values of n: 3 worked for me 

dd bs=1M skip=n count=40 if=mythfilename0 of=mythfilename

## When satisfied (omitted in the initial post) :

dd bs=1M skip=n if=mythfilename0 of=mythfilename

mythcommflag -q --rebuild --file mythfilename 

rm mythfilename0

## and see comment 9 :-)
Last edited 4 years ago by jpilk (previous) (diff)

comment:14 Changed 4 years ago by Jarno Suni

Also got decode errors when using VDPAU.

comment:15 Changed 4 years ago by Jarno Suni

Sometimes decode error happens after many minutes of playback. This did not happen by 29.

comment:16 Changed 4 years ago by Mark Kendall

Milestone: 31.032.0
Priority: criticalmajor

comment:17 Changed 4 years ago by Jarno Suni

Frontend crashes occasionally when playing the clip when using mythfrontend version 31. https://pastebin.com/XH0c2Liz

comment:18 Changed 4 years ago by jpilk

The clip that you posted played with no problem for me after I had deleted the first 3 MiB. See Comment 13.

You are attempting to play streams which do not exist in the recording at the position where the stream analysis is done. I believe that this is also true for other tickets that you have opened recently. MythTV should perhaps handle the situation better, but the simple workaround is to delay the start of the recording until the part-time channel is properly established.

comment:19 Changed 4 years ago by grandmastermarclar

Starting a recording later may, thanks to scheduling and current events, miss the beginning. Plus, it's impossible to use mythfrontend to edit such recordings (of which I have a few from BBC FOUR HD here in the UK).

comment:20 Changed 4 years ago by Jarno Suni

Do you mean I should change each recording rule so that they start 1 minutes later or what? What is a part-time channel? Of course MythTV should handle the situation better. Currently I can not record any HD broadcast or play HD live TV. If there is something wrong with the broadcasts, it is something that I can not do much about.

comment:21 Changed 4 years ago by jpilk

In the UK, the BBC FOUR schedule starts at 19:00 local time. CBeebies, a channel for toddlers, ends then. They use the same DVB transport, but their streams have different identifiers. I find that recordings from BBC FOUR (SD) that are scheduled to start at 18:59 have no problems. 18:58 gives corrupt displays of audio level in the Myth video editor, and occasionally a segfault. I forget what happens for 18:57 or earlier.

In the past I have had related problems when recording past 19:00 from CBeebies; and ffmpeg and mythffmpeg have sometimes used different time offsets for their stream analysis.

There are many other examples of such part-time channels here. The timing of the changeovers is probably reliable.

There are comments about this buried in https://www.mythtv.org/wiki/MythDVBcut

comment:22 Changed 4 years ago by Jarno Suni

I also get segmentation faults occasionally when trying to play recordings from Yle HD channels in Finland. Now new thing with version 31 of the frontend is that only zoomed left top of video is shown. See the attachment. The code seems really far from being robust.

Changed 4 years ago by Jarno Suni

playback of Yle HD channel starts zoomed

comment:23 Changed 4 years ago by Jarno Suni

If I play such a recording using ASX stream from MythWeb by VLC, there are no those problems (but I miss at least bookmark handling).

comment:24 in reply to:  22 Changed 4 years ago by Jarno Suni

As for comment 22, there is a video sample here https://drive.google.com/file/d/12cNyfFrD0D05fjPg3QWE8UK5VdQIeYYc/view?usp=sharing MythFrontend version 31 has hard time starting playback, but if I press right arrow, I may get is started. However, the display seem zoomed like shown in previous screenshot I attached. This does not happen, if I use another media player. This does not happen with all recordings, even when recorded from same channel.

comment:25 Changed 4 years ago by jpilk

Yes, Myth with recent master plays it zoomed, and after some delay. But again it plays perfectly if the first 3 Mib are removed as in Comment 13.

comment:26 Changed 4 years ago by jpilk

... but mythcommflag --rebuild reports 'no I-frames found, rewinding' and there are seektable problems with any start truncation length that I have tried. It's a short sample. H264 NVDEC with 2x Nvdec adaptive

comment:27 Changed 4 years ago by jpilk

The 'mythical bookmark' might be confusing this issue. If you have a 'pre-roll' set up, mythtv will normally start playback at the point corresponding to the programme's listed start time. This will be at the pre-roll time interval into the file. You would not normally be expected to see the first few seconds of the recording, but by default dd will give it to you (and us) as your sample - and myth will use it in its stream analysis.

I still think that you should reduce the pre-roll when recording a programme immediately after channel start-up. Later programmes on the same channel will not have this problem.

comment:28 Changed 4 years ago by Jarno Suni

So how do you reduce the pre-roll?

comment:29 Changed 4 years ago by jpilk

Manage Recordings > Upcoming Recordings > highlight the one at risk > Select > Edit recording rule > Schedule Options > Start Recording X minutes early/late (adjust with left/right arrow keys) > Back > Save (will return to Upcoming recordings and on my system shows the new start time)

'Start 1 minute early' works for me. 'On time' would be a better choice for a test.

As usual the are many other ways of doing it. This one doesn't assume that you have a keyboard.

Hope that helps.

comment:30 Changed 4 years ago by Jarno Suni

I tried setting 'Start 1 minute early', but Mythfrontend still shows video zoomed and cropped. Should I make a separate bug report about that? The setting may help for not getting decode error, but I may still have it, if I wind by right arrow.

comment:31 Changed 4 years ago by jpilk

Can you say what that setting was *before* you set it to '1 minute early' ? Can you try it at 0? Where in the file is the decode error happening now?

I played your samples as 'recordings' after cutting the start, overwriting a similar recording made locally, and running 'mythcommflag --rebuild --file xxx'. The new (?) partial failure of that last step (Comment 26) bothers me.

comment:32 Changed 4 years ago by Klaas de Waal

The video clip zoomed.ts from comment:24 does play with wrong aspect ratio on my living room system with Nvidia graphics. I am not the expert on video coding but IIRC there are bits in the stream that specify the aspect ratio. Again from memory, these bits are repeated regularly becase you must always be able to switch a TV on at any given moment so at any position in the stream. It looks to me that it may be necessary to look for a longer time in the video stream to find the aspect ratio.

comment:33 Changed 4 years ago by jpilk

It doesn't look as if Yle TV1 is a 'part time' channel, unlike BBC FOUR, but the problem here is much the same: a rapid change in the stream structure. Here's a not-particularly-elegant analysis.

[john@HPFed rec22]$ dd bs=1M skip=0 count=1  if=zoomed13557.ts0 of=zoomed13557.ts                              
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0258292 s, 40.6 MB/s
[john@HPFed rec22]$  mythffmpeg -i zoomed13557.ts 2>&1 | grep -A 8 Video                    
    Stream #0:0[0x136]: Video: h264 (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x352](fin): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:2[0x467](fin): Subtitle: dvb_subtitle
    Stream #0:3[0x468](swe): Subtitle: dvb_subtitle
    Stream #0:4[0x47e](fin): Subtitle: dvb_subtitle
    Stream #0:5[0x13ec](fin): Subtitle: dvb_teletext
At least one output file must be specified

[john@HPFed rec22]$ dd bs=1M skip=1 count=1  if=zoomed13557.ts0 of=zoomed13557.ts 
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0204484 s, 51.3 MB/s
[john@HPFed rec22]$  mythffmpeg -i zoomed13557.ts 2>&1 | grep -A 8 Video         
[mpegts @ 0x8cc840] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'zoomed13557.ts':
  Duration: 00:00:02.01, start: 45334.824956, bitrate: 4183 kb/s
    Stream #0:0[0x136]: Video: h264, none, 50 fps, 50 tbr, 90k tbn, 180k tbc
    Stream #0:1[0x352](fin): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:2[0x467](fin): Subtitle: dvb_subtitle
    Stream #0:3[0x468](swe): Subtitle: dvb_subtitle
    Stream #0:4[0x47e](fin): Subtitle: dvb_subtitle
    Stream #0:5[0x13ec](fin): Subtitle: dvb_teletext
At least one output file must be specified

[john@HPFed rec22]$ dd bs=1M skip=2 count=1  if=zoomed13557.ts0 of=zoomed13557.ts 
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0181638 s, 57.7 MB/s
[john@HPFed rec22]$  mythffmpeg -i zoomed13557.ts 2>&1 | grep -A 8 Video         
    Stream #0:0[0x136]: Video: h264 (Main), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25.58 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x352](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:2[0x355](dut): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x467](fin): Subtitle: dvb_subtitle
    Stream #0:4[0x13ec](fin): Subtitle: dvb_teletext
At least one output file must be specified

[john@HPFed rec22]$ dd bs=1M skip=3 count=1  if=zoomed13557.ts0 of=zoomed13557.ts 
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0236406 s, 44.4 MB/s
[john@HPFed rec22]$  mythffmpeg -i zoomed13557.ts 2>&1 | grep -A 8 Video
    Stream #0:0[0x136]: Video: h264 (Main), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25.92 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x352](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:2[0x355](dut): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x467](fin): Subtitle: dvb_subtitle
    Stream #0:4[0x13ec](fin): Subtitle: dvb_teletext
At least one output file must be specified

[john@HPFed rec22]$ dd bs=1M skip=4 count=1  if=zoomed13557.ts0 of=zoomed13557.ts
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00762243 s, 138 MB/s
[john@HPFed rec22]$  mythffmpeg -i zoomed13557.ts 2>&1 | grep -A 8 Video
    Stream #0:0[0x136]: Video: h264 (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x352](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:2[0x355](dut): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x467](fin): Subtitle: dvb_subtitle
    Stream #0:4[0x13ec](fin): Subtitle: dvb_teletext
At least one output file must be specified
[john@HPFed rec22]$ 

comment:34 Changed 4 years ago by Jarno Suni

With another recording from the channel, mythfrontend may freeze on playback.

comment:35 in reply to:  22 ; Changed 4 years ago by s1shed

Replying to Jarno Suni:

I also get segmentation faults occasionally when trying to play recordings from Yle HD channels in Finland. Now new thing with version 31 of the frontend is that only zoomed left top of video is shown. See the attachment. The code seems really far from being robust.

With YLE HD channels I've not seen segfaults yet but I have had some videos that just will not play with Nvidia GPUs with W CoreContext mythplayer.cpp:3154 (UnpauseDecoder) Player(0): Waited 100ms for decoder to unpause displayed in the logs. Sometimes when they play they'll be zoomed in as described above. My Thinkpad with its Intel graphics can play these same videos but in a zoomed in state. I've also had problems with recordings that were started while the program was already in progress.

I found that I can remux the files and then they'll play within MythTV. They can also be played with vlc, mpv, and Kodi without remuxing.

comment:36 in reply to:  35 ; Changed 4 years ago by s1shed

Replying to s1shed:

I've also had problems with recordings that were started while the program was already in progress.

Just now I had a "zoomed in" problem with YLE TV1 HD and live TV when a show was already in progress.

Changed 4 years ago by Jarno Suni

Attachment: myth-live-zoom-freeze.log added

comment:37 in reply to:  36 ; Changed 4 years ago by Jarno Suni

Replying to s1shed:

Just now I had a "zoomed in" problem with YLE TV1 HD and live TV when a show was already in progress.

I have also had this. But it does not happen always. Also, if I try to exit to menu by Esc, when this happens, the frontend freezes. I attached the end of output and error output of

mythfrontend -v playback,channel,decode,eit,general,frame,gpu,gpuaudio,gpuvideo,gui,libav,process,system,timestamp

in https://code.mythtv.org/trac/attachment/ticket/13557/myth-live-zoom-freeze.log

I am using Intel graphics:

$ sudo lshw -c video
[sudo] password for jarnos: 
  *-display                 
       description: VGA compatible controller
       product: Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:30 memory:f7800000-f7bfffff memory:e0000000-efffffff ioport:f000(size=64) memory:c0000-dffff

mythtv-frontend version 2:31.0+fixes.202009171258.b5f1d03fa8~ubuntu20.04.1

BTW I do not seem to have privileges to file a new bug report anymore.

comment:38 in reply to:  37 Changed 4 years ago by Gary Buhrmaster

Replying to Jarno Suni:

BTW I do not seem to have privileges to file a new bug report anymore.

As an aside to your BTW, it was announced on the developer list that as of Sept 1st trac is closed to new bugs, and one should now use github issues for the project. That not all the existing documentation has caught up with that change is a given.

comment:39 Changed 3 years ago by Klaas de Waal

This topic is now continued at Github issue 351, https://github.com/MythTV/mythtv/issues/351, "Mythtv MPEG-TS demux fails on playback of YLE recordings".

comment:40 Changed 3 years ago by Klaas de Waal

Resolution: Fixed
Status: assignedclosed

Fixed in master in commit ebeea33ad284f8827cd6caed6b30d100c4132eaf with the following commit message:

Update changed streams on PMT update

On playback, when a new version of the PMT (program map table) is received, start
updating the streams at the first stream that is changed, beginning with stream 0,
instead of resetting all streams.
This fixes playback problems that occur when there is a PMT version update in the
first part of the recording that is scanned before the playback starts.
At the start of the playback there is then a PMT change back to the previous version;
this change causes a reset of all stream data; the video playback is then started
with default size of 640x480 and default framerate of 29.97Hz.


Note: See TracTickets for help on using tickets.