Ticket #10622 (closed Bug Report - General: Fixed)
Opened 13 months ago
Last modified 5 months ago
OSD does not correctly indicate progress of show, shows as being fully complete
| Reported by: | gaberubin@… | Owned by: | stichnot |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.25.1 |
| Component: | MythTV - Video Decoding | Version: | 0.25 |
| Severity: | low | Keywords: | |
| Cc: | Ticket locked: | no |
Description
Since upgrading to .25, all my recordings made under .25 apparently do not have correct seektables. The OSD shows that the program is completed at any point in the program and is full. I can seek but I have no indication where in the program I am. I have tried to rebuild the seek table, but that does not help. This problem is described here: http://www.gossamer-threads.com/lists/mythtv/users/514043#514043
I have made a 50 meg clip as requested here: http://mustbethemoney.mine.nu:8080/colbertclip.mpg and rebuilt the seek table on that, although the progress indicator shows very weird information for this clip.
Attachments
Change History
comment:1 Changed 12 months ago by stephen.ecob@…
comment:2 Changed 12 months ago by stuartm
- Status changed from new to closed
- Resolution set to Fixed
- Milestone changed from unknown to 0.25.1
Reported to be fixed
comment:3 Changed 12 months ago by stichnot
- Status changed from closed to new
- Severity changed from high to low
- Component changed from MythTV - General to MythTV - Video Decoding
- Priority changed from major to minor
- Milestone changed from 0.25.1 to 0.25.2
- Resolution Fixed deleted
Reopening as there is still a problem with the sample referenced in the ticket.
I have noticed similar issues with Live TV, and they may very well have been fixed by recent changes. However, the colbertclip.mpg sample still shows a ridiculously large duration. Most likely there has been a regression in ffmpeg. Running mythffmpeg on the sample:
mythtv@mythmaster:/storage/videos/cctest$ mythffmpeg -i colbertclip.mpg
ffmpeg version git-2012-06-02-d6a4d9e Copyright (c) 2000-2012 the FFmpeg developers
built on Jun 4 2012 05:59:00 with gcc 4.4.3
configuration: --prefix=/usr/mythtrunk --enable-libx264 --enable-libmp3lame --compile-type=profile
libavutil 51. 56.100 / 51. 56.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.101 / 54. 6.101
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[mpegts @ 0x9fef3c0] PES packet size mismatch
Input #0, mpegts, from 'colbertclip.mpg':
Duration: N/A, bitrate: N/A
Stream #0:0[0x7c1]: Audio: ac3, 0 channels
Stream #0:1[0x7c2]: Video: mpeg2video, 90k tbn
At least one output file must be specified
But running an older version of ffmpeg that happens to be installed:
mythtv@mythmaster:/storage/videos/cctest$ ffmpeg -i colbertclip.mpg
ffmpeg version git-2011-12-07-d9ced9f, Copyright (c) 2000-2011 the FFmpeg developers
built on Dec 6 2011 16:25:12 with gcc 4.4.3
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
libavutil 51. 30. 0 / 51. 30. 0
libavcodec 53. 41. 0 / 53. 41. 0
libavformat 53. 24. 0 / 53. 24. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 51. 0 / 2. 51. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
[mpeg2video @ 0x9432160] mpeg_decode_postinit() failure
Last message repeated 36 times
[mpegts @ 0x92dcaa0] PES packet size mismatch
Seems stream 3 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 59.94 (60000/1001)
Input #0, mpegts, from 'colbertclip.mpg':
Duration: 11:52:27.02, start: 44900.580778, bitrate: 9 kb/s
Program 1
Stream #0:0[0x840]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), s16, 384 kb/s
Stream #0:1[0x842]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 24000 kb/s, 59.96 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Stream #0:2[0x7c1]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, s16, 384 kb/s
Stream #0:3[0x7c2]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 24000 kb/s, 54.56 fps, 59.94 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified
Initial analysis shows that AvFormatDecoder::OpenFile?() calls av_estimate_timings() which calls estimate_timings() which calls estimate_timings_from_pts(). That presumably fails because the duration ends up AV_NOPTS_VALUE, which is translated as a ridiculously large duration in the progress bar.
comment:4 Changed 12 months ago by stichnot
- Owner set to stichnot
- Status changed from new to accepted
comment:5 Changed 10 months ago by stichnot
- Milestone changed from 0.25.2 to 0.27
Let's recheck the status of this after the next ffmpeg update.
comment:6 Changed 5 months ago by jyavenard
I get exactly the same result with mythtv 0.25.3:
FFmpeg version git-v0.25.3-23-g0b60406, Copyright (c) 2000-2011 the FFmpeg developers
built on Dec 11 2012 23:12:39 with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
configuration: --runprefix=../Resources --enable-libmp3lame --disable-lirc --disable-distcc --prefix=/Users/jyavenard/Work/mythtv/.osx-packager/build --cc=/Applications/Xcode.app/Contents/Developer/usr/bin/gcc --cxx=/Applications/Xcode.app/Contents/Developer/usr/bin/g++ --qmake=/Users/jyavenard/Work/mythtv/.osx-packager/build/bin/qmake --extra-libs=-F/Users/jyavenard/Work/mythtv/.osx-packager/build/lib --extra-cxxflags='-D IGNORE_SCHEMA_VER_MISMATCH=1 -D IGNORE_PROTO_VER_MISMATCH=1' --firewire-sdk=/Users/jyavenard/Work/mythtv/.osx-packager/build/lib --compile-type=debug
libavutil 50. 39. 0 / 50. 39. 0
libavcodec 52.113. 1 / 52.113. 1
libavformat 52.101. 0 / 52.101. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1. 76. 0 / 1. 76. 0
libswscale 0. 12. 0 / 0. 12. 0
libpostproc 51. 2. 0 / 51. 2. 0
Seems stream 1 codec frame rate differs from container frame rate: inf (1/0) -> nan (0/0)
Input #0, mpegts, from '/Users/jyavenard/Downloads/colbertclip.mpg':
Duration: N/A, bitrate: N/A
Stream #0.0[0x7c1]: Audio: ac3, 0 channels
Stream #0.1[0x7c2]: Video: mpeg2video, 90k tbn
At least one output file must be specified
This doesn't seem to be a problem introduced in 0.26 as mentioned earlier
comment:7 Changed 5 months ago by stichnot
- Status changed from accepted to closed
- Resolution set to Fixed
- Milestone changed from 0.27 to 0.25.1
I'm changing the status back to Fixed after further investigation.
It may be an artifact of how the colbertclip sample was produced, but it turns out that even 0.24 does not show a correct progress bar for this sample.
Nonetheless, this is a good sample to use for ongoing development and testing. To properly deal with videos with non-constant frame rates, use of repeat_pict frames, and possibly other properties, we are moving in the direction of precomputing necessary information in the markup table (either during recording or via mythcommflag --rebuild), and using it for time display and seeking, falling back to the display timecodes embedded in the video file if necessary.

I was experiencing a similar bug, but with LiveTV not with recorded shows.
The problem appeared after installing MythTV 0.25
The symptom seems the same: Skip Back and Skip Ahead both work fine but the progress indicator always shows you're at the very end of the buffer (ie what's being transmitted now)
I upgraded to the latest 0.25-fixes on June 7th 2012 and the problem has gone away - the progress indicator now works fine!
Thank you MythTV developers! :-)