LinHES Forums
http://forum.linhes.org/

Lossless Transcode with MythTV 0.20.2 Broken?
http://forum.linhes.org/viewtopic.php?f=17&t=16493
Page 1 of 1

Author:  mihanson [ Thu Sep 13, 2007 3:27 pm ]
Post subject:  Lossless Transcode with MythTV 0.20.2 Broken?

Is it just me or is lossless transcoding (specifically of High Definition recordings) broken with MythTV 0.20.2? I can't seem to get it to work.

I recently upgraded my working MBE with R5F1 to MythTV 0.20.2 following Cecil's instructions. All went well. The other night I was trying to transcode an episode of Conan O'Brien using a cut list to preserve only the musical performance. I'm gunning for a lossless transcode. The show was recorded on a HD-3000 set up as a DVB card. When the transcode job runs, it fails. The mythbackend.log reveals:

Code:
2007-09-13 12:43:53.753 JobQueue: Transcode Starting for Late Night With Conan O'Brien: 6.7 GB (High Quality)
transcode v1.0.2 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
'transcode -h | more' shows a list of available command line options.
2007-09-13 12:43:53.863 JobQueue: Transcode Errored: Late Night With Conan O'Brien: (High Quality)


There's not much to go on there. Taking a look into the DB, my jobqueue table has this:

Code:
mysql> Select * from jobqueue;
+-----+--------+---------------------+---------------------+------+------+------                                             
| id  | chanid | starttime | inserttime | type | cmds | flags | status | statustime| hostname | args | comment                                                                      |
+-----+--------+---------------------+---------------------+------+------+------                                             
| 534 |   1041 | 2007-09-11 00:37:00 | 2007-09-12 22:35:11 |    1 |    0 |     1 |    304 | 2007-09-13 12:43:53 | mythbox  |      | Transcode failed with status: 1 |


I see the Status 304 code. That's not good.

Code:
mysql> select * from recordingprofiles;
+----+----------------+-------------------------+-------------------------+--------------+
| id | name           | videocodec              | audiocodec              | profilegroup |
+----+----------------+-------------------------+-------------------------+--------------+
|  1 | Default        | NULL                    | NULL                    |            1 |
|  2 | Live TV        | NULL                    | NULL                    |            1 |
|  3 | High Quality   | NULL                    | NULL                    |            1 |
|  4 | Low Quality    | NULL                    | NULL                    |            1 |
|  5 | Default        | MPEG-2 Hardware Encoder | MPEG-2 Hardware Encoder |            2 |
|  6 | Live TV        | MPEG-2 Hardware Encoder | MPEG-2 Hardware Encoder |            2 |
|  7 | High Quality   | MPEG-2 Hardware Encoder | MPEG-2 Hardware Encoder |            2 |
|  8 | Low Quality    | MPEG-2 Hardware Encoder | MPEG-2 Hardware Encoder |            2 |
|  9 | Default        | NULL                    | NULL                    |            3 |
| 10 | Live TV        | NULL                    | NULL                    |            3 |
| 11 | High Quality   | NULL                    | NULL                    |            3 |
| 12 | Low Quality    | NULL                    | NULL                    |            3 |
| 13 | Default        | NULL                    | NULL                    |            4 |
| 14 | Live TV        | NULL                    | NULL                    |            4 |
| 15 | High Quality   | NULL                    | NULL                    |            4 |
| 16 | Low Quality    | NULL                    | NULL                    |            4 |
| 17 | Default        | NULL                    | NULL                    |            5 |
| 18 | Live TV        | NULL                    | NULL                    |            5 |
| 19 | High Quality   | NULL                    | NULL                    |            5 |
| 20 | Low Quality    | NULL                    | NULL                    |            5 |
| 21 | RTjpeg/MPEG4   | RTjpeg                  | MP3                     |            6 |
| 22 | MPEG2          | RTjpeg                  | MP3                     |            6 |
| 23 | Default        | NULL                    | NULL                    |            8 |
| 24 | Live TV        | NULL                    | NULL                    |            8 |
| 25 | High Quality   | NULL                    | NULL                    |            8 |
| 26 | Low Quality    | NULL                    | NULL                    |            8 |
| 27 | High Quality   | RTjpeg                  | MP3                     |            6 |
| 28 | Medium Quality | MPEG-4                  | MP3                     |            6 |
| 29 | Low Quality    | MPEG-4                  | MP3                     |            6 |
| 30 | Default        | NULL                    | NULL                    |           10 |
| 31 | Live TV        | NULL                    | NULL                    |           10 |
| 32 | High Quality   | NULL                    | NULL                    |           10 |
| 33 | Low Quality    | NULL                    | NULL                    |           10 |
| 34 | Default        | NULL                    | NULL                    |           11 |
| 35 | Live TV        | NULL                    | NULL                    |           11 |
| 36 | High Quality   | NULL                    | NULL                    |           11 |
| 37 | Low Quality    | NULL                    | NULL                    |           11 |
| 38 | Default        | NULL                    | NULL                    |           12 |
| 39 | Live TV        | NULL                    | NULL                    |           12 |
| 40 | High Quality   | NULL                    | NULL                    |           12 |
| 41 | Low Quality    | NULL                    | NULL                    |           12 |
+----+----------------+-------------------------+-------------------------+--------------+
41 rows in set (0.00 sec)


