
dmoo1790 at ihug
May 19, 2012, 1:03 AM
Post #1 of 1
(181 views)
Permalink
|
Not sure if this email reached the list or not so here it is again with different subject. -------- Original Message -------- Subject: Re: [mythtvnz] Upgrading to 0.25 from 0.23 Date: Wed, 16 May 2012 19:22:56 +1200 From: David Moore <dmoo1790 [at] bigpond> To: MythTV in NZ <mythtvnz [at] lists> On 16/05/12 12:27, David Moore wrote: > On 27/04/12 17:41, David Moore wrote: >> >> >> On 27/04/12 17:08, David Moore wrote: >>> On 27/04/12 16:44, Steven Ellis wrote: >>>> >>>> On Fri, April 27, 2012 4:01 pm, David Moore wrote: >>>>> I was finally forced to upgrade from 0.23 due to the audio glitch on >>>>> Prime. Could have patched 0.23 I suppose but decided to bite the >>>>> bullet >>>>> and go to 0.25. Works fairly well as far as I have tested so far. >>>>> Thanks >>>>> to fellow listers for setup/bugfix clues and myth devs for rapid >>>>> repairs >>>>> to code. >>>>> >>>>> I am seeing incorrect video lengths on some old recordings. >>>>> Annoying. I >>>>> have noticed in the past that this could be a seek table issue. I >>>>> found >>>>> in the past that using mythcommflag to rebuild the seek table for >>>>> some >>>>> recordings produced incorrect time codes. Forget the details but >>>>> had to >>>>> divide seek table entries by two to fix. >>>> >>>> >>>> Hi David >>>> >>>> I've been using the following to fix seektables. I've found that >>>> mythtranscode was a lot more reliable than mythcommflag and I now >>>> have a >>>> user job I can easily select when I've got a broken video file. >>>> >>>> http://www.mythtv.org/wiki/Repairing_the_Seektable#Automation_of_mythcommflag_repair_function >>>> >>>> >>>> >>>> -------------------------------------------- >>>> Steven Ellis - Technical Director >>>> OpenMedia Limited - The Home of myPVR >>>> email - steven [at] openmedia >>>> website - http://www.openmedia.co.nz >>> >>> Hi Steven, Yes, that will be my last resort method. Thing is I don't >>> think it's necessary as I don't think the actual seek table values >>> get updated. Makes sense because the files are seekable but just >>> have wrong durations. I think the fix is in recordedmarkup but need >>> to figure out how to generate correct values. Reason I think this is >>> I noticed the files rebuilt had new rows in recordedmarkup. If we >>> can work out the correct values then a real fast sql patchup would >>> do the trick much faster than mythcommflag. >> >> Doesn't look like this will work. Looks like new recordedmarkup >> entries are time and frame number for end of file. Can't work these >> out myself. But better idea is use the database backup I made before >> upgrading. If this has the correct info in recordedmarkup and I can >> figure out how to extract it without overwriting/dropping existing >> tables then should be a quickish fix. > > I had another idea which works and is pretty quick and easy. Here are > the steps: > > 1. Get the video duration in ms using mediainfo: mediainfo > --Inform=Video\;%Duration% 1001_20110619145800.mpg > 2. Add two rows to the recordedmarkup table: > insert into recordedmarkup set > chanid=1001,starttime="2011-06-19 14:58:00",mark=1,type=32,data=25000; > insert into recordedmarkup set > chanid=1001,starttime="2011-06-19 14:58:00",mark=1,type=33,data=3447720; > > Done. The data value for the first row is always 25000. The data value > for the second row is the video duration in ms obtained from mediainfo. Looks like the 25000 data value is not needed. Here is the script I used to update 140 shows in about 2 minutes: #!/bin/bash storage_dirs=$(mysql -u root mythconverg -sN -e 'select dirname from storagegroup;') files=$(mysql -u root mythconverg -sN -e 'select basename from recorded where chanid=1001 and starttime< "2012-04-03" order by basename desc;') echo $files echo $starts for basename in $files; do found=0 for f in $storage_dirs; do if [ -f "$f$basename" ]; then rec_dir=$f found=1 fi done if [ $found == 0 ]; then echo "Can't find recording "$CHANID" "$STARTTIME"">&2 else echo "Found recording: "$rec_dir$basename duration=$(mediainfo --Inform=Video\;%Duration% $rec_dir$basename) echo $duration start=$(mysql -u root mythconverg -sN -e "select starttime from recorded where chanid=1001 and basename=\"$basename\";") echo $start mysql -u root mythconverg -e "insert into recordedmarkup set chanid=1001,starttime=\"$start\",mark=1,type=33,data=$duration;" fi done _______________________________________________ mythtvnz mailing list mythtvnz [at] lists http://lists.ourshack.com/mailman/listinfo/mythtvnz Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/
|