[mythtv] The usage of the 'recordedfile' table?
John Pilkington
johnpilk222 at gmail.com
Thu Jul 23 15:56:30 UTC 2020
On 23/07/2020 14:28, Peter Bennett wrote:
>
> On 7/23/20 6:37 AM, Roland Ernst wrote:
>> Facts:
>> The 'recordedfile' table stores details about the
>> containerformat and the used codecs of a recording,
>> as well as the file properties of that recording.
>>
>> The 'recordedfile' table gets updated during in
>> progress-recording or after a recording is finished.
>> Mythtranscode updates the content of a recordedfile as well.
>> The entry of the 'recordedfile' is deleted on deletion of the recording.
>> Upnp reads codec and other data from the 'recordedfile' table.
>>
>> Parts of the content of the 'recordedfile' is available
>> in the 'recordedmarkup' table as well:
>> Aspect, dimensions, duration, average frames speed of a recording.
>>
>> The program "mythcommflag --rebuild" updates the markup table entries
>> listed above, but does not update the 'recordedfile' table entry.
>>
>> In contrast, the frontend displays details about a recording which
>> are taken from the entry of the 'recordedprogram' table:
>> See file mythtv\programs\mythfrontend\progdetails.cpp
>> For example, the icons for the videodimensions (HD, 1080, 720)
>> are derived from the 'recordedprogram' entry,
>> i.e.: from the 'videoprop' and 'audioprop' values.
>>
>>
>> Please consider the following use case:
>> An existing recording is transcoded in place by a user job,
>> which changed the filename, codecs, duration, dimensions
>> etc. of that recording.
>> The user job has to take care that the 'recordedfile' table
>> and the 'recordedmarkup' table are updated accordingly.
>>
>>
>> Now my questions:
>> By what means do you update the 'recordedfile' table?
>> I know of the Python Bindings (v31+) or running an SQL command
>> directly, but are there other means to achieve this, like the
>> ServicesAPI or "mythutil" ?
>>
>> In case of transcoding to a suitable video container format,
>> like matroska or mp4, do I need to preserve the entries in the
>> 'recordedmarkup' table at all?
>> Can I simply clear the recorded-seek and -markup table entries
>> for that recording in that case?
>>
>> Roland
>>
> Hi Roland
>
> I have been transcoding with handbrake for a long time. I use a script
> which updates recorded and recordedfile. I also run "mythutil
> --clearseektable" because seektables do not work with mkv files and
> confuse the playback. The script is here
> https://github.com/bennettpeter/mythscripts/blob/master/install/opt/mythtv/bin/tcimport.sh
> . This works fine but is not the best solution since I have to change it
> from time to time when there are schema changes.
>
> Regarding the recordedfile table, I don't know how necessary it is or
> how accurate it is.
I have used my mythDVBcut script for years. It includes
{{{
# tell mythDB about new filename and set the 'transcoded' flag
echo "update recorded set basename='${OUTFILE}', transcoded = 1
where recordedid = '$recordedid' ; " |
mysql -N -u${DBUserName} -p${DBPassword} -h${DBLocalHostName} ${DBName}
# Update the container type, needed for uPnP playback. Empty will
work too, if the transcoded flag is set.
# This is a HACK pending 0.28 release, when mythutil should do it.
See Ticket #12388
echo "update recordedfile set basename = '${OUTFILE}', container =
'MPEG2-PS' where recordedid = '$recordedid' ;" |
mysql -N -u${DBUserName} -p${DBPassword} -h${DBLocalHostName} ${DBName}
}}}
John P
>
> I should really have used an api or mythutil for all the updates and not
> have accessed the database directly. But this was done long ago.
>
> Peter
>
>
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-dev
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
>
More information about the mythtv-dev
mailing list