Code:
mysql> select * from profilegroups;
+----+----------------------------------------------------------+-----------+------------+----------+
| id | name                                                     | cardtype  | is_default | hostname |
+----+----------------------------------------------------------+-----------+------------+----------+
|  1 | Software Encoders (v4l based)                            | V4L       |          1 | NULL     |
|  2 | MPEG-2 Encoders (PVR-x50, PVR-500)                       | MPEG      |          1 | NULL     |
|  3 | Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc) | MJPEG     |          1 | NULL     |
|  4 | Hardware HDTV                                            | HDTV      |          1 | NULL     |
|  5 | Hardware DVB Encoders                                    | DVB       |          1 | NULL     |
|  6 | Transcoders                                              | TRANSCODE |          1 | NULL     |
|  7 | FireWire Input                                           | FIREWIRE  |          1 | NULL     |
|  8 | USB Mpeg-4 Encoder (Plextor ConvertX, etc)               | GO7007    |          1 | NULL     |
|  9 | DBOX2 Input                                              | DBOX2     |          1 | NULL     |
| 10 | Freebox Input                                            | Freebox   |          1 | NULL     |
| 11 | HDHomeRun Recorders                                      | HDHOMERUN |          1 | NULL     |
| 12 | CRC IP Recorders                                         | CRC_IP    |          1 | NULL     |
+----+----------------------------------------------------------+-----------+------------+----------+
12 rows in set (0.00 sec)


Code:
mysql> select * from codecparams where (profile='2' OR profile='5' OR profile='6');
+---------+--------------------------+-----------+
| profile | name                     | value     |
+---------+--------------------------+-----------+
|       5 | autotranscode            | 0         |
|       5 | width                    | 720       |
|       5 | height                   | 480       |
|       5 | rtjpegquality            | 170       |
|       5 | rtjpeglumafilter         | 0         |
|       5 | rtjpegchromafilter       | 0         |
|       5 | mpeg4bitrate             | 2200      |
|       5 | mpeg4maxquality          | 2         |
|       5 | mpeg4minquality          | 15        |
|       5 | mpeg4qualdiff            | 3         |
|       5 | mpeg4scalebitrate        | 1         |
|       5 | mpeg4optionvhq           | 0         |
|       5 | mpeg4option4mv           | 0         |
|       5 | mpeg4optionidct          | 0         |
|       5 | mpeg4optionime           | 0         |
|       5 | hardwaremjpegquality     | 100       |
|       5 | hardwaremjpeghdecimation | 4         |
|       5 | hardwaremjpegvdecimation | 4         |
|       5 | mpeg2streamtype          | MPEG-2 PS |
|       5 | mpeg2aspectratio         | 4:3       |
|       5 | mpeg2bitrate             | 3000      |
|       5 | mpeg2maxbitrate          | 3500      |
|       5 | samplerate               | 48000     |
|       5 | mp3quality               | 7         |
|       5 | volume                   | 90        |
|       5 | mpeg2audtype             | Layer II  |
|       5 | mpeg2audbitratel1        | 448       |
|       5 | mpeg2audbitratel2        | 384       |
|       5 | mpeg2audvolume           | 88        |
|       6 | autotranscode            | 0         |
|       6 | width                    | 720       |
|       6 | height                   | 480       |
|       6 | rtjpegquality            | 170       |
|       6 | rtjpeglumafilter         | 0         |
|       6 | rtjpegchromafilter       | 0         |
|       6 | mpeg4bitrate             | 2200      |
|       6 | mpeg4maxquality          | 2         |
|       6 | mpeg4minquality          | 15        |
|       6 | mpeg4qualdiff            | 3         |
|       6 | mpeg4scalebitrate        | 1         |
|       6 | mpeg4optionvhq           | 0         |
|       6 | mpeg4option4mv           | 0         |
|       6 | mpeg4optionidct          | 0         |
|       6 | mpeg4optionime           | 0         |
|       6 | hardwaremjpegquality     | 100       |
|       6 | hardwaremjpeghdecimation | 4         |
|       6 | hardwaremjpegvdecimation | 4         |
|       6 | mpeg2streamtype          | MPEG-2 PS |
|       6 | mpeg2aspectratio         | 4:3       |
|       6 | mpeg2bitrate             | 3000      |
|       6 | mpeg2maxbitrate          | 3500      |
|       6 | samplerate               | 48000     |
|       6 | mp3quality               | 7         |
|       6 | volume                   | 90        |
|       6 | mpeg2audtype             | Layer II  |
|       6 | mpeg2audbitratel1        | 448       |
|       6 | mpeg2audbitratel2        | 384       |
|       6 | mpeg2audvolume           | 88        |
+---------+--------------------------+-----------+
58 rows in set (0.00 sec)


