Juano11 Posted May 28, 2010 Share Posted May 28, 2010 Recently finished building my unRaid server. Things all seem to be working as planned/advertised. I currently use pyTivo to stream video to a collection of wired Series 2 and TiVo HDs from my desktop. I've moved some videos to my unRaid box and have pointed pyTivo (on the desktop) to the network drive. It's working fine, but the setup is less than elegant and requires me to have both the unRaid server and my reasonably powerful (and power consuming) desktop running to stream video. This is my first unRaid box and I am a complete Linux newbie. I've been successful in installing some add-ons to my box and have run some commands (preclear, primarily) through putty. But, those were essentially copy and paste operations for me from instructions that I found here. Can anyone tell me what steps (from the beginning and with specific instructions) I need to take to run pyTivo directly on my unRaid server? Is there a different program/package that I could use to serve videos directly from my unRaid server to my Tivos? At present, I'm running unRaid basic, but I'm planning on updating to pro in the near future. That doesn't really matter, correct? If I go through the machinations to get Tivo streaming running on the basic, will I have to do it all over again when I upgrade to pro? Thanks to all in advance. I really dig my unRaid box. I went for a huge 20 drive beast. A little over $1000 in total, not a crazy amount over a MUCH smaller Drobo...I like it. John Link to comment
carlos28355 Posted June 26, 2010 Share Posted June 26, 2010 I was wondering if you were able to figure this out? thanks Link to comment
bubbaQ Posted June 27, 2010 Share Posted June 27, 2010 AFAIK, you can't do it natively. Myou might try it with a virtual machine such as Vbox, on unRAID with an XP guest running pyTivo. Link to comment
BRiT Posted June 27, 2010 Share Posted June 27, 2010 It will work natively under Linux. PyTivo is a nothing but a Python script that wraps FFmpeg. In order to run pyTivo you will need: A compatible TiVo with active subscription (standalone Series 2, Series 3/HD or Series 4; limited (non-video) support for modified DirecTV Series 2 units) FFmpeg (included with the Windows Installer or pyTivoX) A Current Release of pyTivo The Python Imaging Library -- if you plan on using the photo plugin See the install pages for more detailed settings for specific operating systems. (Linux Install) Link to comment
Juano11 Posted June 27, 2010 Author Share Posted June 27, 2010 I posted a lot of worthless "instructions" for the steps that I thought that I needed to take here...I've removed them so as to not confuse others that may visit this thread.... John Link to comment
BRiT Posted June 28, 2010 Share Posted June 28, 2010 EDIT: For the resulting list of final packages needed please refer to this summary post: http://lime-technology.com/forum/index.php?topic=6571.msg66634#msg66634 Below is what kick started the process. ~~~ No. You are not alright so far. Most of those packages you are specificly talking about are not installable. You were grabbing the source files. They would have to be compiled first. Fortunately some of them are already available in installable packages. However, the pyTivo is only available as source as it is a Python script, and as such does not need to be compiled. A prepackaged Slackware 13.1 ffmpeg can be found from alien. I run on a Slackware-Current (13.1+) build, so that's the version I use. It may be useable on base unRAID too. Also, I don't recall if unRAID 4.5.5 has the upgraded Slackware Package Tools or not, but if it doesn't then you will need to upgrade that to handle the current ".txz" packages. Step one is to get all the files needed, Python, FFmpeg, and pyTivo and the known prereqs for FFmpeg. wget http://slackware.osuosl.org/slackware-current/slackware/d/python-2.6.4-i486-1.txz wget http://connie.slackware.com/~alien/slackbuilds/ffmpeg/pkg/13.1/ffmpeg-0.6-i486-1alien.tgz wget http://slackware.osuosl.org/slackware-current/slackware/a/openssl-solibs-0.9.8n-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libusb-1.0.6-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libtheora-1.1.1-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libogg-1.1.4-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/alsa-lib-1.0.23-i486-1.txz Step two, copy these files into a location that is persistent across reboots. I don't know what the unRAID community convention is, since I run a full Slackware-Current system so I don't need to worry about continual reinstalling after reboots or in-memory root filesystem. Make sure the directory exists before you copy over. mv python-2.6.4-i486-1.txz /boot/packages mv ffmpeg-0.6-i486-1alien.tgz /boot/packages mv openssl-solibs-0.9.8n-i486-1.txz libusb-1.0.6-i486-1.txz libtheora-1.1.1-i486-1.txz libogg-1.1.4-i486-1.txz alsa-lib-1.0.23-i486-1.txz /boot/packages Step Three, from your go script install them after reboot: installpkg /boot/packages/python-2.6.4-i486-1.txz installpkg /boot/packages/ffmpeg-0.6-i486-1alien.tgz installpkg /boot/packages/openssl-solibs-0.9.8n-i486-1.txz installpkg /boot/packages/libusb-1.0.6-i486-1.txz installpkg /boot/packages/libtheora-1.1.1-i486-1.txz installpkg /boot/packages/libogg-1.1.4-i486-1.txz installpkg /boot/packages/alsa-lib-1.0.23-i486-1.txz Step 4, with this done, upon a reboot you should have both Python and FFmpeg installed. Verify they are, and functioning using something like: ffmpeg -version python --version Step 5, getting pyTivo to run. Since it's a Python script, it merely needs to be unzipped somewhere, configured, and then run from there. You could install it onto your flash drive or data drive. Unzip / configure cp pyTivo-nnn.zip /boot/packages cd /boot/packages unzip pyTivo-nnn.zip cd pyTivo vi pyTivo.conf Then to run pyTivo you would invoke it using: /usr/bin/python /boot/packages/pyTivo/pyTivo.py If you have issues with ffmpeg or Python, you could try older versions based off the older Slackware distros (replace the steps above with the specifics below). If you do so, you will also need to grab the proper versions of the prereq libraries for FFmpeg as well: wget http://connie.slackware.com/~alien/slackbuilds/ffmpeg/pkg/13.0/ffmpeg-r22900-i486-1alien.tgz wget http://slackware.osuosl.org/slackware-13.0/slackware/a/openssl-solibs-0.9.8k-i486-2.txz wget http://slackware.osuosl.org/slackware-13.0/slackware/l/libtheora-1.0-i486-1.txz wget http://slackware.osuosl.org/slackware-13.0/slackware/l/libogg-1.1.3-i486-2.txz wget http://slackware.osuosl.org/slackware-13.0/slackware/l/alsa-lib-1.0.18-i486-2.txz cp ffmpeg-r22900-i486-1alien.tgz /boot/packages cp openssl-solibs-0.9.8k-i486-2.txz libtheora-1.0-i486-1.txz libogg-1.1.3-i486-2.txz /boot/packages installpkg /boot/packages/ffmpeg-r22900-i486-1alien.tgz installpkg /boot/packages/openssl-solibs-0.9.8k-i486-2.txz installpkg /boot/packages/libtheora-1.0-i486-1.txz installpkg /boot/packages/libogg-1.1.3-i486-2.txz installpkg /boot/packages/alsa-lib-1.0.18-i486-2.txz wget http://connie.slackware.com/~alien/slackbuilds/ffmpeg/pkg/12.2/ffmpeg-0.5-i486-1alien.tgz cp ffmpeg-0.5-i486-1alien.tgz /boot/packages installpkg /boot/packages/ffmpeg-0.5-i486-1alien.tgz wget http://slackware.osuosl.org/slackware-13.0/slackware/d/python-2.6.2-i486-3.txz cp python-2.6.2-i486-3.txz /boot/packages installpkg /boot/packages/python-2.6.2-i486-3.txz wget http://slackware.osuosl.org/slackware-12.2/slackware/d/python-2.5.2-i486-4.tgz cp python-2.5.2-i486-4.tgz /boot/packages installpkg /boot/packages/python-2.5.2-i486-4.tgz Link to comment
Juano11 Posted June 29, 2010 Author Share Posted June 29, 2010 BRiT, You're the man. That's exactly the kind of instructions that I was looking for. I don't think that I'll have a chance to give it a go tonight, but this weekend at the latest. I'll let you know how it goes. I apologize again for my ignorance with all things Linux. I really appreciate you taking the time to give such a comprehensive reply...no small piece of work for a stranger. Many Thanks John Link to comment
Juano11 Posted June 29, 2010 Author Share Posted June 29, 2010 Got a few steps in and ran into a roadblock.... Followed your instructions for downloading and moving python and ffmpeg. As I look at my flash drive, it appears as tough the unRaid convention is to save add-ons to root/packages so i changed your move instructions to: mv python-2.6.4-i486-1.txz /boot/packages mv ffmpeg-0.6-i486-1alien.tgz /boot/packages etc.... The files appear in the appropriate folder. I added the install instructions to my "go" script as instructed. Upon re-boot, I found that Python was installed. However, checking for ffmpeg returned: ffmpeg: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory I tried the same with the other two versions of ffmpeg that you posted and had the same results. The file is in the appropriate folder, the "go" script is edited correctly, but I get the same error message. I was running unRaid 4.5.3, so I updated to 4.5.4, but I cannot find 4.5.5 that you referenced. Any advice? Once again, many thanks John Link to comment
Juano11 Posted June 30, 2010 Author Share Posted June 30, 2010 Tried a few more versions of ffmepg. Again, no luck. "command not found" Don't know where to go from here..... Link to comment
Joe L. Posted June 30, 2010 Share Posted June 30, 2010 Tried a few more versions of ffmepg. Again, no luck. "command not found" Don't know where to go from here..... Unless compiled "statically" all programs use "shared libraries" You'll need to identify those missing and install them too. You can use the "ldd" program to learn all the shared libraries needed by any given version of ffmpeg. Type ldd /full/path/to/ffmpeg It will tell you all that are missing. You can probably find installable packages for them at the same download sites you are finding ffmpeg. /you can find the full path of ffmpeg by typing which ffmpeg Link to comment
prostuff1 Posted June 30, 2010 Share Posted June 30, 2010 If I get around to it I will make a package to install this via unmenu. I am not promising that it will happen any time soon as I am super busy with my new house and am just now getting everything put in its place. Link to comment
BRiT Posted June 30, 2010 Share Posted June 30, 2010 There's quite a few libraries which Fmpeg uses, but only a few come with the package. Here's the dump from the Slackware 13.1 FFmpeg 0.6 package. I'll try striking through the ones included by FFmpeg or that unRAID 4.5.4 should have. usr/lib/libavdevice.a usr/lib/libavdevice.so.52.2.0 usr/lib/libavutil.so.50.15.1 usr/lib/libavcodec.a usr/lib/libpostproc.a usr/lib/libavutil.a usr/lib/libpostproc.so.51.2.0 usr/lib/libswscale.so.0.11.0 usr/lib/libavfilter.so.1.19.0 usr/lib/libavformat.so.52.64.2 usr/lib/libavcodec.so.52.72.2 usr/lib/libavformat.a usr/lib/libswscale.a usr/lib/libavfilter.a linux-gate.so.1 => (0xffffe000) libssl.so.0 => /lib/libssl.so.0 (0xb77e3000) libcrypto.so.0 => /lib/libcrypto.so.0 (0xb769b000) libz.so.1 => /usr/lib/libz.so.1 (0xb7687000) libusb-0.1.so.4 => /usr/lib/libusb-0.1.so.4 (0xb7683000) libavdevice.so.52 => /usr/lib/libavdevice.so.52 (0xb7659000) libavfilter.so.1 => /usr/lib/libavfilter.so.1 (0xb764d000) libavformat.so.52 => /usr/lib/libavformat.so.52 (0xb7570000) libavcodec.so.52 => /usr/lib/libavcodec.so.52 (0xb66d2000) libpostproc.so.51 => /usr/lib/libpostproc.so.51 (0xb6696000) libswscale.so.0 => /usr/lib/libswscale.so.0 (0xb6639000) libavutil.so.50 => /usr/lib/libavutil.so.50 (0xb6626000) libm.so.6 => /lib/libm.so.6 (0xb6600000) libpthread.so.0 => /lib/libpthread.so.0 (0xb65e7000) libc.so.6 => /lib/libc.so.6 (0xb6484000) libdl.so.2 => /lib/libdl.so.2 (0xb6480000) libusb-1.0.so.0 => /usr/lib/libusb-1.0.so.0 (0xb6473000) librt.so.1 => /lib/librt.so.1 (0xb646a000) libasound.so.2 => /usr/lib/libasound.so.2 (0xb63a5000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb628a000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb627c000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6276000) libbz2.so.1 => /lib/libbz2.so.1 (0xb6265000) libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0xb6222000) libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0xb6209000) /lib/ld-linux.so.2 (0xb7853000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb61f0000) libogg.so.0 => /usr/lib/libogg.so.0 (0xb61eb000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb61e8000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb61e3000) Some of the additional libraries needed and where to find them within the Slackware-Current distro: libcrypto.so.0, libssl.so.0 - http://slackware.osuosl.org/slackware-current/slackware/a/openssl-solibs-0.9.8n-i486-1.txz libusb-1.0.so.0 - http://slackware.osuosl.org/slackware-current/slackware/l/libusb-1.0.6-i486-1.txz libtheoraenc.so.1, libtheoradec.so.1 - http://slackware.osuosl.org/slackware-current/slackware/l/libtheora-1.1.1-i486-1.txz libogg.so.0 - http://slackware.osuosl.org/slackware-current/slackware/l/libogg-1.1.4-i486-1.txz libasound.so.2 - http://slackware.osuosl.org/slackware-current/slackware/l/alsa-lib-1.0.23-i486-1.txz Link to comment
BRiT Posted June 30, 2010 Share Posted June 30, 2010 The last few libs I see as having to be resolved from the 'ldd' output of the current version relates to X-Windows. They might not be needed, but I'm not holding my breath on you being that lucky. Link to comment
Juano11 Posted July 1, 2010 Author Share Posted July 1, 2010 Wow, you guys are awesome. BRiT, I see that you edited your first reply with the 5 additional libraries that you think I need to get. I'll give those a try today. Regarding the other libs that you listed that you think I may, or may not, need... I took a peek at the slackware directory that you posted, and I want to make sure that I'm on the right track if I want to try to grab those and install as well. I searched for "libX11.so.6" and could not find it. However, I did find libX11-1.3.3-i486-1.txz http://slackware.osuosl.org/slackware-current/slackware/x/libX11-1.3.3-i486-1.txz. Is that the same thing? If so, I can find the rest. You also mentioned that those other libs relate to X-Windows. Would/could installing them cause problems? Once again, many thanks to all for your time and efforts to help me get this running. I apologize for my ignorance and the amount of hand-holding that has been necessary so far. Wish I could buy you guys some beers... Link to comment
Juano11 Posted July 1, 2010 Author Share Posted July 1, 2010 Tried the first 5, and it appeared that there were still some libs missing. I've installed a few more one at a time, then checked ffmpeg --version after each install. Install the lib that it says it missing....rinse and repeat. I'm assuming that it's going to end up asking for all of them, but I'm just going to grind through it to see if there are any that it doesn't ask for. Link to comment
Joe L. Posted July 1, 2010 Share Posted July 1, 2010 Tried the first 5, and it appeared that there were still some libs missing. I've installed a few more one at a time, then checked ffmpeg --version after each install. Install the lib that it says it missing....rinse and repeat. I'm assuming that it's going to end up asking for all of them, but I'm just going to grind through it to see if there are any that it doesn't ask for. That's exactly how you need to do it. Link to comment
Juano11 Posted July 1, 2010 Author Share Posted July 1, 2010 I think that I've got ffmpeg installed! Looks like there were 7 more packages that needed to be installed. After installing these (listed below) ffmpeg -version yields: FFmpeg version 0.6, Copyright © 2000-2010 the FFmpeg developers There's a lot more text under that, but none of it is obvious to me that there are errors or anything missing. Below is a summary of what I've done so far: Download Python, FFmpeg, and associated libs: wget http://slackware.osuosl.org/slackware-current/slackware/d/python-2.6.4-i486-1.txz wget http://connie.slackware.com/~alien/slackbuilds/ffmpeg/pkg/13.1/ffmpeg-0.6-i486-1alien.tgz wget http://slackware.osuosl.org/slackware-current/slackware/a/openssl-solibs-0.9.8n-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libusb-1.0.6-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libtheora-1.1.1-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libogg-1.1.4-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/alsa-lib-1.0.23-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libX11-1.3.3-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXext-1.1-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXfixes-4.0.4-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libxcb-1.6-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXau-1.0.5-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXdmcp-1.0.3-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/a/glibc-solibs-2.11.1-i486-3.txz Move all to /boot/packages: mv python-2.6.4-i486-1.txz ffmpeg-0.6-i486-1alien.tgz openssl-solibs-0.9.8n-i486-1.txz libusb-1.0.6-i486-1.txz libtheora-1.1.1-i486-1.txz libogg-1.1.4-i486-1.txz alsa-lib-1.0.23-i486-1.txz libX11-1.3.3-i486-1.txz libXext-1.1-i486-1.txz libXfixes-4.0.4-i486-1.txz libxcb-1.6-i486-1.txz libXau-1.0.5-i486-1.txz libXdmcp-1.0.3-i486-1.txz glibc-solibs-2.11.1-i486-3.txz /boot/packages Installed and added the following to my go script: installpkg /boot/packages/python-2.6.4-i486-1.txz installpkg /boot/packages/ffmpeg-0.6-i486-1alien.tgz installpkg /boot/packages/openssl-solibs-0.9.8n-i486-1.txz installpkg /boot/packages/libusb-1.0.6-i486-1.txz installpkg /boot/packages/libtheora-1.1.1-i486-1.txz installpkg /boot/packages/libogg-1.1.4-i486-1.txz installpkg /boot/packages/alsa-lib-1.0.23-i486-1.txz installpkg /boot/packages/libX11-1.3.3-i486-1.txz installpkg /boot/packages/libXext-1.1-i486-1.txz installpkg /boot/packages/libXfixes-4.0.4-i486-1.txz installpkg /boot/packages/libxcb-1.6-i486-1.txz installpkg /boot/packages/libXau-1.0.5-i486-1.txz installpkg /boot/packages/libXdmcp-1.0.3-i486-1.txz installpkg /boot/packages/glibc-solibs-2.11.1-i486-3.txz Another question before I move ahead and try to fumble my way through installing pyTivo itself... What's the difference between -version and --version? When I check python -version I get: unkown option -e usage: python [option]...[-c cmd | -m mod | file | -] [arg] ... Try 'python -h' for more information. When I check python --version I get: Python 2.6.4 However, ffmpeg -version works, but ffmpeg --version prints the first half of the text that ffmpeg -version does, but then says: ffmpeg: missing argument for option '-version' I guess my question is why does --version work for python, but -version works for ffmpeg? Is that normal? Once again, thanks all for your help so far. I feel like I've learned quite a bit, but, since I started at zero, that's still not saying much... I'm going to forge ahead and try to get pytivo installed...wish me luck...Though I'll probably be back here squealing for help within the hour... Cheers John Link to comment
Joe L. Posted July 1, 2010 Share Posted July 1, 2010 I think that I've got ffmpeg installed! Looks like there were 7 more packages that needed to be installed. After installing these (listed below) ffmpeg -version yields: FFmpeg version 0.6, Copyright © 2000-2010 the FFmpeg developers There's a lot more text under that, but none of it is obvious to me that there are errors or anything missing. Below is a summary of what I've done so far: Download Python, FFmpeg, and associated libs: wget http://slackware.osuosl.org/slackware-current/slackware/d/python-2.6.4-i486-1.txz wget http://connie.slackware.com/~alien/slackbuilds/ffmpeg/pkg/13.1/ffmpeg-0.6-i486-1alien.tgz wget http://slackware.osuosl.org/slackware-current/slackware/a/openssl-solibs-0.9.8n-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libusb-1.0.6-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libtheora-1.1.1-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libogg-1.1.4-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/alsa-lib-1.0.23-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libX11-1.3.3-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXext-1.1-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXfixes-4.0.4-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libxcb-1.6-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXau-1.0.5-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXdmcp-1.0.3-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/a/glibc-solibs-2.11.1-i486-3.txz Move all to /boot/packages: mv python-2.6.4-i486-1.txz ffmpeg-0.6-i486-1alien.tgz openssl-solibs-0.9.8n-i486-1.txz libusb-1.0.6-i486-1.txz libtheora-1.1.1-i486-1.txz libogg-1.1.4-i486-1.txz alsa-lib-1.0.23-i486-1.txz libX11-1.3.3-i486-1.txz libXext-1.1-i486-1.txz libXfixes-4.0.4-i486-1.txz libxcb-1.6-i486-1.txz libXau-1.0.5-i486-1.txz libXdmcp-1.0.3-i486-1.txz glibc-solibs-2.11.1-i486-3.txz /boot/packages Installed and added the following to my go script: installpkg /boot/packages/python-2.6.4-i486-1.txz installpkg /boot/packages/ffmpeg-0.6-i486-1alien.tgz installpkg /boot/packages/openssl-solibs-0.9.8n-i486-1.txz installpkg /boot/packages/libusb-1.0.6-i486-1.txz installpkg /boot/packages/libtheora-1.1.1-i486-1.txz installpkg /boot/packages/libogg-1.1.4-i486-1.txz installpkg /boot/packages/alsa-lib-1.0.23-i486-1.txz installpkg /boot/packages/libX11-1.3.3-i486-1.txz installpkg /boot/packages/libXext-1.1-i486-1.txz installpkg /boot/packages/libXfixes-4.0.4-i486-1.txz installpkg /boot/packages/libxcb-1.6-i486-1.txz installpkg /boot/packages/libXau-1.0.5-i486-1.txz installpkg /boot/packages/libXdmcp-1.0.3-i486-1.txz installpkg /boot/packages/glibc-solibs-2.11.1-i486-3.txz Nice work. Another question before I move ahead and try to fumble my way through installing pyTivo itself... What's the difference between -version and --version? Each programmer gets to decide on the command arguments for any given command. Typically the library routine used to parse them only expects a single letter if a single "-" is given, although you can give a group of single letter arguments appended to a single dash. Example, to get a file listing is ls to get a long listing is ls -l to get the listing of files including those with a leading "." as the first character in their name ls -a to get a long listing of the files, including those with a "." as the first character in their name ls -al You can see I could use a single "-" and combine the two arguments. The double-dash is used if the argument is spelled out, so the program does not try to parse individual letters. When I check python -version I get: unkown option -e usage: python [option]...[-c cmd | -m mod | file | -] [arg] ... Try 'python -h' for more information. When I check python --version I get: Python 2.6.4 That is because the "-e" option does not exist in python, but odds are the "-v" option does, but has a very different purpose: From the python manual page: -v Print a message each time a module is initialized, showing the place (filename or built-in module) from which it is loaded. However, ffmpeg -version works, but ffmpeg --version prints the first half of the text that ffmpeg -version does, but then says: ffmpeg: missing argument for option '-version' I guess my question is why does --version work for python, but -version works for ffmpeg? Is that normal? There is a convention to use either -v, or -V, or --version, but it is up to the programmer who originally wrote it to use as they preferred. Easiest is to look at the actual "man" page. In google type: man python linux to see what is valid for a specific command as arguments. (and they may evolve over time as the command is improved/extended. ) Once again, thanks all for your help so far. I feel like I've learned quite a bit, but, since I started at zero, that's still not saying much... I'm going to forge ahead and try to get pytivo installed...wish me luck...Though I'll probably be back here squealing for help within the hour... Cheers John You've learned a lot. And, if you get ffmpeg working, then it is easy for others to follow in your footsteps. Joe L. Link to comment
prostuff1 Posted July 1, 2010 Share Posted July 1, 2010 I guess my question is why does --version work for python, but -version works for ffmpeg? Is that normal? John Each program has its own way of doing certain things. -version and --version are not a system wide thing, they are associated with ffmpeg and python respectively. There is no real standard for the command line arguments but they are usually fairly standard between all the programs. On some programs you can if use "-V" to get the version number. It will do almost exactly the same thing as -version or --version most of the time. Link to comment
Juano11 Posted July 1, 2010 Author Share Posted July 1, 2010 So far...so good... There are two current "forks" in pytivo development, wmcbrine's fork and TheBayer's fork. I chose TheBayer's fork because it apparently has a plugin to read DVDs. I have backed up some of my DVD collection as ISOs to my unRaid box. If this plugin will allow me to stream those, then that would be great. So, I chose TheBayer's fork: wget http://repo.or.cz/w/pyTivo/TheBayer.git/snapshot/79fd85b2b5af79da8923cbb833f37fb08d11316a.zip then mv 79fd85b2b5af79da8923cbb833f37fb08d11316a.zip /boot/packages Since the filename was cumbersome, I renamed it to thebayerpytivo.zip The unraid didn't understand the command unzip. So, I installed infozip through unMenu. Then: cd boot/packages unzip thebayerpytivo.zip I now have a /boot/packages/thebayer folder cd /boot/packges/thebayer then vi pyTivo.conf I get several lines of tildes (~) then: pytivo.conf: new file: line 1 ? There is no pyTivo.conf file in that folder. There is a pyTivo.conf.dist file (attached) that says that it is a sample config file, but as I try to read through it, it says a lot of things that I don't understand. So, I copied the pytivo.conf.dist file to a new file named pytivo.conf then: /usr/bin/python /boot/packages/thebayer/pyTivo.py I get: INFO:pyTivo.beacon:Announcing shares... INFO:pyTivo.beacon:Registering: My Movies INFO:pyTivo.beacon:scanning forTiVos... INFO:pyTivo:pyTivo is ready. When I go check my TiVo, there is a new folder at the bottom "My Movies" that contains no files. (I do not have a "My Movies" folder) However, there is a pyTivo web configuration utility...http://localhost:9032 doesn't work....BUT http://tower:9032 does! Unfortunately, the web configuration utility isn't responding to any commands. So, pyTivo seems to be working, but I'm not sure how to configure it to point to my files on my unRaid box. I'm making some attempts at editing the pytivo.conf file to see if I can get it working. I'll be back.... pyTivo.conf.dist.txt Link to comment
Juano11 Posted July 1, 2010 Author Share Posted July 1, 2010 OK, I added the following lines to my pyTivo.conf file and rebooted [Tower2 videos] type=video path=/video I have a user share called "Video" set up on my unRaid box. I then invoked pyTivo: /usr/bin/python /boot/packages/thebayer/pyTivo.py When I go to my Tivo, there is a new folder called Tower2 videos. However, there is no content there, and my PuTTy session otputs: [Errno 2] No such file or directory: '/video' So, pyTivo seems to be working, but I still have two questions.... 1: If I have a user share "video" on my unRaid box, what is the path that I should point pyTivo to so that it finds them? 2: After I rebooted, I went back an manually to pyTivo to start. Is this necessary? If so, is there a way that I can add this to my 'go' script to have it happen automatically? Once again, many thanks. I think that we are close to getting this working.... John Link to comment
Joe L. Posted July 1, 2010 Share Posted July 1, 2010 the share is names /video, that is how it is known on the LAN, but the path to it on unRAID would be /mnt/user/videos try changing your conf to have that path instead of /videos an you'll get a bunch further. Link to comment
Juano11 Posted July 1, 2010 Author Share Posted July 1, 2010 Hmmm... Changed the share to: path=/mnt/user/video No videos Changed the share to: path=/mnt/user/Video and...Success!!! Temporarily.... I started a transfer and it was working and working pretty well...faster than real time then it stopped... I got the error: INFO: pytivo.video.transcode [errno 104] connection reset be peer INFO: pytivo.video.video [errno 34] broken pipe I'm giving it another shot... A different error.... Operation not permitted by bitrate Received signal 15: terminating Hmmm.... I suspect this issue is probably better addressed on the pyTivo forum...but I'll take any advice that I can get.... On another note, how do I get pyTivo to run automatically on reboot? Do I add: /usr/bin/python /boot/packages/thebayer/pyTivo.py to my 'go' script? Thanks all.... Link to comment
Juano11 Posted July 2, 2010 Author Share Posted July 2, 2010 Updated as of 04/30/11...multiple lib updates.... Updated as of 12/01/10, added additional libs and modified the go script for picture viewing...thx to pogopogo. And Thx again to BRiT, Joe L, and the others that helped me get this working Despite a few hiccups on the first day or so, it's been working transparently for several months now. Well, pyTivo is up and running on my unRaid box! Thanks once again to everyone here for the extraordinary amount of assistance they gave me. Anyway, I want to summarize here the steps that it took to get to this point, in case someone else wants to do this... 1. Download Python, FFmpeg, and associated libraries: wget http://connie.slackware.com/~alien/slackbuilds/ffmpeg/pkg/13.1/ffmpeg-0.6.1-i486-1alien.tgz wget http://connie.slackware.com/~alien/slackbuilds/ffmpeg/pkg/13.1/ffmpeg-0.6-i486-1alien.tgz wget http://slackware.osuosl.org/slackware-current/slackware/a/openssl-solibs-0.9.8r-i486-3.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libusb-1.0.8-i486-2.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libtheora-1.1.1-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libogg-1.2.2-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/alsa-lib-1.0.24.1-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libX11-1.4.3-i486-2.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXext-1.2.0-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXfixes-5.0-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libxcb-1.7-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXau-1.0.6-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/x/libXdmcp-1.1.0-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/a/glibc-solibs-2.13-i486-4.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/libjpeg-v8a-i486-1.txz wget http://slackware.osuosl.org/slackware-current/slackware/l/pil-1.1.7-i486-1.txz 2. Move all to /boot/packages: mv libjpeg-v8a-i486-1.txz pil-1.1.7-i486-1.txz python-2.6.6-i486-1.txz ffmpeg-0.6.1-i486-1alien.tgz openssl-solibs-0.9.8r-i486-3.txz libusb-1.0.8-i486-2.txz libtheora-1.1.1-i486-1.txz libogg-1.2.2-i486-1.txz alsa-lib-1.0.24.1-i486-1.txz libX11-1.4.3-i486-2.txz libXext-1.2.0-i486-1.txz libXfixes-5.0-i486-1.txz libxcb-1.7-i486-1.txz libXau-1.0.6-i486-1.txz libXdmcp-1.1.0-i486-1.txz glibc-solibs-2.13-i486-4.txz libjpeg-v8a-i486-1.txz pil-1.1.7-i486-1.txz /boot/packages 3. Install and/or add the following to your go script: installpkg /boot/packages/python-2.6.6-i486-1.txz installpkg /boot/packages/ffmpeg-0.6.1-i486-1alien.tgz installpkg /boot/packages/openssl-solibs-0.9.8r-i486-3.txz installpkg /boot/packages/libusb-1.0.8-i486-2.txz installpkg /boot/packages/libtheora-1.1.1-i486-1.txz installpkg /boot/packages/libogg-1.2.2-i486-1.txz installpkg /boot/packages/alsa-lib-1.0.24.1-i486-1.txz installpkg /boot/packages/libX11-1.4.3-i486-2.txz installpkg /boot/packages/libXext-1.2.0-i486-1.txz installpkg /boot/packages/libXfixes-5.0-i486-1.txz installpkg /boot/packages/libxcb-1.7-i486-1.txz installpkg /boot/packages/libXau-1.0.6-i486-1.txz installpkg /boot/packages/libXdmcp-1.1.0-i486-1.txz installpkg /boot/packages/glibc-solibs-2.13-i486-4.txz installpkg /boot/packages/libjpeg-v8a-i486-1.txz installpkg /boot/packages/pil-1.1.7-i486-1.txz 4. Reboot 5. Check to see that both Python & ffmpeg are installed python --version ffmpeg - version yes --version for one -version for the other You should get output like: python-2.6.6 and ffmpeg-0.6... (followed by several more lines of text) 6. Download a version of pyTivo here: http://pytivo.sourceforge.net/wiki/index.php/Current_Releases. In my case, I chose the latest version of TheBayer Fork. I then moved the .zip file to /boot/packages and renamed the zip file to an easy to remember name. In my case thebayerpytivo.zip. I renamed it by just browsing to the folder on my unRaid flash drive on a windows machine and renaming it that way. I suppose that you could download and unzip on your windows machine and copy and paste to your flash drive as well. wget http://repo.or.cz/w/pyTivo/TheBayer.git/snapshot/79fd85b2b5af79da8923cbb833f37fb08d11316a.zip then mv 79fd85b2b5af79da8923cbb833f37fb08d11316a.zip /boot/packages then renamed 79fd85b2b5af79da8923cbb833f37fb08d11316a.zip to thebayerpytivo.zip using windows 7. Unzip your pyTiVo package in your /boot/packages folder cd boot/packages unzip thebayerpytivo.zip If you don't have a unzip program on your unRaid box, then the download to windows, unzip, and copy & paste to your /boot/packages folder method is probably just as easy. 8. Create a pytivo configuration file (pytivo.conf) In this case I browsed to my /boot/packages/thebayer folder from my windows machine and copied the pytivo.conf.dist to a new file pytivo.conf. I'm sure that you can do this through Linux, but I don't know how and this method was very easy This, essentially, creates a basic pytivo configuration file for you to use. It creates a pytivo share My Movies, but the settings will not be correct for your needs. You'll need to edit the pytivo.conf file later to point to your specific shares. 9. Regardless, your ready to run pyTiVo and check to see if your TiVo can see your unRaid box /usr/bin/python /boot/packages/thebayer/pyTivo.py You'll want to change thebayer portion of the above command to the name of whatever folder was created when you unzipped your pytivo zip file. 10. You should see: INFO:pyTivo.beacon:Announcing shares... INFO:pyTivo.beacon:Registering: My Movies INFO:pyTivo.beacon:scanning forTiVos... INFO:pyTivo:pyTivo is ready. 11. Now go to your TiVo, scroll to the bottom of your Now Playing list. There should be a new item there My Movies. If so, it's working...if not...hell I don't know.... 12. Open your pytivo.conf file in a text editor and add some lines similar to the following:: [Tower videos] type=video path=/mnt/user/Video The text inside the brackets is the name of the share that your TiVo will show The text behind the "=" is the type of share (viedo, photo, or music) The last line is a path to your user share. In my case I have an unRaid user share setup called "Video" that holds my video files. So, change the last portion of this line to suit your needs. Letter case is important here. "video" is not the same as "Video" 13. You can also delete the three lines in the in the pytivo.conf file associated with the My Movies share, or just edit the last line to point to your user share. 14. Set pyTivo to run automatically on reboot. Add the following line near the bottom of your 'go' script. Again, change thebayer portion of this line to a folder appropriate for you /usr/bin/python /boot/packages/thebayer/pyTivo.py 15. Reboot your unRaid box. Python, ffmpeg, and pyTivo should be running on your unRaid box. Your video shares should now be visible on your TiVo. I've only had this going for about 24 hours, and, as I mentioned, at the moment it is working, but not quite 100%. I'll also note that you should be able to edit you pytivo.conf file from a web browser by pointing it to http://tower:9032/, however, this is not working for me. I can view the web configuration utility, but I am unable to make any changes. So, I/you will have to become familiar with editing the pytivo.conf file manually http://pytivo.sourceforge.net/wiki/index.php/Configure_pyTivo. Perhaps this behavior is specific to the "Fork" that I chose (wmcbrine's fork vs thebayer fork), or perhaps it has something to do with running it on an unRaid box. I don't know. Thanks once again to everyone for their invaluable help in getting this running. I am as novice a Linux user as you will come across. There is no way that I could have gotten this done by myself. It was a very educational experience for me. Hopefully I won't need quite as much help the next time I want to add something to my unRaid server. Cheers John Link to comment
prostuff1 Posted July 2, 2010 Share Posted July 2, 2010 LIST OF INSTRUCTIONS... Cheers John Thank you very much for the detailed write up on how to install this. It will make it much easier to make an unmenu install package when I get a chance. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.