Sunday, August 29, 2010

Step By Step LAMP Zend Framework Setup

  • sudo apt-get install lamp-server^
    • (yes include carat)
  • sudo a2enmod rewrite
  • sudo apt-get install zend-framework
    • (it is not, nor will it ever be, the current version)
  • sudo apt-get install libapache2-mod-auth-mysql phpmyadmin
  • sudo apt-get install curl
  • sudo apt-get install vim
  • sudo vim /etc/php5/apache2/php.ini
    • Edit error handling around line 500
    • Edit paths around line 780.  Add:
      • include_path = ".:/usr/share/php/libzend-framework-php"
    • Edit Execution Time
      • max_execution_time = 0
      • max_input_time = -1
  • sudo /etc/init.d/apache2 restart
If I get "apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName"
  • sudo vim /etc/apache2/httpd.conf
  • paste:
    • ServerName localhost
  • save
  • sudo /etc/init.d/apache2 restart
Now is probably also a good time to setup read/write permissions on /var/www as well.  It took me too long to figure out how to do it exactly, but the general idea is to add the group www-data to the user you are using for most programming and data entry or whatever.  Remember to log out and log back in when you change groups.  Then set your /var/www folder to the www-data group as well.  That's it.  Remembering to log out is the important part.

Step By Step Tivo Decode Machine Setup

On Local Machine

  • Install Ubuntu Minimal
  • sudo apt-get install openssh-server

Via SSH

  • Install Medibuntu
  • sudo apt-get install build-essential
  • Install tivodecode
    • wget http://downloads.sourceforge.net/project/tivodecode/tivodecode/0.2pre4/tivodecode-0.2pre4.tar.gz
    • tar xvfz tivodecode-0.2pre4.tar.gz
    • cd tivodecode-0.2pre4/
    • ./configure
    • make
    • sudo make install
    • which tivodecode
  • sudo apt-get install mencoder
  • sudo apt-get install avahi-utils
  • sudo apt-get install atomicparsley
Do something about the domain name.  Any time you sudo you'll get an warning like "Could not reliably determine the server's fully qualified domain name" or such.

    Sunday, August 22, 2010

    Transfer TiVo MetaData to iTunes

    You need a proper tool to edit metadata on your mp4 files that were created. http://sourceforge.net/projects/atomicparsley/files/ is available, and you can even get it from aptitude on some systems.

    sudo apt-get install atomicparsley

    AtomicParsley "TelevisionShow.mp4" --stick "TV Show"  --description "Michael Pardue escaped from prison three times after being convicted for two murders, but his convictions for murder and escape were later overturned. Copyright Tribune Media Services, Inc." --TVNetwork "AETVHD" --TVShowName "American Justice" --TVEpisode "Shotgun Justice"--overWrite

    Maybe mp4v2 works better?
    The make portion took a long time on my system, and there are some extra weird dependancies.

    sudo apt-get install build-essential
    wget http://mp4v2.googlecode.com/files/mp4v2-1.9.1.tar.bz2
    tar -xf mp4v2-1.9.1.tar.bz2
    cd mp4v2-1.9.1
    ./configure
    make
    sudo make install

    Saturday, August 21, 2010

    Setup Linux for TiVo video to iPad video conversion

    1) Install TiVo File Decoder

    Download source from http://sourceforge.net/projects/tivodecode/files/ the 0.2pre4 version works fine for me.  Extract the source and build it.

    ./configure
    make
    sudo make install

    Use "which tivodecode" to make sure it was installed properly in /ur/local/bin

    2) Install Mencoder

    Enable Medibuntu https://help.ubuntu.com/community/Medibuntu
    sudo apt-get install mencoder

    Convert TiVo video to iPad video in Linux

    Steps in General
    1) Download the Video
    2) Decode the Video
    3) Re-encode the Video

    Steps in Detail
    1) Find the URL for the TiVo file however you like.  Find your TiVos MAK however you like.  Set the output file location.

    curl '$url' --digest -k -u tivo:$mak -c /tmp/cookies.txt --retry 12 --retry-delay 10 -o $target

    $c = "";
    $c .= "curl '$url' "; //source
    $c .= "--digest -k "; //tivo needs these??
    $c .= "-u tivo:$mak "; //username and password
    $c .= "-c /tmp/cookies.txt "; //storing cookies is necessary, we just don't want them.
    $c .= "--retry 12 --retry-delay 10 "; //help retry??
    $c .= "-o $target"; //output

    2) Find your TiVos MAK however you like.  Set the input file location.  Set the output file location.

    tivodecode $input -m $mak -o $output

    $d = "";
    $d .= "tivodecode $input ";
    $d .= "-m $mak ";
    $d .= "-o $output ";

    3) Set the input file location.  Set the output file location.

    mencoder $input -o '$output' -ss 00:00:02 -ovc x264 -x264encopts qcomp=0.8:nocabac:level_idc=30:bframes=0:global_header:threads=auto:bitrate=1200 -vf pp=lb,scale=1024:-10,harddup -oac faac -faacopts mpeg=4:object=2:raw:br=128 -af volnorm=1 -of lavf -lavfopts format=mp4

    $m = "";
    $m .= "mencoder $input -o '$output' ";
    $m .= "-ss 00:00:02 ";
    $m .= "-ovc x264 ";
    $m .= "-x264encopts qcomp=0.8:nocabac:level_idc=30:bframes=0:global_header:threads=auto:bitrate=1200 ";
    $m .= "-vf pp=lb,scale=1024:-10,harddup ";
    $m .= "-oac faac ";
    $m .= "-faacopts mpeg=4:object=2:raw:br=128 ";
    $m .= "-af volnorm=1 ";
    $m .= "-of lavf ";
    $m .= "-lavfopts format=mp4";

    UPDATE: Normalized Audio.