Code:
mysql> select * from settings where value LIKE '%transcode%';
+-----------------------------------+-----------+---------------+
| value                             | data      | hostname      |
+-----------------------------------+-----------+---------------+
| DefaultTranscoder                 | 27        | NULL          |
| JobAllowTranscode                 | 1         | mythbox       |
| AutoTranscodeBeforeAutoCommflag   | 0         | NULL          |
| AutoTranscode                     | 0         | NULL          |
| TranscodeCommand                  | transcode | mythbox       |
| MTDConcurrentTranscodes           | 1         | mythbox       |
| JobQueueTranscodeCommand          | transcode | NULL          |
| MythArchiveAlwaysUseMythTranscode | 1         | mythbox       |
| MythArchiveAlwaysUseMythTranscode | 1         | mythbox-rfe-2 |
| TranscodeCommand                  | transcode | mythbox-rfe-2 |
| MTDConcurrentTranscodes           | 1         | mythbox-rfe-2 |
| TranscodeCommand                  | transcode | mythbox-rfe-1 |
| MTDConcurrentTranscodes           | 1         | mythbox-rfe-1 |
| mythvideo.TrustTranscodeFRDetect  | 1         | mythbox       |
| mythvideo.TrustTranscodeFRDetect  | 1         | mythbox-rfe-2 |
+-----------------------------------+-----------+---------------+
15 rows in set (0.00 sec)


I do not transcode very often, so I'm unsure of what's right and what's wrong.

When I use mythtranscode from the command line, I get a file that's about the same size of the original! :!: Maybe only a few seconds are missing. Sounds a lot like this post.

Code:
$ mythtranscode -m -l -p autodetect --showprogress -v all,nodatabase -i /myth/tv/1041_20070911003700.mpg -o /myth/tv/new_file.mpg
$ ls -l /myth/tv/1041_20070911003700.mpg
-rw-r--r-- 1 mythtv mythtv 7171526772 Sep 11 01:36 /myth/tv/1041_20070911003700.mpg
$ ls -l /myth/tv/new_file.mpg
-rw-r--r-- 1 mythtv mythtv 7085463556 Sep 13 13:41 /myth/tv/new_file.mpg


I found this ticket from April 2007:
http://svn.mythtv.org/trac/ticket/3274 but there's no update on it's status.

I'm really confused as to what's going on. I don't transcode much, so I don't know if this is directly related to the 0.20.2 upgrade or not. Anyone else having problems?

Author:  tjc [ Thu Sep 13, 2007 7:18 pm ]
Post subject:  Re: Lossless Transcode with MythTV 0.20.2 Broken?

mihanson wrote:
Is it just me or is lossless transcoding (specifically of High Definition recordings) broken with MythTV 0.20.2?

Seems to be working well for SDTV. Not exactly what you asked, but at least a data point. I also don't remember seeing any complaints about transcoding in the testing versions prior to the release. Maybe someone else can chime in with more specific info...

Author:  mihanson [ Thu Sep 13, 2007 9:23 pm ]
Post subject: 

I have not tried SDTV recordings yet, but I've made some progress. Going on a tip from this thread on the MythTV mailing list, I tried to call the file with the -c and -s switches instead of by file name (-i).

Code:
nice -n 19 mythtranscode -m -l -p autodetect --showprogress -c 1041 -s 20070911003700 -o /myth/tv/new_file.mpg


and it works! :!: Strange. So if anyone is having trouble with HDTV lossless transcodes, call it with the -c and -s switches and avoid the -i switch.

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/