[mythtv-users] Lossless-cut Not Ubuntu

Doug Vaughan r.d.vaughan at rogers.com
Sat Nov 3 01:38:38 UTC 2012


Stile,
Assuming you have the MySQL knowledge or use a tool like phpMyAdmin, you 
will need to check your mythconverge database and the recordedmarkup 
table. It seems that the recordings you are trying to lossless cut lack 
a crucial recordtype "32", which contains the FPS frames-per-second for 
your recordings. The FPS is required to calculate the time stamp for 
each cut point.

Time stamps are calculated as: Frame number * FPS = HH:MM:SS.nnnnnnnnn 
(n= nine digits representing nanoseconds)

mkvmerge uses timestamps as input to cut the video into segments before 
they are merged back together.
e.g. of a cut command line:
 > mkvmerge -o "/tmp/lossless_cut/9015_20121015201700-%04d.mkv" --split 
parts:00:00:27.920000000-00:10:26.600000000 
"/media/2001/tv/9015_20121015201700.mpg"

In the segment cut above there was only one segment cut starting at 
00:00:27.920000000 and ending at 00:10:26.600000000

Here are recordedmarkup records from a recording that just started for a 
HDPVR 720p recording in North America:
chanid     starttime                     mark     type     data
2519     2012-11-02 21:00:00     1         12         NULL
2519     2012-11-02 21:00:00     1         30         1280
2519     2012-11-02 21:00:00     1         31         720
2519     2012-11-02 21:00:00     1         32         59940

In this case the recording has a FPS of 59.940 here are some other valid 
FPS values 29.970 and 25.000 in all cases MythTV does not use a float 
value that is why no decimal place is visible.

I am not sure if you loaded these recordings yourself or there is some 
issue with the database but no matter what Lossless Cut needs to find 
the type "32" recordedmarkup record and a valid FPS number. Typically 
the recordedmarkup records are created by MythTV as soon as the 
recording starts. Lossless cut uses the chanid, starttime and type=32 as 
the keys to find the correct record.

My two last thoughts, as you are using MythTV v0.26, is that the 
database starttimes are not UTC values. For a recording with a file 
name  "1130_20121101191500.mpg" the chanid is 1130 but the starttime is 
not "2012-11-01 19:15:00" as that is in local time. For example if your 
local time was EST (-4hrs from UTC) then the starttime in the database 
for this recording would be "2012-11-01 15:15:00". I have Lossless Cut 
users with MythTV v0.26 who are not experiencing this issue.

If you upgraded a v0.25 MythTV database to v0.26 then MythTV should have 
had all start and end times automatically converted to their UTC 
equivalents.

Lastly the version you are using is a pre-v0.26 and that contains MythTV 
python binding's bugs and other bugs that have been fixed. This may not 
have anything to do with the problem but I would definitely update your 
install to the v0.26+fixes. A few of the python bindings bugs directly 
effect Lossless Cut generally to do with the MythVideo export 
functionality. A critical one was fixed post v0.26 release and committed 
"Oct 25, 2012", please upgrade.

I hope this helps in your analysis.

Doug


More information about the mythtv-users mailing list