Opened 3 years ago

Last modified 4 months ago

#11357 accepted Bug Report - General

Position/duration of audio-only files is incorrect

Reported by: peper03@… Owned by: stichnot
Priority: minor Milestone: 0.27.6
Component: MythTV - Video Playback Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no


The OSD of position and duration of audio-only files (such as from radio via DVB-S) is incorrect (always shows 0:00 of 0:01). The recordedseek table contains correct GOP offsets (as far as I can tell) but all the MARK_DURATION_MS entries have a value of zero.

Importing an audio-only file into the Video Library produces a 'moving' OSD but the duration is sometimes wrong (J.Stichnoth sees 33 seconds - correct, I see 27 seconds) and playback stops early and hangs.

mythcommflag --rebuild also doesn't handle audio-only files - "VideoOutput?: Not compiled with any useable video output method."

Attachments (0)

Change History (11)

comment:1 Changed 3 years ago by stichnot

  • Component changed from MythTV - Recording to MythTV - Video Playback
  • Milestone changed from unknown to 0.27
  • Owner changed from danielk to stichnot
  • Status changed from new to accepted

comment:2 follow-up: Changed 3 years ago by tonsofpcs@…

OSD Position and Duration of Layer2 audio-only programs recorded from an ATSC source is fine on 0.25 here (mythbuntu, x64).

comment:3 in reply to: ↑ 2 Changed 3 years ago by stichnot

Replying to tonsofpcs@…:

OSD Position and Duration of Layer2 audio-only programs recorded from an ATSC source is fine on 0.25 here (mythbuntu, x64).

Yes, it should still be fine through 0.26. This would be a regression from the changes in #10104 which are only in Master.

comment:4 Changed 3 years ago by Andrew Meredith <andrew@…>

I am getting the same error, but in DVB-T video files. I suspect it is the presence of several additional streams in the video that is causing the problem. This is a clip from ffmpeg of one of the files ... "Five *" on UK Freeview BTW.

    Stream #0:0[0x1a11]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 544x576 [SAR 32:17 DAR 16:9], 15000 kb/s, 32.67 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1a12](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16, 128 kb/s
    Stream #0:2[0x1a13](eng): Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels, s16 (visual impaired)
    Stream #0:3[0x1a16](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:4[0x1a20]: Unknown: none ([11][0][0][0] / 0x000B)

And the output from mythcommflag:

# mythcommflag --rebuild -f 20928_20130303230000.mpg
2013-03-15 21:00:41.255926 C  mythcommflag version: fixes/0.26 [0.26.0-1.fc17 (v0.26.0-28-ge3087dd)]
2013-03-15 21:00:41.255937 C  Qt version: compile: 4.8.2, runtime: 4.8.4
MythTV Commercial Flagger, building seek table for:
    Dallas - Trial And Error
Rebuild started at Fri Mar 15 21:00:41 2013
Rebuild completed at Fri Mar 15 21:00:41 2013
2013-03-15 21:00:41.810232 E  VideoOutput: Not compiled with any useable video output method.
2013-03-15 21:00:41.810244 E  Player(0): Couldn't create VideoOutput instance. Exiting..
2013-03-15 21:00:41.810262 E  RebuildSeekTable unable to initialize video

Simpler files, with 2 streams, like those from an ivtv style card commflag with no issues.

Using rpmfusion on Fedora 17

# rpm -qa | fgrep myth

comment:5 Changed 2 years ago by Jim Stichnoth <jstichnoth@…>

In cef316f803117339a3e954531aedd00b462a81e9/mythtv:

Avoid premature playback exit for audio-only recordings.

Stop playback only when the decoder, video output, and audio output
all drain. Refs #11357. Refs #6974.

comment:6 Changed 2 years ago by Jim Stichnoth <jstichnoth@…>

In e658a84e9f8cf1e32a3f90cad84122f786d34009/mythtv:

Fix display of current position in an audio-only recording.

Once the decoder drains, we fake-increment the frame count so the
current position looks reasonable in the OSD, rather than appearing to
stall. Refs #11357.

comment:7 Changed 2 years ago by Richard Hulme <peper03@…>

In 6bf24e7c19386555033d8deca8622bd7e3ba0dbe/mythtv:

Set m_frameRate when setting the video frame rate to ensure that audio-only recordings (e.g. DVB-S radio) create valid duration maps.

Refs #11357

comment:8 Changed 2 years ago by Richard Hulme <peper03@…>

In 555d030ebb83ead5d753d74b31dfce426058c827/mythtv:

Allow SetVideoParams? to update either the dimensions or the framerate (or both) instead of requiring all parameters to be valid. This allows (for example) the frame rate to be updated when there is no video

(Specifically, audio-only recordings without a seektable played on a PAL setup would show the wrong duration as the default 29.97 fps was not being set to 25fps)

Refs #11357

comment:9 Changed 2 years ago by Jim Stichnoth <jstichnoth@…>

In a89dcc949678c5bd9608be8e6dd68220c966f4a1/mythtv:

Improve the ability to seek in an audio-only recording.

The improvement is when the recording lacks a seektable. Refs #11357

comment:10 Changed 2 years ago by stichnot

  • Milestone changed from 0.27 to 0.27.1

What remains is to sort out the seektable issues.

Currently, the recorder creates seektable entries based not on any notion of keyframes, but rather by using wall-clock elapsed time inside the recorder. Mythcommflag --rebuild doesn't know how to do that, and it also has problems since it want to iterate over video frames.

Both of these need to be improved.

comment:11 Changed 4 months ago by stuarta

  • Milestone changed from 0.27.2 to 0.27.6

Add Comment

Modify Ticket

as accepted The owner will remain stichnot.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.