MYTHUTIL(1)

πŸ’– NAME πŸ’–

mythutil β€” MythTV Utility helper ✨

(yes bestie, this is the mythutil(1) manual page, section 1, User Commands, and we're gonna get through all of it together 🫢)


✨ DESCRIPTION ✨

so. mythutil version: fixes/36 [v36.0+fixes.20260401.1385cbfc60-0ubuntu3] β€” and the whole thing lives over at www.mythtv.org 🌈

MythUtil is a command line utility application for MythTV. That's the whole vibe: it's the little command-line toolbox that pokes at your MythTV setup and does the one specific thing you need. it's giving "swiss army knife but make it a backend" πŸ’…

okay, let's go group by group, no skipping, we're doing ALL of them πŸ‘‘


πŸŽ€ Misc. Options πŸŽ€

the little guys. the setup ones. don't skip them, they're lowkey important:

  • -O, --override-setting β€” Override a single setting defined by a key=value pair. one setting, one override, one moment πŸ’–
  • --override-settings-file β€” Define a file of key=value pairs to be loaded for setting overrides. (a whole file of overrides, she's extra and we love that)
  • -h, --help, --usage β€” Display this help printout, or give detailed information of selected option. when in doubt, ask for help bestie πŸ™ˆ
  • --version β€” Display version information. the classic "who even are you" check

πŸ¦‹ Metadata Reading/Writing Options πŸ¦‹

music stuff!! tracks!! tags!! we're in our metadata era:

  • --calctracklen β€” Decode a track to determine its exact length
  • --songid β€” ID of track to update
  • --extractimage β€” Extract an embedded image from a tracks tag and cache it in the AlbumArt storage group. (iconic behavior, honestly β€” pulling the cover art out and keeping it safe in AlbumArt)
  • --imagetype β€” Type of image to extract (front, back, cd, inlay, unknown)
  • --songid β€” ID of track to update
  • --findlyrics β€” Search for some lyrics for a track
  • --songid β€” ID of track to update
  • --artist β€” (optional) Artist of track
  • --album β€” (optional) Album of track
  • --title β€” (optional) Title of track
  • --grabber β€” (optional) Name of grabber to use or 'ALL' to try all available grabbers. go getter energy fr fr
  • --updatemeta β€” Update a music tracks database record and tag with new metadata
  • --album β€” (optional) Album of track
  • --artist β€” (optional) Artist of track
  • --genre β€” (optional) Genre of track
  • --lastplayed β€” (optional) Last played of track
  • --playcount β€” (optional) Playcount of track
  • --rating β€” (optional) Rating of track
  • --songid β€” ID of track to update
  • --title β€” (optional) Title of track
  • --trackno β€” (optional) Track No. of track
  • --year β€” (optional) Year of track
ngl bestie, --songid shows up a few times in here because different operations each want it. that's just how the page is written, so I'm keeping every single one πŸ’– no erasing anything in this house

🌸 Recording Utils Options 🌸

  • --checkrecordings β€” Check all recording exist and have a seektable etc. she's doing a vibe check on your whole library ✨
  • --fixseektable β€” (optional) fix the seektable if missing for a recording

πŸŽ€ Recording Markup Options πŸŽ€

this whole family of commands operates on a recording or a Video Gallery video, and they all share the same three ways to point at your target. so real quick, the trio that keeps showing up:

  • --chanid β€” Specify chanid of recording to operate on.
  • --starttime β€” Specify start time of recording to operate on.
  • --video β€” Specify path name of Video Gallery video to operate on.

got it? got it. now the actual commands:

  • --clearbookmarks β€” Clear all bookmarks. bye bye bookmarks πŸ‘‹
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --clearcutlist β€” Clear the cutlist.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --clearseektable β€” Clear the seek table.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --clearskiplist β€” Clear the commercial skip list.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --gencutlist β€” Copy the commercial skip list to the cutlist.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --getcutlist β€” Display the current cutlist.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --getmarkup β€” Write markup data to the specified local file.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --getskiplist β€” Display the current commercial skip list.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --setcutlist β€” Set a new cutlist in the form: #-#[,#-#]... (ie, 1-100,1520-3012,4091-5094)
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --setmarkup β€” Read markup data from the specified local file, and use it to set the markup for the recording or video.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
  • --setskiplist β€” Set a new commercial skip list in the form: #-#[,#-#]... (ie, 1-100,1520-3012,4091-5094)
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.
    • --video β€” Specify path name of Video Gallery video to operate on.
the #-# format is literally start-end in frames/seconds style ranges, comma-separated, like 1-100,1520-3012,4091-5094 β€” copy it exactly, don't get creative with it bestie πŸ™

πŸ’œ Backend Options πŸ’œ

talking to the backend, main character energy only:

  • --clearcache β€” Trigger a cache clear on all connected MythTV systems.
  • --event β€” Send a backend event test message.
  • --resched β€” Trigger a run of the recording scheduler on the existing master backend.
  • --scanimages β€” Trigger a rescan of media content in Images.
  • --scanvideos β€” Trigger a rescan of media content in MythVideo.
  • --systemevent β€” Send a backend SYSTEM_EVENT test message.

🌈 EIT Utils Options 🌈

  • --cleareit β€” Clear guide received from EIT.
  • --sourceid β€” (optional) specify sourceid of video source to operate on instead of all

🧚 File Options 🧚

  • --copyfile β€” Copy a MythTV Storage Group file using RingBuffers
    • --infile β€” Input file URI
    • --outfile β€” Output file URI
  • --download β€” Download a file using MythDownloadManager
    • --infile β€” Input file URI
    • --outfile β€” Output file URI

πŸ“ Logging Options πŸ“

the "why is nothing working" section. we've all been here:

  • --loglevel β€” Set the logging level. All log messages at lower levels will be discarded. In descending order: emerg, alert, crit, err, warning, notice, info, debug, trace defaults to info
  • --loglong β€” Use long log format for the console, i.e. show file, line number, etc. in the console log.
  • --logpath β€” Writes logging messages to a file in the directory logpath with filenames in the format: applicationName.date.pid.log. This is typically used in combination with --daemon, and if used in combination with --pidfile, this can be used with log rotators, using the HUP call to inform MythTV to reload the file
  • -q, --quiet β€” Don't log to the console (-q). Don't log anywhere (-q -q)
  • --syslog β€” Set the syslog logging facility. Set to "none" to disable, defaults to none.
  • --systemd-journal β€” Use systemd-journal instead of syslog.
  • -v, --verbose β€” Specify log filtering. Use -v help for level info.

πŸ’Œ Messaging Options πŸ’Œ

sending cute little pop-ups to a frontend πŸ’•

  • --message β€” Display a message on a frontend
    • --bcastaddr β€” (optional) IP address to send to
    • --message_text β€” (optional) message to send
    • --timeout β€” (optional) notification duration
    • --udpport β€” (optional) UDP Port to send to
  • --notification β€” Display a notification on a frontend
    • --bcastaddr β€” (optional) IP address to send to
    • --description β€” (optional) notification description text
    • --error β€” (optional) set notification to be displayed as an error
    • --extra β€” (optional) notification extra text
    • --fullscreen β€” (optional) display notification in full screen mode
    • --image β€” (optional) Path to image to send to (http://, myth://)
    • --message_text β€” (optional) message to send
    • --origin β€” (optional) notification origin text
    • --progress β€” (optional) progress value (must be between 0 and 1)
    • --progress_text β€” (optional) notification progress text
    • --timeout β€” (optional) notification duration
    • --type β€” (optional) type of notification (normal, error, warning, check, busy
    • --udpport β€” (optional) UDP Port to send to
    • --visibility β€” (optional) bitmask indicating where to show the notification
  • --print-message-template β€” Print the template to be sent to the frontend
  • --print-notification-template β€” Print the template to be sent to the frontend
the --progress value has to be between 0 and 1. not 0 and 100. zero and one. that's the rule, don't fight it 🫢

πŸ‘‘ MPEG-TS Options πŸ‘‘

  • --pidcounter β€” Count pids in a MythTV Storage Group file
    • --infile β€” Input file URI
    • --packetsize β€” TS Packet Size
  • --pidfilter β€” Filter pids in a MythTV Storage Group file
    • --infile β€” Input file URI
    • --outfile β€” Output file URI
    • --packetsize β€” TS Packet Size
    • --pids β€” Pids to process
  • --pidprinter β€” Print PSIP pids in a MythTV Storage Group file
    • --infile β€” Input file URI
    • --outfile β€” Output file URI
    • --noautopts β€” Disables PTS discovery
    • --pids β€” Pids to process
    • --xml β€” Enables XML output of PSIP
  • --ptspids β€” Pids to extract PTS from

⭐ JobQueue Options ⭐

  • --queuejob β€” Insert a new job into the JobQueue.
    • --chanid β€” Specify chanid of recording to operate on.
    • --starttime β€” Specify start time of recording to operate on.

🎡 Music Scanning Options 🎡

  • --scanmusic β€” Scan the 'Music' Storage Group for music files
  • --force β€” Ignore file timestamps
  • --updateradiostreams β€” Downloads an updated radio stream list from the MythTV server

okay bestie that is literally the whole page, nothing skipped, all 40-something-ish flags accounted for, no cap πŸ’…

friendly reminder that with great power comes great "wait what did I just clear" β€” commands like --clearcutlist, --clearseektable, --clearskiplist, --clearbookmarks and --cleareit are clearing things on purpose. read twice, run once, periodt πŸ’€

so yeah!! that's mythutil, the MythTV Utility helper, from the mythutil 36.0+fixes.20260401.1... build, dated August 2026, and this manual page is just MYTHUTIL(1) doing her thing. now go forth and be the most competent command-line girlie in the group chat πŸŒΈβœ¨πŸ’–

πŸ“¦ where this page comes from