Content here is by Michael Still mikal@stillhq.com. All opinions are my own.
See recent comments. RSS feed of all comments.


This is my page for MythTV information, including details of my book on the topic.


Sun, 27 Sep 2009



Incorrect channel numbers in MythTV

    We've had a HDHomeRun for a while now, and I'm very happy with it. One wart however was that Catherine was complaining that tuning for Go! didn't work (an extra Win TV channel we get in this area). It was odd -- it appeared in the channel guide, but recordings would end up recording ABC1 instead, and we couldn't tune to the channel in the live TV interface either.

    I fired up the channel editor in mythtv-setup, and the problem was actually pretty easy to solve... The channel scan had assigned channel number 2 to Go!, which is the same channel number as ABC1. It had also gotten the channel number for Win TV wrong, but we hadn't noticed that because that wasn't overlapping with another channel. The channel numbers seem arbitrary, given the database is also storing frequency and demultiplexing information, so the fix was as simple as just giving the various WIN channels the correct numbers (or I suspect any number that was unique) in mythtv-setup.

    Tags for this post: mythtv hdhomerun channel number incorrect scan
    Related posts: Online license plate simulators; 2,150 blog posts; Want HDTV but only for US free to air?

posted at: 03:55 | path: /mythtv/hdhomerun | permanent link to this entry


Tue, 28 Apr 2009



MythTV Chapter Ready: The Hard Way: Installing MythTV From Source

posted at: 07:30 | path: /mythtv/book/wiki | permanent link to this entry


Mon, 27 Apr 2009



How I plan on handling Ubuntu and Mythbuntu 9.04

posted at: 13:00 | path: /mythtv/book/wiki | permanent link to this entry


MythTV Chapter Ready: The Hard Way: Installing Ubuntu

posted at: 12:58 | path: /mythtv/book/wiki | permanent link to this entry


Thu, 29 Jan 2009



Restricting anonymous edits

posted at: 20:23 | path: /mythtv/book/wiki | permanent link to this entry


Tue, 27 Jan 2009



MythTV Chapter Ready: The Easy Way: Installing MythBuntu

posted at: 20:42 | path: /mythtv/book/wiki | permanent link to this entry


Looking for a logo

posted at: 11:10 | path: /mythtv/book/wiki | permanent link to this entry


Tue, 20 Jan 2009



MythTV Chapter Ready: Selecting Hardware

posted at: 14:03 | path: /mythtv/book/wiki | permanent link to this entry


Mon, 19 Jan 2009



MythNetTV release 7

    This release is smaller than the last one, but has some bug fixes which folk might find handy. New things in this release:

      Better testing:
    • r232: Simple script to create the unit testing database


      New features:
    • r210: Allow users to override the default bittorrent upload rate
    • r212: Provide more sync information when running in verbose mode
    • r216: Add the markunread command
    • r218: Make only one download attempt for a given show per 24 hour period
    • r220: Change download interval to one hour, update last attempt time more frequently
    • r222: Add --oldestfirst and --newestfirst flags, which alter NextDownloads behavior
    • r224: Add flag which forces downloads to run, even if they've failed recently
    • r226: Don't mark a bittorrent download as complete just because the torrent file has been completely downloaded
    • r234: Use reasonable defaults for mysql configuration if no config file can be found
    • r236: Use reasonable defaults for mysql configuration if no config file can be found
    • r238: Use reasonable defaults for mysql configuration if no config file can be found


      Bug fixes:
    • r206: Make the output of "video.py length" more friendly
    • r208: Release man pages as well
    • r214: Fix a bug introduced in r210 which broke bittorrent downloads
    • r228: Fix a typo in the recordings_tool help text
    • r230: Fix a typo in the recordings_tool help text
    • r240: Reduce size of proxy name in the usage table to deal with key length limitations in MySQL
    • r242: The schema for the channel table changed in MythTV 0.21
    • r244: Fix typo
    • r246: Suppress repeated warnings of DB default use
    • r248: Bug fixes for linux.conf.au 2009 talk
    • r250: Include test runner script in release, prepare ChangeLog for release


    Please grab your copy here.

    Tags for this post: mythtv mythnettv release
    Related posts: MythNetTV release 2; MythIpTV Beta 1; MythNetTV release 6; MythNetTV release 5; MythNetTV beta 4; MythNetTV release 4

