Many thanks for those suggestions. I think we're making progress.
I tried using mythtranscode as you suggested, but it didn't work. It created a .mpg.tmp file of size zero bytes. Here was the output from the terminal:
So then I tried using the transcode option from the MythTV front end. That also failed. Here is what the backend log looked like after I tried:
2013-04-06 10:06:28.270 New DB connection, total: 2
2013-04-06 10:06:28.272 ProgramInfo(): Updated pathname '':'' -> '1030_20130331230000.mpg'
2013-04-06 10:06:28.341 max_analyze_duration reached
2013-04-06 10:06:28.341 start time is not set in av_estimate_timings_from_pts
2013-04-06 10:06:38.978 Found end of file without finding any frames
OK, so if that isn't going to work, then I thought maybe I could transcode using ffmpeg instead. If anyone can see any obvious reasons why mythtranscode might have failed, then all suggestions are gratefully appreciated, but I don't think I want to spend too much time troubleshooting that one when I can just use ffmpeg instead. So here is the ffmpeg command I used:
2013-04-06 10:18:01.993 JobQueue: Transcode Starting for Dallas "Ewings Unite!": High Quality (818.8 MB)
2013-04-06 10:18:02.041 ProgramInfo(): Updated pathname '':'' -> '1030_20130331230000.mpg'
2013-04-06 10:18:02.106 Using runtime prefix = /usr
2013-04-06 10:18:02.117 Using configuration directory = /home/mythtv/.mythtv
2013-04-06 10:18:02.129 Empty LocalHostName.
2013-04-06 10:18:02.140 Using localhost value of htpc
2013-04-06 10:18:02.163 New DB connection, total: 1
2013-04-06 10:18:02.178 Connected to database 'mythconverg' at host: localhost
2013-04-06 10:18:02.184 Closing DB connection named 'DBManager0'
2013-04-06 10:18:02.196 Connected to database 'mythconverg' at host: localhost
2013-04-06 10:18:02.208 Enabled verbose msgs: important
2013-04-06 10:18:02.219 ProgramInfo(): Updated pathname '':'' -> '1030_20130331230000.mpg'
2013-04-06 10:18:02.233 Transcoding from /var/lib/mythtv/recordings/1030_20130331230000.mpg to /var/lib/mythtv/recordings/1030_20130331230000.mpg.tmp
2013-04-06 10:18:02.370 NVP(0): Disabling Audio, params(-1,-1,-1)
2013-04-06 10:18:02.372 MythContext: Connecting to backend server: 172.16.100.20:6543 (try 1 of 1)
2013-04-06 10:18:02.441 Using protocol version 23056
2013-04-06 10:18:02.507 MainServer::ANN Monitor
2013-04-06 10:18:02.508 NVP(0): Disabling Audio, params(-1,-1,-1)
2013-04-06 10:18:02.518 adding: htpc as a client (events: 0)
2013-04-06 10:18:02.531 New DB connection, total: 2
2013-04-06 10:18:02.541 MainServer::ANN Monitor
2013-04-06 10:18:02.551 Connected to database 'mythconverg' at host: localhost
2013-04-06 10:18:02.562 adding: htpc as a client (events: 1)
2013-04-06 10:18:02.587 ProgramInfo(): Updated pathname '':'' -> '1030_20130331230000.mpg'
2013-04-06 10:18:02.597 No video information found!
2013-04-06 10:18:02.606 Please ensure that recording profiles for the transcoder are set
2013-04-06 10:18:02.620 Transcoding /var/lib/mythtv/recordings/1030_20130331230000.mpg failed
2013-04-06 10:18:02.630 Deleting /var/lib/mythtv/recordings/1030_20130331230000.mpg.tmp
2013-04-06 10:18:02.641 Requesting delete for file 'myth://Default@172.16.100.20:6543/1030_20130331230000.mpg.tmp'.
2013-04-06 10:18:02.652 MainServer::ANN Playback
2013-04-06 10:18:02.662 adding: htpc as a client (events: 0)
2013-04-06 10:18:02.672 ProgramInfo(): Updated pathname '':'' -> '1030_20130331230000.mpg'
2013-04-06 10:18:02.674 Unable to find 1030_20130331230000.mpg.tmp in HandleDeleteFile()
2013-04-06 10:18:02.696 Deleting file '/var/lib/mythtv/recordings/1030_20130331230000.mpg.tmp'.
2013-04-06 10:18:02.719 JobQueue: Transcode Errored: Dallas "Ewings Unite!": High Quality (exit status 255, job status was "Errored")
2013-04-06 10:18:02.770 ProgramInfo(): Updated pathname '':'' -> '1030_20130331230000.mpg'
Success! (Well, sort of). The resulting file could be played in the front end.
ffmpeg -i oldfile.mpg newfile.mpg
The only problem was that the file size had shrunk to about a quarter of what it was, and the image quality was lousy. However, I expect that this is just a matter of using the right ffmpeg options, yes? Presumably the default shrinks the file considerably, and I need to figure out what the options are to make sure it doesn't do that. I expect I'll probably figure that out eventually, but if anyone happens to know the correct ffmpeg syntax, that would be appreciated.
So, I don't think this is really a solution to the problem, but it's approaching a pretty usable workaround. Once I've figured out the appropriate ffmpeg syntax, I can simply set that up as a user job and get it to run on any programs I record from that channel.
BTW, I know how to get specific recordings to automatically run a user job, but does anyone know if it's possible to automatically run a job on anything that's ever recorded on a particular channel?
So, what do we reckon? Should I just settle for the workaround, or is it going to be worth continuing to search for a proper solution to the problem?
Thanks again for your help