Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#10110 closed Bug Report - General (Upstream Bug)

mythtranscode --mpeg2 Inserts Vertical-Line Artifacts

Reported by: Dave Sp <davespmyth@…> Owned by:
Priority: minor Milestone: unknown
Component: MythTV - Mythtranscode Version: 0.24-fixes
Severity: medium Keywords:
Cc: Ticket locked: yes


I use "mythtranscode --mpeg2 --honorcutlist ..." from the command line to create a cut version of a recording.

When I play the result, vertical purple lines show up every 50 seconds. Each burst of purple lines lasts 20 frames, give or take a few.

(If I don't use the "--mpeg2" option, the result has no purple lines, but it takes a lot longer to generate the file, and at the end of a long recording the audio gets out of sync.)

The output from "mythtranscode --mpeg ..." has those purple vertical lines when played in mythvideo, mplayer, and vlc.

I re-ran "mythtranscode --mpeg ..." with "-v all". It seems the purple lines coincide with the debug lines "Inserting 0 I-Frames after #....".

Each time MPEG2fixup::Start had to call InsertFrame?, deltaPTS was either 1201 or 1202, and ptsIncrement was 1501. If I prevent calling InsertFrame? under those conditions, the end result has no vertical line artifacts every 50 seconds, but then handbrake-cli spits out hundreds of "sync: video time didn't advance" messages and mythvideo complains of lots of A/V sync issues and doesn't show the time properly.

So it seems InsertFrame? needs to be called when deltaPTS is either 1201 or 1202 and ptsIncrement is 1501. Is MPEG2fixup::InsertFrame? supposed to insert a duplicate of the previous frame, or is it inserting a frame with no data (resulting in those vertical-line artifacts)?

An example is attached of what those lines look like.

Attachments (1)

Purple_Lines_Example.jpg (144.9 KB) - added by Dave Sp <davespmyth@…> 8 years ago.
Vertical Lines Example

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by Dave Sp <davespmyth@…>

Attachment: Purple_Lines_Example.jpg added

Vertical Lines Example

comment:1 Changed 8 years ago by beirdo

Please indicate the version of mythtv (mythbackend --version)

comment:2 Changed 8 years ago by Dave Sp <davespmyth@…>

Version is "v0.24.1-96-ge89d6a9".

comment:3 Changed 8 years ago by Dave Sp <davespmyth@…>

Here's the entire output from "mythbackend --version" if it helps. (It's "-dirty" because I include the theme-based OSD timeout patches from "".)

$ mythbackend --version
Please attach all output as a file in bug reports.
MythTV Version   : v0.24.1-96-ge89d6a9-dirty
MythTV Branch    : fixes/0.24
Network Protocol : 63
Library API      : 0.24.20110505-1
QT Version       : 4.7.3
Options compiled in:
 linux release using_alsa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_directfb using_dvb using_frontend using_hdhomerun using_hdpvr using_iptv using_ivtv using_joystick_menu using_lirc using_mheg using_opengl_video using_opengl_vsync using_qtdbus using_qtwebkit using_v4l using_x11 using_xrandr using_xv using_xvmc using_xvmc_vld using_xvmcw using_bindings_perl using_bindings_python using_mythtranscode using_opengl using_ffmpeg_threads using_live using_mheg

comment:4 Changed 8 years ago by Dave Sp <davespmyth@…>

After a recent ffmpeg/libav* package upgrade from, my "purple vertical lines" issue has disappeared. (I used the same source recording to verify that the issue is gone.)

No changes to the Myth code were needed.

This ticket can be closed. It seems the issue was external to Myth.

comment:5 Changed 8 years ago by robertm

Resolution: Upstream Bug
Status: newclosed

Closing at reporter request. As an aside, this was likely due to the Debian external libmpeg2 insanity.

comment:6 Changed 8 years ago by greg.tibbitts@…

Could you post what you upgraded and the steps you followed? I have upgraded to the latest ffmpeg without success. Did you have to replace any of the libmythav* libraries?

comment:7 Changed 8 years ago by robertm

Ticket locked: set
Note: See TracTickets for help on using tickets.