posted at: 15:11 | path: /mythtv/mythnettv | permanent link to this entry


MythTV Chapter Ready: Introduction

posted at: 13:28 | path: /mythtv/book/wiki | permanent link to this entry


Sun, 18 Jan 2009



Introducing the online MythTV book

    This post is syndicated from online MythTV book blog.


    When parts of the first edition of the MythTV book became out of date, I decided to take the book online and ask others to help me improve it and bring it up to date. There is a blog for announcements, at http://mythtvbook.com/blog and if you're interested in helping out, please visit the Help Wanted page.

    This book does not aim to be a complete reference to MythTV or a guide for how to develop plug-in modules for MythTV. Although we include a brief overview of the major features of MythTV, we explore only those parts of MythTV that are relevant to the projects in this book, which will include all the parts of MythTV that an average user will be interested in. It will also give you an excellent grounding for further projects with MythTV as well. This book is intended as a hobbyist's project guide, providing suggestions about what sort of projects you could take on and how we went about implementing our own versions of those projects.

    Instead of including exhaustive coverage of features that few people use, we'll provide pointers to how to find out about those features, and we'll cover the 80 percent of MythTV's functionality that everyone will find useful. That way, this book will be genuinely useful to people setting up MythTV, instead of being a boring reference manual.

    However, because the book is a wiki, anyone can add content if they want to. If there is genuine interest in the book being something other than what I envisage, then that is fine. The only barrier I have imposed is that chapters which become "official" (in other words are listed in the table of contents on the front page of the wiki) must go through both a technical review and a copy edit review. This will ensure that they're technically accurate, as well as being sufficiently well written. I am applying the same review criteria to my own chapters as well. I like to think of this as much like a code review before a patch is committed to an open source project.

    You can follow along with the progress of the project at the current events page, and if you're interested in helping with the authoring or review process, I suggest that you join the editors mailing list, which is much like the core developers list for a coding project.

    This is the first time I've tried a collaborative authoring project like this before, so I am very open to suggestions and comments. Additionally, I'd love some help getting the work done, and wouldn't mind some help with graphic design tasks as well.

    Tags for this post: mythtv book wiki project announce
    Related posts: LCA CD continues; How I plan on handling Ubuntu and Mythbuntu 9.04; MythTV Chapter Ready: The Hard Way: Installing MythTV From Source; Project Aardvark unmasked!; MythTV Chapter Ready: Selecting Hardware; MythTV Chapter Ready: The Easy Way: Installing MythBuntu

posted at: 13:21 | path: /mythtv/book/wiki | permanent link to this entry


Wed, 24 Dec 2008



MythBuntu 8.10 just made me sad

posted at: 17:26 | path: /mythtv/mythbuntu | permanent link to this entry


Fri, 12 Dec 2008



The state of Blu Ray on Linux / MythTV

    The DVD drive in one of my MythTV machines has given up the ghost. I have to go to Fry's tomorrow to replace a dead hard disk, so I'll pick up a new drive while I am at it. I am surprised to discover that Blu Ray drives are now just $90. I wonder what the state of Blu Ray playback on Linux is like at the moment. How's the MythTV support? Time to find out.

    Tags for this post: mythtv bluray

posted at: 19:28 | path: /mythtv/bluray | permanent link to this entry


Sun, 16 Nov 2008



Wanted: someone to edit / review some MythTV stuff for me

    I'm looking for someone with solid MythTV experience and a good grasp of the English language to help me out with a project. All I can promise in return is glory, and that will be proportional to the eventual success of the project. If you're interested in spending some time (probably around 40 hours or so, spread over a couple of months) on such a project drop me a line.

    Tags for this post: mythtv

posted at: 19:00 | path: /mythtv | permanent link to this entry


Tue, 11 Nov 2008



