Difference between revisions of "User Jobs"

From MythTV Official Wiki
Jump to: navigation, search
m (Remind me where jobs are defined in mythtv-setup)
m (copy_and_transcode.pl is now in MythTV source repository)
Line 107: Line 107:
 
| Imports the flagged commercials into the cutlist
 
| Imports the flagged commercials into the cutlist
 
|-
 
|-
| [http://knoppmythwiki.org/index.php?page=CopyAndTranscode CopyAndTranscode]
+
| [http://cvs.mythtv.org/trac/browser/trunk/mythtv/contrib/user_jobs/copy_and_transcode.pl]
| Copies a recording before transcoding it
+
| Copies a recording before transcoding it, honours cutlist
 
|-
 
|-
 
| [[ipod_export]]
 
| [[ipod_export]]

Revision as of 02:44, 20 February 2009

User Jobs are programs which can act on MythTV recordings. A MythTV system currently supports four User Jobs.

Adding a User Job

There are three ways to add a User Job into the system:

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

2) By using some SQL statements to insert the job directly. For example, a hypothetical job which edits bad language:

% mysql mythconverg
UPDATE settings SET data='/path/to/rm-swearing.sh %DIR%/%FILE%' WHERE value='UserJob1';
UPDATE settings SET data='Swearing Removal' WHERE value='UserJobDesc1';
UPDATE settings SET data='1' WHERE value='JobAllowUserJob1';

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

UserJob# & UserJobDesc#

Important Note: If you use the MythWeb version or manual mysql version 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.

Options for User Jobs on the Backend
Option Description
%CHANID% Channel ID
%STARTTIME% Start Time of the Recording
%DIR% Path to the recording directory
%FILE% The file name
%TITLE%
%SUBTITLE%
%DESCRIPTION%
%HOSTNAME%
%CATEGORY%
%RECGROUP%
%PLAYGROUP%
%STARTTIME% In the format yyyyMMddhhmmss
%ENDTIME%
%STARTTIMEISO% In the ISO date format YYYY-MM-DD hh:mm:ss
%ENDTIMEISO%
%PROGSTART%
%PROGEND%
%PROGSTARTISO%
%PROGENDISO%
%VERBOSELEVEL%
%JOBID% The id of this job in the mythconverg jobqueue table

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

Command Description
/usr/bin/mythcommflag -s %STARTTIME% -c %CHANID% --gencutlist Imports the flagged commercials into the cutlist
/usr/bin/mythcommflag --queue --gencutlist -f %FILE% Imports the flagged commercials into the cutlist
[1] Copies a recording before transcoding it, honours 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.
pdatranscode.pl Exports recordings in formats useful for PDAs, MDAs, Smartphones and Palms
RemoveCommercials 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[2]. These examples are tailored for the screen and CPU capabilities of the SanDisk Sansa e200 series of media players.