Changeset ed1a74ce705bf51378ce1e823f31421bca5d4f88

Show
Ignore:
Timestamp:
03/24/08 21:11:47 (8 months ago)
Author:
KRKeegan <-NOSPAM-kevin@krkeegan.com>
git-committer:
KRKeegan <-NOSPAM-kevin@krkeegan.com> 1206411107 -0700
git-parent:

[21736222d28bb65d6716bbc27adaf3e4d6eb94bc]

git-author:
KRKeegan <-NOSPAM-kevin@krkeegan.com> 1206411107 -0700
Message:

Rework help section of admin

To add or change help descriptions use the help.txt file in the plugins/admin folder

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/admin/admin.py

    r2173622 red1a74c  
    11import os, socket, re, sys, ConfigParser, config, time 
    2 import urllib2, cookielib, thread 
     2import urllib2, cookielib, thread, buildhelp 
    33from xml.dom import minidom 
    44from ConfigParser import NoOptionError 
     
    7171        t.container = cname 
    7272        t.server_data = dict(config.items('Server', raw=True)) 
    73         t.server_known = ["port", "guid", "ffmpeg", "beacon", "hack83", "debug", \ 
    74                           "precache", "optres", "par", "video_fps", "video_br", \ 
    75                           "max_video_br", "bufsize", "width", "height", "audio_br", \ 
    76                           "max_audio_br", "audio_fr", "audio_ch", "audio_codec", \ 
    77                           "ffmpeg_pram", "ffmpeg_tmpl"] 
     73        t.server_known = buildhelp.getknown('server') 
    7874        t.shares_data = shares_data 
    79         t.shares_known = ["type", "path", "auto_subshares"] 
     75        t.shares_known = buildhelp.getknown('shares') 
    8076        t.tivos_data = [ (section, dict(config.items(section, raw=True))) for section in config.sections() \ 
    8177                         if section.startswith('_tivo_')] 
    82         t.tivos_known = ["aspect169", "optres", "video_fps", "video_br", "width",\ 
    83                          "height", "audio_br", "max_audio_br", "audio_fr", "audio_ch",\ 
    84                          "audio_codec", "ffmpeg_pram", "shares", "ffmpeg_tmpl"] 
    85         handler.wfile.write(t) 
    86         
     78        t.tivos_known = buildhelp.getknown('tivos') 
     79        t.help_list = buildhelp.gethelp() 
     80        handler.wfile.write(t) 
     81 
    8782    def UpdateSettings(self, handler, query): 
    8883        config = ConfigParser.ConfigParser() 
  • plugins/admin/templates/settings.tmpl

    ra48d9d6 red1a74c  
    413413 
    414414      </div> 
    415  
    416       <div id="help-port" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    417       <p align="center"><strong>port</strong> </p> 
    418  
    419       <p> <strong>Default Setting:</strong> None, 
    420 must be entered. Distributed conf file uses 9032<br> 
    421  
    422       <strong>Valid Entries:</strong> Valid port number<br> 
    423  
    424       <strong>Required:</strong> Yes, without a port 
    425 setting in the conf file pyTivo will not start.<br> 
    426  
    427       <strong>Skill:</strong> Basic<br> 
    428  
    429       <strong>Description:</strong> The port which pyTivo 
    430 uses to serve your files. Can be changed if it conflicts with another 
    431 program. It is reported on Ubuntu that this port is already used so you 
    432 may need to change it to something like port=9254.<br> 
    433  
    434       <strong>Example Settings:</strong> 9032 </p> 
    435  
    436       </div> 
    437  
    438       <div id="help-guid" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    439       <p align="center"><strong>guid</strong> </p> 
    440  
    441       <p> <strong>Default Setting:</strong> 123456<br> 
    442  
    443       <strong>Valid Entries:</strong> Any 6 digit number<br> 
    444  
    445       <strong>Required:</strong> Generally NO, will default 
    446 to '123456' if left blank. If you use more than one pyTivo server on 
    447 the same network a different random number is required here.<br> 
    448  
    449       <strong>Skill:</strong> Advanced<br> 
    450  
    451       <strong>Description:</strong> A unique identifier 
    452 used in the beacon to identify this server. If you have 2 or more 
    453 pyTivo servers on one network each server must use its own unique 
    454 identifier.<br> 
    455  
    456       <strong>Example Settings:</strong> Any 6 digit 
    457 number. </p> 
    458  
    459       </div> 
    460  
    461       <div id="help-ffmpeg" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    462       <p align="center"><strong>ffmpeg</strong> 
    463       </p> 
    464  
    465       <p> <strong>Default Setting:</strong> There is 
    466 none.<br> 
    467  
    468       <strong>Valid Entries:</strong> Operating system path<br> 
    469  
    470       <strong>Required:</strong> Yes! <br> 
    471  
    472       <strong>Skill:</strong> Basic<br> 
    473  
    474       <strong>Description:</strong> This is the full path 
    475 to your ffmpeg binary. For windows users ffmpeg is distributed with 
    476 pyTivo and is in the plugins/video folder<br> 
    477  
    478       <strong>Example Settings:</strong> <span class="underline">Linux</span> = /usr/bin/ffmpeg | <span class="underline">Windows</span> = c:\Program 
    479 Files\pyTivo\plugins\video\ffmpeg_mp2.exe </p> 
    480  
    481       </div> 
    482  
    483       <div id="help-beacon" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    484       <p align="center"><strong>beacon</strong> 
    485       </p> 
    486  
    487       <p> <strong>Default Setting:</strong> 
    488 255.255.255.255<br> 
    489  
    490       <strong>Valid Entries:</strong> A Subnet or Listen<br> 
    491  
    492       <strong>Required:</strong> No, defaults to 
    493 255.255.255.255<br> 
    494  
    495       <strong>Skill:</strong> Advanced<br> 
    496  
    497       <strong>Description:</strong> The subnet which the 
    498 beacon should broadcast on. Most people can leave this at the default 
    499 setting. If set to listen will accept incoming TCP requests.<br> 
    500  
    501       <strong>Example Settings:</strong> 255.255.255.255 </p> 
    502  
    503       </div> 
    504  
    505       <div id="help-hack83" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    506       <p align="center"><strong>hack83</strong> 
    507       </p> 
    508  
    509       <p> <strong>Default Setting:</strong> False<br> 
    510  
    511       <strong>Valid Entries:</strong> True/False<br> 
    512  
    513       <strong>Required:</strong> No<br> 
    514  
    515       <strong>Skill:</strong> Moderate<br> 
    516  
    517       <strong>Description:</strong> Available in the <a class="wiki" href="/wiki/SubFoldersBranch">SubFoldersBranch</a>. 
    518 Allows TiVos with software 8.3 and above to display subfolders as users 
    519 are accustomed too prior to the 8.3Software glitch. If you use this 
    520 then you don't need to use <a href="http://pytivo.armooo.net/wiki/ConfigurepyTivo#auto_subshares">auto_subshares</a>. 
    521       <strong>Warning:</strong> navigating folders too fast 
    522 with this setting enabled may cause <a class="wiki" href="/wiki/TiVo">TiVo</a> to reboot. <br> 
    523  
    524       <strong>Example Settings:</strong> True/False </p> 
    525  
    526       </div> 
    527  
    528       <div id="help-debug" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    529       <p align="center"><strong>debug</strong> 
    530       </p> 
    531  
    532       <p> <strong>Default Setting:</strong> False<br> 
    533  
    534       <strong>Valid Entries:</strong> True/False<br> 
    535  
    536       <strong>Required:</strong> No<br> 
    537  
    538       <strong>Skill:</strong> Advanced<br> 
    539  
    540       <strong>Description:</strong> Will create a file 
    541 named debug.txt in the base folder of pyTivo. This file will contain 
    542 debug information helpful in diagnosing problems. Generally only 
    543 necessary if you are having a problem and the information is requested 
    544 by support staff.<br> 
    545  
    546       <strong>Example Settings:</strong> True/False </p> 
    547  
    548       </div> 
    549  
    550       <div id="help-optres" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    551       <p align="center"><strong>optres</strong> 
    552       </p> 
    553  
    554       <p> <strong>Default Setting:</strong> False<br> 
    555  
    556       <strong>Valid Entries:</strong> True/False<br> 
    557  
    558       <strong>Required:</strong> No<br> 
    559  
    560       <strong>Skill:</strong> Moderate<br> 
    561  
    562       <strong>Description:</strong> Allows for the use of 
    563 the Optimal Resolution in transcoding. By setting optes = true pyTivo 
    564 will treat the <a href="http://pytivo.armooo.net/wiki/ConfigurepyTivo#height">height</a> 
    565 and <a href="http://pytivo.armooo.net/wiki/ConfigurepyTivo#width">width</a> 
    566 settings in the conf file as a maximum. If the video to be transcoded 
    567 has smaller dimensions that are closer to other acceptable TiVo 
    568 dimensions then pyTivo will use these dimensions. This allows for 
    569 faster transcoding and small files when the initial video is a lower 
    570 quality.  pyTivo uses the same resolution as the source file on 
    571 HD Tivos for optimal transcoding efficiency.  It is not necessay to 
    572 to set this option with HD TiVos unles you wish to force pyTivo to change 
    573 the resolution to an "S2 compatible" resolution.<br> 
    574  
    575       <strong>Example Settings:</strong> True/False </p> 
    576  
    577       </div> 
    578  
    579       <div id="help-audio_br" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    580       <p align="center"><strong>audio_br</strong> 
    581       </p> 
    582  
    583       <p> <strong>Default Setting:</strong> 384K<br> 
    584  
    585       <strong>Valid Entries:</strong> Any valid Bit rate up to 448k.<br> 
    586  
    587       <strong>Required:</strong> No<br> 
    588  
    589       <strong>Skill:</strong> Advanced<br> 
    590  
    591       <strong>Description:</strong> This allows you to 
    592 choose the default audio bit rate used for transcoding. The 
    593 default is likely fine for most users.  384k is the minimum 
    594 recommended for ac3 audio. For S2 Tivos, you may want to lower 
    595 this setting to 192k and set audio_ch=2 to slightly reduce the 
    596 file size.  See audio_codec for more info.<br> 
    597  
    598       <strong>Example Settings:</strong> 192K, 384K, 448K. </p> 
    599  
    600       </div> 
    601  
    602       <div id="help-max_audio_br" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    603       <p align="center"><strong>max_audio_br</strong> 
    604       </p> 
    605  
    606       <p> <strong>Default Setting:</strong> 448K<br> 
    607  
    608       <strong>Valid Entries:</strong> Any valid Bit rate. <br> 
    609  
    610       <strong>Required:</strong> No<br> 
    611  
    612       <strong>Skill:</strong> Advanced<br> 
    613  
    614       <strong>Description:</strong> This sets the maximum 
    615 audio bit rate that can be sent to the <a class="wiki" href="/wiki/TiVo">TiVo</a>. Files having a higher bit 
    616 rate will be transcoded to ensure <a class="wiki" href="/wiki/TiVo">TiVo</a> compatibilty. <br> 
    617  
    618       <strong>Example Settings:</strong> 384K, 448K. </p> 
    619  
    620       </div> 
    621  
    622       <div id="help-video_br" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    623       <p align="center"><strong>video_br</strong> 
    624       </p> 
    625  
    626       <p> <strong>Default Setting:</strong> 4096K 
    627 for SD <a class="wiki" href="/wiki/TiVo">TiVo</a>'s, 
    628 8192K for HD <a class="wiki" href="/wiki/TiVo">TiVo</a>'s<br> 
    629  
    630       <strong>Valid Entries:</strong> Any valid Bit rate. 
    631 1024K = 1Mi<br> 
    632  
    633       <strong>Required:</strong> No<br> 
    634  
    635       <strong>Skill:</strong> Advanced<br> 
    636  
    637       <strong>Description:</strong> This allows you to 
    638 choose the default server video bit rate used in transcoding. FFmpeg 
    639 does not strictly follow this bit rate, there is a certain level of 
    640 tolerance that is allowed. Also a low quality file will always have a 
    641 low bit rate. The default is likely fine for most users. Higher values 
    642 may slow down transcoding and will increase the file size. Increased 
    643 file sizes take up more room on the <a class="wiki" href="/wiki/TiVo">TiVo</a> and take longer to transfer 
    644 over the network.<br> 
    645  
    646       <strong>Example Settings:</strong> 4096K, 8Mi, 12Mi </p> 
    647  
    648       </div> 
    649  
    650       <div id="help-max_video_br" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    651       <p align="center"><strong>max_video_br</strong> 
    652       </p> 
    653  
    654       <p> <strong>Default Setting:</strong> 17408k<br> 
    655  
    656       <strong>Valid Entries:</strong> Any valid Bit rate. 
    657 1024K = 1Mi<br> 
    658  
    659       <strong>Required:</strong> No<br> 
    660  
    661       <strong>Skill:</strong> Advanced<br> 
    662  
    663       <strong>Description:</strong> This allows you to 
    664 choose the maximum bit rate and is more strict than the <a href="http://pytivo.armooo.net/wiki/ConfigurepyTivo#video_br">video_br</a> 
    665 setting above. However setting this can cause buffer overflows and can 
    666 cause issues with ffmpeg. In addition to setting the ffmpeg maxrate 
    667 option, this setting is used to determine if the video bitrate of the 
    668 source video file is too high for the <a class="wiki" href="/wiki/TiVo">TiVo</a>. Otherwise compatible 
    669 mpeg's with a video bitrate above this setting will be transcoded 
    670 rather than sent to the <a class="wiki" href="/wiki/TiVo">TiVo</a> 
    671 untouched. Raising this setting much higher than the default will likly 
    672 result in pixelation during playback. Recommended only for skilled 
    673 users. <strong>Note:</strong> there is a report that 
    674 ffmpeg throws an error with 17Mi but accepts 17408K just fine. <br> 
    675  
    676       <strong>Example Settings: 17408k</strong> </p> 
    677  
    678       </div> 
    679  
    680       <div id="help-width" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    681       <p align="center"><strong>width</strong> 
    682       </p> 
    683  
    684       <p> <strong>Default Setting:</strong> 544<br> 
    685  
    686       <strong>Valid Entries:</strong> Any valid pixel 
    687 dimension. Setting will be rounded to nearest acceptable <a class="wiki" href="/wiki/TiVo">TiVo</a> 
    688 dimension<br> 
    689  
    690       <strong>Required:</strong> No<br> 
    691  
    692       <strong>Skill:</strong> Moderate<br> 
    693  
    694       <strong>Description:</strong> Allows you to choose 
    695 the output dimension of the transcoded videos. SD units are limited to 
    696 544 and below. Likely HD users will want to choose a higher value. 
    697 Higher values may slow down transcoding and will increase the file 
    698 size. Increased file sizes take up more room on the TiVo and take 
    699 longer to transfer over the network.<br> 
    700  
    701       <strong>Example Settings:</strong> 1920, 1440, 1280, 
    702 720, 704, 544, 480, 352. </p> 
    703  
    704       </div> 
    705  
    706       <div id="help-height" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    707       <p align="center"><strong>height</strong> 
    708       </p> 
    709  
    710       <p> <strong>Default Setting:</strong> 480<br> 
    711  
    712       <strong>Valid Entries:</strong> Any valid pixel 
    713 dimension. Setting will be rounded to nearest acceptable <a class="wiki" href="/wiki/TiVo">TiVo</a> 
    714 dimension<br> 
    715  
    716       <strong>Required:</strong> No<br> 
    717  
    718       <strong>Skill:</strong> Moderate<br> 
    719  
    720       <strong>Description:</strong> Allows you to choose 
    721 the output dimension of the transcoded videos. SD units are limited to 
    722 480 and below. Likely HD users will want to choose a higher value. 
    723 Higher values may slow down transcoding and will increase the file 
    724 size. Increased file sizes take up more room on the TiVo and take 
    725 longer to transfer over the network.<br> 
    726  
    727       <strong>Example Settings:</strong> 1080, 720, 480 </p> 
    728  
    729       </div> 
    730  
    731       <div id="help-ffmpeg_pram" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    732       <p align="center"><strong>ffmpeg_pram</strong> 
    733       </p> 
    734  
    735       <p> <strong>Default Setting: </strong> blank<br> 
    736  
    737       <strong>Valid Entries:</strong> A valid ffmpeg command<br> 
    738  
    739       <strong>Required:</strong> No<br> 
    740  
    741       <strong>Skill:</strong> Very Advanced<br> 
    742  
    743       <strong>Description:</strong> This allows you to append 
    744 additional raw ffmpeg commands to the ffmpeg template.  For example, 
    745 you would enter '-threads 2' here if you have multiple processors 
    746 and want ffmpeg to use both processors to speed up transcoding.<br> 
    747  
    748       <strong>Example Settings:</strong> -threads 2</p> 
    749  
    750       </div> 
    751  
    752       <div id="help-ffmpeg_tmpl" style="position: absolute; overflow: scroll; left: 0px; top: 0px; visibility: hidden;"> 
    753       <p align="center"><strong>ffmpeg_tmpl</strong> 
    754       </p> 
    755  
    756       <p> <strong>Default Setting:</strong> "%(video_codec)s %(video_fps)s 
    757 %(video_br)s %(max_video_br)s %(buff_size)s %(aspect_ratio)s -comment 
    758 pyTivo.py %(audio_br)s %(audio_fr)s %(audio_ch)s %(audio_codec)s 
    759 %(fmpeg_pram)s %(format)s<br> 
    760  
    761       <strong>Valid Entries:</strong> A valid ffmpeg command<br> 
    762  
    763       <strong>Required:</strong> No<br> 
    764  
    765       <strong>Skill:</strong> Very Advanced<br> 
    766  
    767       <strong>Description:</strong> This is a template used by pyTivo 
    768 to control the parameters passed to ffmpeg.  It should 
    769 not be necessary to modify this template unless there is a particular 
    770 parameter you do not wish ffmpeg to use and it cannot be overridden 
    771 by specifying that parameter in the pyTivo.conf file.<br> 
    772       <strong>Example Settings:</strong> See Above and the forum. </p> 
    773  
    774       </div> 
    775  
    776       <div id="help-bufsize" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    777       <p align="center"><strong>bufsize</strong> 
    778       </p> 
    779  
    780       <p> <strong>Default Setting:</strong> 1024k<br> 
    781  
    782       <strong>Valid Entries:</strong> Any valid byte size<br> 
    783  
    784       <strong>Required:</strong> No<br> 
    785  
    786       <strong>Skill:</strong> Very Advanced<br> 
    787  
    788       <strong>Description:</strong> Allows you to set the 
    789 buffer size used by ffmpeg. I don't know much about this setting, but 
    790 from what I can tell it is rather touchy and should only be edited by 
    791 advanced users.<br> 
    792  
    793       <strong>Example Settings:</strong> 1024k<br> 
    794  
    795       </p> 
    796  
    797       </div> 
    798  
    799       <div id="help-type" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    800       <p align="center"><strong>type</strong> </p> 
    801  
    802       <p> <strong>Default Setting:</strong> None<br> 
    803  
    804       <strong>Valid Entries:</strong> Video, Music, or any 
    805 other valid plugin name.<br> 
    806  
    807       <strong>Required:</strong> Yes<br> 
    808  
    809       <strong>Skill:</strong> Basic<br> 
    810  
    811       <strong>Description:</strong> Sets the type of share 
    812 that this will be. This must be set to something otherwise pyTivo will 
    813 not start.<br> 
    814  
    815       <strong>Example Settings:</strong> Video or Music </p> 
    816  
    817       </div> 
    818  
    819       <div id="help-path" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    820       <p align="center"><strong>path</strong> </p> 
    821  
    822       <p> <strong>Default Setting:</strong> None<br> 
    823  
    824       <strong>Valid Entries:</strong> Any operating system 
    825 path<br> 
    826  
    827       <strong>Required:</strong> Yes<br> 
    828  
    829       <strong>Skill:</strong> Basic<br> 
    830  
    831       <strong>Description:</strong> Sets the base path to 
    832 your media content. While pyTivo will start with an invalid path your 
    833 shares will not work at all.<br> 
    834  
    835       <strong>Example Settings:</strong> <span class="underline">Windows</span> = C:\videos | <span class="underline">Linux</span> = /home/user/media </p> 
    836  
    837       </div> 
    838  
    839       <div id="help-auto_subshares" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    840       <p align="center"><strong>auto_subshares</strong> 
    841       </p> 
    842  
    843       <p> <strong>Default Setting:</strong> false<br> 
    844  
    845       <strong>Valid Entries:</strong> True/False<br> 
    846  
    847       <strong>Required:</strong> No<br> 
    848  
    849       <strong>Skill:</strong> Moderate<br> 
    850  
    851       <strong>Description:</strong> Subfolders of the share 
    852 paths you define will be seen by pyTivo and displayed as subfolders in 
    853 the Now Playing List. This is an alternative to the <a href="http://pytivo.armooo.net/wiki/ConfigurepyTivo#hack83">hack83</a> 
    854 setting which enables the <a class="wiki" href="/wiki/SubFoldersBranch">SubFoldersBranch</a><br> 
    855  
    856       <strong>Example Settings:</strong> True/False </p> 
    857  
    858       </div> 
    859  
    860       <div id="help-precache" style="position: absolute; overflow: scroll; left: 0px; top: 0px; visibility: hidden;"> 
    861       <p align="center"><strong>precache</strong> 
    862       </p> 
    863  
    864       <p> <strong>Default Setting:</strong> false<br> 
    865  
    866       <strong>Valid Entries:</strong> True/False<br> 
    867  
    868       <strong>Required:</strong> No<br> 
    869  
    870       <strong>Skill:</strong> Moderate<br> 
    871  
    872       <strong>Description:</strong> In order to verify that 
    873 the video files present on your computer were compatible with ffmpeg in 
    874 older versions pyTivo would query ffmpeg for each file. While this 
    875 information was cached it still caused a delay in the initial loading 
    876 of a list of files. This precache setting forced pyTivo to inspect each 
    877 video prior to starting the pyTivo server. However, this had two 
    878 drawbacks. 1. It took time as much as two minutes before pyTivo was 
    879 ready to accept requests. 2. It did not update the cache if new files 
    880 were added while the pyTivo server was running. <br> 
    881  
    882 In the more recent releases, anything after Feb 16, 2008, pyTivo no 
    883 longer needs to query ffmpeg when creating a file list. Instead pyTivo 
    884 has a list of accepted video format extensions. If the file extension 
    885 falls within this list it is displayed on the TiVo. This achieves the 
    886 same speed increase as the precache method without the delay in loading 
    887 the pyTivo server. <br> 
    888  
    889 There are still two drawbacks to this method. 1. The video file must 
    890 have an extension that is in the list. There is a possibility that a 
    891 new video file extension could come out before pyTivo is updated. 2. 
    892 Incomplete or video files with errors will still appear in the TiVo 
    893 listing if they have the correct extension, even though they are not 
    894 valid files. Both of these concerns are minimal. 1. Very few new 
    895 formats of video files come out very often. And all extensions are 
    896 stored in the video.ext file which is easily edited. 2. When viewing 
    897 the file details before transferring the pyTivo server queries ffmpeg 
    898 to make sure it is valid. If the file is not valid it will show up as a 
    899 copyrighted file and transferring it will be prevented by TiVo. <br> 
    900  
    901 It is recommended that you leave precaching turned off as it is no 
    902 longer needed.<br> 
    903  
    904       <strong>Example Settings:</strong> True/False </p> 
    905  
    906       </div> 
    907  
    908       <div id="help-aspect169" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    909       <p align="center"><strong>aspect169</strong> 
    910       </p> 
    911  
    912       <p> <strong>Default Setting:</strong> True<br> 
    913  
    914       <strong>Valid Entries:</strong> True/False<br> 
    915  
    916       <strong>Required:</strong> No<br> 
    917  
    918       <strong>Skill:</strong> Moderate<br> 
    919  
    920       <strong>Description:</strong> Most TiVos, even S2, 
    921 can handle 16:9 videos perfectly. Some S2s are known not to handle 16:9 
    922 and will default to false in this setting. If you are experiencing 
    923 major distortion you can try setting this to false. Likely most users 
    924 will not have to mess with this.<br> 
    925  
    926       <strong>Example Settings:</strong> True/False </p> 
    927       </div> 
    928  
    929       <div id="help-video_fps" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    930       <p align="center"><strong>video_fps</strong> 
    931       </p> 
    932  
    933       <p> <strong>Default Setting:</strong> 29.97 for S2 Tivo, blank for S3/HD TiVo<br> 
    934  
    935       <strong>Valid Entries:</strong> 29.97, 23.98, 25, 59.94<br> 
    936  
    937       <strong>Required:</strong> No<br> 
    938  
    939       <strong>Skill:</strong> Advanced<br> 
    940  
    941       <strong>Description:</strong> Sets the frame rate used by ffmpeg. 
    942 pyTivo uses 29.97 for S2's, and uses the same frame rate as the source 
    943 on HD TiVos. The default setting should work fine for most transfers.<br> 
    944  
    945       <strong>Example Settings:</strong> 29.97, 23.98, 25, 59.94 </p> 
    946  
    947       </div> 
    948  
    949       <div id="help-audio_fr" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    950       <p align="center"><strong>audio_fr</strong> 
    951       </p> 
    952  
    953       <p> <strong>Default Setting:</strong> 48000<br> 
    954  
    955       <strong>Valid Entries:</strong> 44100, 48000<br> 
    956  
    957       <strong>Required:</strong> No<br> 
    958  
    959       <strong>Skill:</strong> Advanced<br> 
    960  
    961       <strong>Description:</strong> Sets the audio sampling frequency. 
    962 Defaults to frequency of the source file for better audio sync if 
    963 it is 44100 or 48000. Otherwise 48000 is used.<br> 
    964  
    965       <strong>Example Settings:</strong> 44100, 48000 </p> 
    966  
    967       </div> 
    968  
    969       <div id="help-audio_ch" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    970       <p align="center"><strong>audio_ch</strong> 
    971       </p> 
    972  
    973       <p> <strong>Default Setting:</strong> blank (same as source)<br> 
    974  
    975       <strong>Valid Entries:</strong> any number compatible with ffmpeg and the audio codec selected<br> 
    976  
    977       <strong>Required:</strong> No<br> 
    978  
    979       <strong>Skill:</strong> Advanced<br> 
    980  
    981       <strong>Description:</strong> Sets the number of audio channels 
    982 used by ffmpeg.  ffmpeg will retain the same number of 
    983 channels as the source file by default.  The default setting should 
    984 work fine for most transfers unless the default audio_codec is changed. 
    985 Change this setting to 2 if you do not want to retain 5.1 audio.  A bug 
    986 in ffmpeg will sometimes move the center audio channel to the left or 
    987 right speaker.  Setting this option to 2, on an as needed basis, or 
    988 permanently, will correct this at the loss of 5.1 audio.  But this 
    989 should only be necessary on rare occasions where the source file is an 
    990 mkv or xvid with ac3 5.1 audio bitrate above 448k.<br> 
    991  
    992       <strong>Example Settings:</strong> 2, 6 </p> 
    993  
    994       </div> 
    995  
    996       <div id="help-audio_codec" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    997       <p align="center"><strong>audio_codec</strong> 
    998       </p> 
    999  
    1000       <p> <strong>Default Setting:</strong> ac3<br> 
    1001  
    1002       <strong>Valid Entries:</strong> mp2, ac3<br> 
    1003  
    1004       <strong>Required:</strong> No<br> 
    1005  
    1006       <strong>Skill:</strong> Advanced<br> 
    1007  
    1008       <strong>Description:</strong> Sets the audio codec used by 
    1009 ffmpeg during transcoding. 
    1010 pyTivo defaults to ac3 in order to retain 5.1 audio should the 
    1011 source contain it.  pyTivo also checks the audio codec and bitrate 
    1012 of the source and uses '-acodec copy' if it is compatible. Otherwise 
    1013 the Default Setting is used.  Specifying an audio codec will disable 
    1014 these features and pyTivo will re-encode all audio using the codec 
    1015 specified.<br> 
    1016    
    1017 Allowing pyTivo to select '-acodec copy' whenever possible will  
    1018 generally produce the best results. This is meant to eliminate  
    1019 garbled audio during transcoding when the source contains audio 
    1020 glitches that cause ffmpeg to lose synchronization.  This will also  
    1021 prevent the center audio channel from being moved to the right 
    1022 front speaker by ffmpeg when transferring mkv's and xvid's with audio 
    1023 bitrate of 448k or less.<br> 
    1024    
    1025 You may want to change this setting to mp2 if you only have an S2, 
    1026 or have specified a per tivo section for an S2, and do not wish to 
    1027 retain 5.1 audio for possible transfer to an S3 Tivo or back to the 
    1028 PC should the need arise.  This will slightly reduce the amount of 
    1029 disk space used and allow for more recordings on an S2 Tivo.  
    1030 In this case, you will want to specify audio_codec=mp2, audio_ch=2, 
    1031 and audio_br=192k.  These are the settings normally used by the S2 
    1032 for recordings.<br> 
    1033  
    1034       <strong>Example Settings:</strong> mp2, ac3 </p> 
    1035  
    1036       </div> 
    1037  
    1038       <div id="help-par" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    1039       <p align="center"><strong>par</strong> 
    1040       </p> 
    1041  
    1042       <p> <strong>Default Setting:</strong> blank<br> 
    1043  
    1044       <strong>Valid Entries:</strong> any valid par<br> 
    1045  
    1046       <strong>Required:</strong> No<br> 
    1047  
    1048       <strong>Skill:</strong> Very Advanced<br> 
    1049  
    1050       <strong>Description:</strong> Set pixel aspect ratio. 
    1051 Applies to S3 Tivos only. OPTRES must be false to use PAR. For some 
    1052 videofiles (e.g., AVC files), ffmpeg cannot determine the pixel aspect 
    1053 ratio correctly and assumes 1:1 which leads to a distorted image 
    1054 on anamorphically encoded video files.  This setting allows you to  
    1055 override this default. If you do not understand this setting, and you 
    1056 observe no distortions, you can ignore it.  Set par=1.0 to tell pyTivo 
    1057 to automatically adjust the pixel aspect ratio whenever possible.<br> 
    1058 par=1.18518519 (32:27, usually the correct setting for wide-screen 
    1059 anamorphically encoded DVD content)<br> 
    1060 par=0.88888889 (8:9, usually the correct setting for anamorphically 
    1061 encoded DVDs from TV shows)<br> 
    1062  
    1063       <strong>Example Settings:</strong> 1.0, 1.18518519, 0.88888889 </p> 
    1064  
    1065  
    1066       </div> 
    1067  
    1068       <div id="help-shares" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"> 
    1069       <p align="center"><strong>shares</strong> 
    1070       </p> 
    1071  
    1072       <p> <strong>Default Setting:</strong> Blank, 
    1073 which is equivalent to allow all shares on this TiVo.<br> 
    1074  
    1075       <strong>Valid Entries:</strong> The name of any share 
    1076 in your pyTivo.conf file. A comma separated list.<br> 
    1077  
    1078       <strong>Required:</strong> No<br> 
    1079  
    1080       <strong>Skill:</strong> Easy<br> 
    1081  
    1082       <strong>Description:</strong> Only the shares listed 
    1083 in this setting will be visible on this TiVo. Will ignore invalid 
    1084 shares. If no valid shares are listed or the setting does not exist, 
    1085 all shares will be visible on this TiVo.<br> 
    1086  
    1087       <strong>Example Settings:</strong> Movies, Kids Stuff 
    1088       </p> 
    1089  
    1090       </div> 
     415#for $setting in $help_list 
     416        <div id="help-$setting" style="visibility: hidden; width: 400px; overflow: scroll; height: 450px; position: absolute; left: 0px; top: 0px;"> 
     417              <p align="center"><strong>$setting</strong></p> 
     418              #for $line in $help_list[$setting] 
     419                  <strong>$(line.split(':',1)[0]):</strong>$(line.split(':',1)[1])</p> 
     420              #end for 
     421        </div> 
     422#end for 
    1091423<!-- END HELP SECTIONS --> </div> 
    1092424