irtrans remote control stops working

    I've been using a Zalman HD160B media center case for quite some time, and I love it. It came with an irtrans based LCD and remote control built into the case, which has always worked nicely as well. Until yesterday when the remote stopped working.

    When I run the irserver command in a terminal so I can see the output, I get this:

      # ./irserver -codedump -debug_code -loglevel 4 /dev/ttyUSB0
      Name   : 
      Version: D5.03.08
      FW SNo : 18780
      Capab  : Power On; 
      FW Cap : 3964953
      USB SNo: 
      Node   : /dev/ttyUSB0
      
      IRServer Version 5.7.08
      [ 0]:                      D5.03.08     SN: 18780
      Remote zalman               compiled:     1 Timings -     45 Commands
      Total:   1 Remotes  -   1 Timings -  45 Commands
               0 CCF Data -   0 CCF RAW -   0 CCF Error
      


    No joy. Rebooting the machine, replacing all the batteries, and restarting the server all did nothing. The server still doesn't see events from the remote. I'm not sure how to determine if this is a receiver hardware problem or not -- I'm kinda out of other ideas. Suggestions welcome.

    Update: of course, disassembling the PC and reseating all the cables fixed the problem. I wonder if it is temperature related?

    Tags for this post: mythtv irtrans irserver remote
    Related posts: Apple remote for older ibook?

posted at: 19:04 | path: /mythtv | permanent link to this entry


Fri, 03 Oct 2008



MythNetTV release 6

    New things in this release:

      Better testing:
    • r114: Unit tests for video.py
    • r148: Updated unit test now that we create more tables
    • r151: Start work on syndication unit tests
    • r153: Unit test for bad syndication dates, as well as more flexibility in db connections needed for this unit test
    • r157: Nicer unit test failure output, and refactor GetVideoDir() into the utility module
    • r181: Slightly improve syndication unit tests
    • r183: Add flag parsing to unit tests, and fix some more flag name changes


      Better documentation:
    • r117: Added a man page for video.py -- I'm not 100% happy with its name though


      Bug fixes:
    • r114: Fixed a bug where the new filename for video transcode could be the same as the input filename, resulting in video corruption. This was found with one of the new video.py unit tests
    • r116: The logic for the --prompt flag was the wrong way around. Fixed.
    • r119: Nicer download status messages
    • r121: Handle 404s in feed updates better
    • r129: Slight tweak to SVN submit script
    • r131: More accurate tracking of proxy usage (update during download, instead of just at the end)
    • r137: Proxy budget being exceeded doesn't count as a failed download attempt
    • r143: Subscribe now renables inactive subscriptions
    • r146: Add support to decimals to utility byte printer, fix a bug in the check for video directories
    • r155: Have users send problems to the mailing list, instead of me personally
    • r161: Don't throw exceptions for the videodir command line
    • r167, 169: Display friendly sizes in records_tool output
    • r171: Move verbose update arg into a flag
    • r173: Add "-vo null" to mplayer invocation per Ryan Lutz. This improves support on machines without X, and speeds up the identify operation
    • r175: Import patch from Thomas Mashos which fixes subscription removal, started work on syndication unit test improvements
    • r177: Fix character escaping bug in show subtitles during import
    • r179: Renamed --datadirdefault to --datadir. If set this will now change your data directory, regardless of if there was a previous value set.
    • r190: Recording_tool now prompts for deletes
    • r192: Improved explainvideodir output
    • r194: Don't crash in explainvideodir if there is no video directory
    • r197: Order results by subtitle in recordings_tool output


      New features:
    • r115: Upgraded schema to version 15 to support http_proxies for subscriptions. Added http_proxy command line, which allows you to use HTTP proxies for specified URLs. Moved HTTP accesses to use the proxy code.
    • r127: Bump schema to v17, and add proxy use tracking including the "proxyusage" command
    • r133: Allow daily budgets for proxy usage
    • r115: Provide a user agent for HTTP requests, instead of just Python-urllib/1.17
    • r117: Users will now be prompted to subscribe to an announcements video feed. This will happen exactly once. This behavior may be disabled with the --nopromptforannounce command line flag.
    • r125: Add a full info dump command to video.py's command line interface
    • r139: Bump schema to 19, and implement categories with the "category" command
    • r141: Implement recording group support, and clarify category support
    • r151: Implement a helper (recordings_tool) for handling the MythTV recordings table, this is useful for testing.
    • r159: Add videodir and explainvideodir debugging commands, and update man page
    • r163: Add title list feature to recordings_tool
    • r165: Include recording count in title list
    • r185: Add the resetattempts command


      Development changes:
    • r123: Added a submit script to automate putting the revision number into the ChangeLog
    • r135: Tweak to new ChangeLog auto logging formatting


    Release 6 continues the tradition of better testing, improves the documentation (a little, there is more work to be done there), fixes a bunch of bugs, and implements some new features which will hopefully be useful to others. Please grab your copy here.

    Tags for this post: mythtv mythnettv release
    Related posts: MythNetTV release 2; MythNetTV release 7; MythIpTV Beta 1; MythNetTV release 5; MythNetTV beta 4; MythNetTV release 4

