User Jobs

From MythTV Official Wiki
Revision as of 15:18, 23 November 2012 by Llib (talk | contribs) (Remove spam)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

User Jobs are customized tasks which can act on MythTV recordings. A MythTV system currently supports up to four User Jobs.

Important.png Note: Beginning with release 0.26, timestamps of recordings are stored in UTC. Applications that use xxxTIME parameters to directly index the database will need to either handle timezone conversion internally, or switch to the respective xxxTIMEUTC parameters. See UTC

Adding a User Job

There are two ways to add a User Job to the system:

1) In the mythtv-setup program (pages 7 & 9 of the General menu page)

2) By using Mythweb Settings | MythTV settings table and editing

UserJob# & UserJobDesc#

Important Note: If you use the MythWeb method for setting up a user job, you have to restart mythbackend for the changes to take effect. (Theoretically if you are doing it via MythTV-Setup, then mythbackend isn't running anyway.)

User Job arguments

A user job is just a program or script which is passed some arguments to tell it what recording to perform work on. Either the channel and start time, or the directory and filename, should be sufficient to uniquely identify the recording.

Parameters for System Events and User Jobs
Parameter Description Used




%CARDID% Event
%CATEGORY% Program subject category, may be undefined. Both
%CHANID% Channel ID Both
%DESCRIPTION% Program title, may be undefined. Both
%DIR% Event: myth://IP:6543/file.mpg, Job: actual directory, may be undefined prior to recording start. Both
%ENDTIME% Recording end time (estimated) yyyyMMddhhmmss. Both
%ENDTIMEUTC% yyyyMMddhhmmss Both
%EPISODE% Number Both 0.25?
%FILE% Recording file, may be undefined prior to recording start. Both
%FINDID% Find ID, for DB lookups. Event
%INETREF% String, e.g. ttvdb.py_123456
%JOBID% The id of this job in the mythconverg jobqueue table.
%ORIGINALAIRDATE% Original Air Date of recording. Both
%PARENTID% Parent recording rule ID, for DB lookups. Event
%PLAYGROUP% Play group Both
%PROGEND% Program's scheduled end time. Both
%REACTIVATE% 1 if this recording was reactivated after failing to start on time, 0 otherwise. Event
%RECGROUP% Recording group Both
%RECID% Recording rule ID, for DB lookups. Event
%RECORDEDID% Recorded rule ID, for DB lookups. Both v29.2
%RECSTATUS% Recording status as an integer for completeness, not currently useful. Event
%RECTYPE% This is the recording rule type as an integer, in the priming script example this could be used to do an extensive priming prior to some recordings and not others. These integers are listed in recordingtypes.h in the RecordingType enum. Event
%SEASON% Number Both 0.25?
%SECS% Time until upcoming recording starts. Event
%SENDER% Origin of event (hostname.) Event
%SUBTITLE% Program subtitle, may be undefined. Both
%TITLE% Program title, may be undefined. Both
%TRANSPROFILE% Profile number. Job
%VERBOSELEVEL% Bit mapped decimal value. See: Both
%VERBOSEMODE% E.g.: --verbose --logpath --loglevel --quiet --nodblog [--syslog (if non Windows)]. Job 0.25

Note that not all parameters are available to all System Events User Jobs.

Information on completion percentage of a running job, and on results of a completed job, is stored in the comment column of the jobqueue table in the mythconverg database.

User Job Examples

See example scripts at Category:User_Job_Scripts

Command Description
/usr/bin/mythutil --gencutlist --chanid %CHANID% --starttime %STARTTIME% Imports the flagged commercials into the cutlist Copies a recording before transcoding it, honoring the cutlist
ipod_export Exports recordings in a video iPod compatible format
nuvexport --ffmpeg --infile="%FILE%" --path=/myth/exports/PocketPC --height=240 --width=320 --mode=xvid --deinterlace --nonoise_reduction --nice=19 Exports a program to Pocket PC sized Xvid using nuvexport. Exports recordings in formats useful for PDAs, MDAs, Smartphones and Palms
Remove Commercials Script to remove commercials
dpg_export Converts an mpg recording to a format that can be played in the Nintendo DS moonshell
Cutting_Music_Videos Make multiple named cuts from a single recording (the hard way ;) ).
Rockbox_Export Export recordings to small mpegs with or without commercials, suitable for use with Rockbox[1]. These examples are tailored for the screen and CPU capabilities of the SanDisk Sansa e200 series of media players. Export recordings to MythVideo