Opened 3 years ago

Closed 3 years ago

Last modified 12 months ago

#12787 closed Bug Report - General (fixed)

"Could not open decoder" error playing a recording

Reported by: Peter Bennett Owned by: Peter Bennett
Priority: minor Milestone: unknown
Component: MythTV - Video Playback Version: 0.28.0
Severity: medium Keywords:
Cc: optimus1979@…, kpeltola@… Ticket locked: no


One recording consistently gives this error if trying to play it

Could not open decoder

The recording plays perfectly with VLC.

This is an unusual case, where there are several seconds of corruption near the start of the file.

I have a fix, which works on this file, involving ignoring certain error conditions. I am not going to apply the fix unless more people have the problem, because the fix may cause unpredictable behaviour in cases where the file is badly corrupted. I need a few test files that experience the error to validate it.

If you have experienced this problem please attach a note to this bug log. I will also want to get a copy of the beginning of the file that failed.

Attachments (1)

ticket_12787.patch (726 bytes) - added by Peter Bennett 3 years ago.
Fix for this bug

Download all attachments as: .zip

Change History (16)

comment:1 Changed 3 years ago by Peter Bennett

Status: newaccepted

comment:2 Changed 3 years ago by optimus1979@…

I also have this issue since .28, and it happens to more than half of the recordings I have set which is very annoying. What method should I use to attach the beginning of the .ts files?

comment:3 Changed 3 years ago by kpeltola@…

I'm also experiencing this issue - I've noticed that it only happens if it needs to change to a different channel to record. If the cable box is already on the channel that it is going to record from, there are no issues. So perhaps there is some corruption in the beginning of the file due to the channel change?

comment:4 Changed 3 years ago by Peter Bennett

I apologize to optimus for the delay, I did not see the message when you posted it.

Make sure the failing recording can play on VLC.

Extract 50 MB from the beginning of the recording as follows

dd bs=1MB count=50 if=xxxxxxxxxxx.ts of=extracted_with_dd.mpg

Make sure the extracted file plays on VLC and does not play with MythTV.

If you can put the extracted file on Dropbox and share it, then attach a link here, I can download it.

comment:5 Changed 3 years ago by optimus1979@…

Here is one example more to come tomorrow (hopefully):

comment:6 Changed 3 years ago by Peter Bennett

A suggestion while I am looking into fixing mythtv to be able to play these:

The problems seem to be related to a cable box. If you are using an external channel change script, try to make sure the channel is changed before returning from the script. This may avoid the problem in those cases where the channel change is happening after recording starts.

comment:7 Changed 3 years ago by optimus1979@…

Here's another: I am not using an external script (unless that is something MythBuntu? has by default) I do use the stb-command script to power on the cable box when the PC starts as I found that in previous MythTV versions recordings would fail because the box would take too long to power on or drop numbers from the channel number when changing channels if the cable box wasn't on before the recording started. But I do not use the stb-command script to change channels. I have been using a similar setup for since 2008 and never had recordings that wouldn't play under mythtv until .28. Another note that may or may not be useful is at the problem recordings play under ffplay (ffmpeg 2.8.6) which I had installed to test but not using mythplay (ffmpeg 3) that I read .28 now uses.

comment:8 Changed 3 years ago by Peter Bennett

This seems to be something that occurred with ffmpeg version 3.0. The mythtv player code around this has not changed.

ffmpeg suggests - Consider increasing the value for the 'analyzeduration' and 'probesize' options

I tried increaing those to 10 times their defaults - I still get -1 ret code.

Ignoring the ret code of -1 allows normal playback. Still fail on other ret codes, which will indicate real errors.

Last edited 3 years ago by Peter Bennett (previous) (diff)

Changed 3 years ago by Peter Bennett

Attachment: ticket_12787.patch added

Fix for this bug

comment:9 Changed 3 years ago by Peter Bennett

I have tested the fix with my own recording and the ones submitted by optimus, and all fail without the patch, and work with the patch. Note the fix addresses playback, not recording, so files previously recorded will play successfully using this fix.

comment:10 Changed 3 years ago by Peter Bennett

Cc: optimus1979@… kpeltola@… added

comment:11 Changed 3 years ago by Peter Bennett

optimus and kpeltola

If you are able to, please test the attached patch and let me know if it works for you.

comment:12 Changed 3 years ago by Optimus1979@…

Sorry, I would, but once I started looking into how to apply this patch, it seems more involved than I am comfortable with. Sounds like I would have to download all of the Mythtv source and recompile it right? I'm sure I'd kill my current set up trying.

comment:13 Changed 3 years ago by Peter Bennett <pbennett@…>

Resolution: fixed
Status: acceptedclosed

In 68e133ca61b0e2f61e96b32c9cb62735426c21cb/mythtv:

Fixes "Could not open decoder" error playing a recording

Fixes #12787

comment:14 Changed 3 years ago by Peter Bennett <pbennett@…>

In 59808a8c71e2aa0f7654305caa8a224c8487c5ee/mythtv:

Fixes "Could not open decoder" error playing a recording

Fixes #12787

(cherry picked from commit 68e133ca61b0e2f61e96b32c9cb62735426c21cb)

comment:15 Changed 12 months ago by Peter Bennett

Owner: changed from Peter Bennett to Peter Bennett
Note: See TracTickets for help on using tickets.