posted at: 13:09 | path: /mythtv/mythnettv | permanent link to this entry


Tue, 23 Sep 2008



Please help me test trunk

    I'm getting ready to do another MythNetTV release, as I've fixed quite a few things recently. I'd appreciate people testing the new code before I do an official release. You can get the current code like this:

      svn co http://www.stillhq.com/mythtv/mythnettv/svn
      


    That will create a directory called mythnettv, with a subdirectory named trunk, which is the latest development version of the code. You should probably create that directory somewhere where you don't mind a new directory being created.

    This release has lots of small changes, which are listed in the ChangeLog which will be downloaded with the code.

    Thanks.

    Tags for this post: mythtv mythnettv
    Related posts: MythNetTV mailing list; MythNetTV release 2; MythNetTV release 7; MythIpTV Beta 1; MythNetTV release 6; MythNetTV release 5

posted at: 20:42 | path: /mythtv/mythnettv | permanent link to this entry


Sun, 14 Sep 2008



Couldn't determine the video directory?

    A couple of people have contacted me in the last couple of days with an error where MythNetTV can't determine the directory to put videos in. The error would look something like this:

      Importing data/tekzilla--0050--tehbunniez--hd.h264.mp4 Traceback (most recent call last): File "./mythnettv", line 453, in main(sys.argv) File "./mythnettv", line 212, in main mythnettvcore.DownloadAndImport(db, guid, out=out) File "/home/mythbox/Scripts/mythnettv/mythnettvcore.py", line 92, in DownloadAndImport prog.Import(out=out) File "/home/mythbox/Scripts/mythnettv/program.py", line 472, in Import raise FilenameException(self.db, 'Could not determine the video ' program.FilenameException: Could not determine the video directory for this machine. Please report this to mythnettv@stillhq.com


The stack trace is mostly irrelevant. The problem here is that MythNetTV couldn't decide what directory to put the video in once downloaded. Please execute the following SQL statements against your MythTV database:

    select * from storagegroup where groupname="MythNetTV";
    select * from storagegroup where groupname="Default";
    select * from settings where value="RecordFilePrefix"; 
    


This will dump all of the possible places MythNetTV will look for a video directory.

Once you've dumped this information, perform some simple checks:

  • Is there anything listed at all? If not, you need to configure storage groups with the MythTV user interface
  • Is there anything listed with the hostname that MythNetTV is running on? If not, you need to add configuration entries for your current hostname.


If you're still having problems, please send email to mythnettv@stillhq.com, with the output of those select commands, and the output of the hostname command.

Tags for this post: mythtv mythnettv tips video directory problems
Related posts: MythNetTV beta 4; MythNetTV release 1; MythNetTV mailing list; MythNetTV release 2; MythNetTV release 7; LCA 2007 Video: CFQ IO

posted at: 10:32 | path: /mythtv/mythnettv/tips | permanent link to this entry


Sat, 30 Aug 2008



MythNetTV release 5

    New things in this release:

    • There is now a users mailing list at http://lists.stillhq.com/listinfo.cgi/mythnettv-stillhq.com
    • Moved to a public SVN server at http://www.stillhq.com/mythtv/mythnettv/svn/
    • Added the 'justone' syntax to the download command
    • Another try at using gflags. This means that all the command lines have changed slightly.
    • Moved the core of MythTV out of the user interface file.
    • Started writing unit tests
    • Changed user output code so that it doesn't insist on writing to stdout. You can now write to other file descriptors, which makes things like unit tests much easier to write.
    • Added video/msvideo to the enclosure whitelist
    • Added HTTP download progress information
    • Added a flag which turns off the prompts for markread (--noprompt)
    • Patches from Thomas Mashos
      • Search ~/.mythtv/mysql.txt, /usr/share/mythtv/mysql.txt and /etc/mythtv/mysql.txt in that order for MySQL connection information
      • A manpage
      • setup.py
    • video.py now has a simple command line interface to let you query it
    • Fix update of inactive programs bug per http://ubuntuforums.org/showpost.php?p=5580005&postcount=4
    • Better DB error handling
    • Included a COPYING file with the right version of the GPL (it was missing before)
    • Fixed a bug where programs would be downloaded more than once (found with a unit test!)
    • Started raising exceptions instead of just sys.exit(1). This should make life easier for user interfaces in the future
    • Default to using storage groups for storing recordings before falling back to the RecordFilePrefix. This makes the behaviour: use a storage group named "MythNetTV" if it exists; use the default storage group if it exists; use the value of RecordFilePrefix.
    • Transcode avc1 videos, because some need it
    • Force ASCII encoding of title, subtitle, and all fields in the database to get around feeds which use unicode which python / MySQL can't store correctly
    • If there is only one attachment to an item, and its not in our whitelist of video formats, then warn the user that you're assuming its a video file and then add it to the todo list
    • Slight tweak to the signature of video.MythNetTvVideo.Transcode()
    • Fix buf in RepairMissingDates which caused it to consistently crash
    • Fix typo in date warning code
    • Better handling of videos where the length of the video cannot be determined by mplayer


    Release 5 is by far the best tested release of MythNetTV yet, with both unit tests and several users working quite closely with me to resolve problems found in the wild. You can grab your copy here.

    Tags for this post: mythtv mythnettv release
    Related posts: MythNetTV release 2; MythNetTV release 7; MythIpTV Beta 1; MythNetTV release 6; MythNetTV beta 4; MythNetTV release 4

posted at: 15:11 | path: /mythtv/mythnettv | permanent link to this entry


Sun, 24 Aug 2008



Please help me test trunk

    I'm preparing a new release of MythNetTV, and would like some help testing the code, as I have re-factored how the user interface works and there is some risk that I have broken things in the process. You can get the code like this:

      svn co http://www.stillhq.com/mythtv/mythnettv/svn
      


    That will create a directory called mythnettv, with a subdirectory named trunk, which is the latest development version of the code. You should probably create that directory somewhere where you don't mind a new directory being created.

    The biggest change is that the command line syntax has changed slightly -- the dashes have been removed from the commands. Therefore, to update your list of feeds, you now use:

        mythnettv update
      


    Instead of:

        mythnettv --update
      


    And so on. This was done so that I could add "real" flags, which are used to change default values like where the database configuration is read from, as well as what the default location for the temporary data directory is.

    "Real" flags which are currently supported are:

        --datadirdefault:  The default location of the data directory
          (default: 'data')
      
        --db_host:  The name of the host the MySQL database is on,
                    don't define if you want to parse
                    ~/.mythtv/mysql.txt instead
          (default: '')
        --db_name:  The name of the database which MythNetTV uses,
                    don't define if you want to parse 
                    ~/.mythtv/mysql.txt instead
          (default: '')
        --db_password:  The password for the database user, don't
                    define if you want to parse 
                    ~/.mythtv/mysql.txt instead
          (default: '')
        --db_user:  The name of the user to connect to the database
                    with, don't define if you want to parse 
                    ~/.mythtv/mysql.txt instead
          (default: '')
      
        --[no]commflag:  Run the mythcommflag command on new videos
          (default: 'true')
      


    (These are the result of adding the gflags module back into the implementation).

    I am hoping to release this version in the next few days, so if you find any bugs please send email to the mailing list.

    Tags for this post: mythtv mythnettv
    Related posts: MythNetTV mailing list; MythNetTV release 2; MythNetTV release 7; MythIpTV Beta 1; MythNetTV release 6; MythNetTV release 5

posted at: 14:42 | path: /mythtv/mythnettv | permanent link to this entry