Compare Products, Prices & Stores For:

COMPUTERS, COMPONENTS COMPUTER ACCESSORIES, COMPUTER MEMORY, HARDWARE, INPUT DEVICES, NETWORKING, PDAs & MOBILE ELECTRONICS, SOFTWARE, STORAGE & MEDIA, DIGITAL CAMERAS, HOME AUDIO, TV& VIDEO

Google
 
Web DealDatabase.com
What are you shopping for?


Go Back   DealDatabase Forum - Deals, Freebies, and TiVo & DirecTivo Hacking > Category: NEW TiVo, DTiVo, Extraction FORUMS! > Extraction, Insertion, & Streaming Support

Reply
 
Thread Tools Rating: Thread Rating: 8 votes, 4.75 average. Display Modes
  #1  
Old 03-24-2003, 02:38 AM
cwingert cwingert is offline
Senior Member
 
Join Date: Jul 2001
Posts: 275
ty enabled mplayer [beta test]

==Purpose==
Allows streaming of recorded programs off a TiVo or local TiVo streams
to play onto a PC. No intermediate storage is required. No re-muxing
is required My goal is to use my TiVos as SD recording devices that sit
in my closet and PCs around my house as playback devices.

NOTE - If you want to make DVD-Video, please use tydemux, this is not
the project your are looking for.


==Features==
-Local playback with complete skip control
-Remote playback (on TiVo) with complete skip control


==Tested the following streams as working==
-Minor testing with SA Version 1.3
-Significant testing with SA Version 2.5
-Minor testing of DTiVo MPEG Audio
-Minor testing of DTiVO AC-3 Audio

==Download==
http://tivo-mplayer.sf.net/MPlayer-0...ivo-0.1.tar.gz
http://tivo-mplayer.sf.net/vserver-1.0.tar.gz

==Requirements==
-Some Tivo streams on your hard drive -OR-
-Tivo with some sort of fast TCP connection (ie TivoNet, TurboNet, AirNet)


==Issues==
-If tystream part header is not present, mplayer will not know where
to stop decoding in the stream. Streams allocated in the MFS Database
usually allocate more disk bytes than necessary. The only place the correct
size is known is in the part header. Possible issues :
| -The mplayer MPEG library may crash because of the P/B Frames may be
referencing something that is not there.
| -MPlayer may go on fat, dumb, and happy playing another stream (if you
are lucky enough to end on an I Frame.
-Seeking may cause lip sync to be off for a few seconds as mplayer
"catches" up.
-I am not sure how many concurrent streams you can pull from a single
TiVo. I have done 2 at the same time, however, I am not sure of
the impact on recording. I am interested in more information here.


==Notes==
-Fixing 2% of the actual streams, that are broken, is not my goal with these modifications. If you have a
really bad stream, you should pass it through Olaf and team's tystudio.
However, if there is enough demand, I will produce a tool to correct really
bad ty streams.
-The final intent of these modifications is to go into the mainstream mplayer
source.
-This *should* work with different types of streams (other than TiVo
streams), just like stock mplayer.
-This should work on Windows as well with a cygwin install. As mplayer
supports a video out driver for DirectX. I have not compiled it for
Windows yet, but I would appreciate any feedback.



==Installation==
-vserver-1.0.tar.gz is required only if you want to stream directly from
the TiVo's harddrive.
If you want to build this, you will need to install the TiVo cross compiler.
If not, you can just use the vserver binary included in the package.
Simply :
-Uncompress the archive
# tar xvfz vserver-1.0.tar.gz
-copy vserver to your TiVo
-Execute it
# ./vserver
You may want to start it from your TiVo startup script.

-MPlayer-0.90rc4-tivo-0.1.tar.gz is required for both streaming from
a TiVo and for playing locally stored TiVo streams. No binaries are
included as mplayer prefers to be built for the target machine.
-Unpack the archive
# tar xvfz MPlayer-0.90rc4-tivo-0.1.tar.gz
-Configure the distribution
# ./configure
-Make it
# make
-Install it
# make install
-Run it
# mplayer


==Usage==
-Play a locally stored stream
# mplayer stream.ty
-Retrieve the now showing list from a TiVo, tivohost is the host name of
your tivo, alternately you can use the TiVo's IP Address
# mplayer tivo://tivohost/list
-Play a remote stream, 12345 is the FSID provided in the now showing list
# mplayer tivo://tivohost/12345


==Credit==
-Tridge (of course), all of the streaming code is based on his (mostly
overlooked) work. 80% of MPlayer*/vstream is his code.
-Olaf Beck for his help regarding informational support of tystream and
MPEG information. He also provided me with DTiVo streams, as I
have no direct access to a DTiVo.
-Arpad Gereoffy for mplayer, a very flexible (but complicated) framework.
An awesome multi-faceted player too!


==Version Notes==
Version 0.1
-This version is intended to get mplayer out. In the next week I will
be cleaning up the code base and optimizing it for submission to the
mplayer author.
-I will be accepting bug reports at this time, however, please verify
with tydemux that your stream is not majorly faulty.


==ToDo==
-Code Cleanup
-Closed Caption Support
-Ty Stream Repair


==Contact==
tivo@wingert.org

Last edited by cwingert; 03-28-2003 at 10:39 AM.
Reply With Quote
  #2  
Old 03-24-2003, 08:56 AM
burriko burriko is offline
Senior Member
 
Join Date: Mar 2003
Location: Durham, UK
Posts: 127
I've spent the last hour or so trying to compile this under cygwin. I've never used cygwin, so you'll have to forgive me if i've overlooked something simple.

Mplayer seems to be compiling fine until it get's to the vstream part. I've copied the output from make below.

It has problems finding the include file asm/unistd.h. Could this be causing the problem?

I appreciate any help you can give me.

Code:
make -C vstream
make[1]: Entering directory `/home/Graeme/MPlayer-0.90rc4/vstream'
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o mfs.o mfs.c
In file included from mfs.c:7:
mfs.h:24:24: asm/unistd.h: No such file or directory
In file included from mfs.c:7:
mfs.h:76: parse error before "u64"
mfs.h:76: warning: data definition has no type or storage class
In file included from mfs.h:209,
                 from mfs.c:7:
proto.h:9: parse error before "u64"
proto.h:11: parse error before "mfs_fsid_size"
proto.h:11: warning: data definition has no type or storage class
proto.h:17: parse error before "u64"
proto.h:19: parse error before "limit"
proto.h:37: parse error before "llseek"
proto.h:37: parse error before "u64"
proto.h:37: warning: data definition has no type or storage class
mfs.c:280: parse error before "u64"
mfs.c: In function `mfs_fsid_pread':
mfs.c:286: `ofs' undeclared (first use in this function)
mfs.c:286: (Each undeclared identifier is reported only once
mfs.c:286: for each function it appears in.)
mfs.c:287: parse error before "size"
mfs.c:289: `fsid' undeclared (first use in this function)
mfs.c:293: `count' undeclared (first use in this function)
mfs.c:297: `buf' undeclared (first use in this function)
mfs.c:301: `size' undeclared (first use in this function)
mfs.c: At top level:
mfs.c:351: parse error before "mfs_fsid_size"
mfs.c: In function `mfs_fsid_size':
mfs.c:361: parse error before "inode"
mfs.c: At top level:
mfs.c:554: parse error before "u64"
mfs.c: In function `bitmap_fn':
mfs.c:562: `limit' undeclared (first use in this function)
mfs.c:572: `zone' undeclared (first use in this function)
mfs.c: In function `mfs_zone_bitmap':
mfs.c:588: `zone' undeclared (first use in this function)
mfs.c: At top level:
mfs.c:618: parse error before "limit"
mfs.c: In function `mfs_purge_all':
mfs.c:625: `limit' undeclared (first use in this function)
make[1]: *** [mfs.o] Error 1
make[1]: Leaving directory `/home/Graeme/MPlayer-0.90rc4/vstream'
Reply With Quote
  #3  
Old 03-24-2003, 09:57 AM
cwingert cwingert is offline
Senior Member
 
Join Date: Jul 2001
Posts: 275
Thanks for the reply.

Can you drop the following mfs.h in your vstream directory and try the compile again?

Thanks
Attached Files
File Type: txt mfs.h.txt (4.5 KB, 122 views)
Reply With Quote
  #4  
Old 03-24-2003, 10:13 AM
burriko burriko is offline
Senior Member
 
Join Date: Mar 2003
Location: Durham, UK
Posts: 127
put that file in and it's fixed those errors, but has created a bunch of new errors.

here's the output

Code:
make -C vstream
make[1]: Entering directory `/home/Graeme/MPlayer-0.90rc4/vstream'
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o mfs.o mfs.c
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o object.o obj
ect.c
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o schema.o sch
ema.c
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o query.o quer
y.c
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o util.o util.
c
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o bitmap.o bit
map.c
gcc -c -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D_LARG
EFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__CYGWIN__ -I../loader     -o io.o io.c
io.c: In function `mfs_read_sectors':
io.c:141: `loff_t' undeclared (first use in this function)
io.c:141: (Each undeclared identifier is reported only once
io.c:141: for each function it appears in.)
io.c:141: parse error before "start"
io.c:151: `start' undeclared (first use in this function)
io.c: In function `mfs_write_sectors':
io.c:177: `loff_t' undeclared (first use in this function)
io.c:177: parse error before "start"
io.c:187: `start' undeclared (first use in this function)
make[1]: *** [io.o] Error 1
make[1]: Leaving directory `/home/Graeme/MPlayer-0.90rc4/vstream'
make: *** [vstream/vstream.a] Error 2
Reply With Quote
  #5  
Old 03-24-2003, 11:15 AM
rd001 rd001 is offline
Senior Member
 
Join Date: Mar 2002
Posts: 290
Nice project. This could develop into some very nice solutions.
Reply With Quote
  #6  
Old 03-24-2003, 12:05 PM
gardenhose gardenhose is offline
Experienced Member.
 
Join Date: Mar 2003
Posts: 22
hi cwingert! Nice job.

I'm on macosx and I had gotten vplayer2 to compile ok over there (see posts below.)

To fix the u64 thing, I just had to replace all instances of loff_t with "long long" and copy a unistd.h from somewhere else into the local directory.
Reply With Quote
  #7  
Old 03-24-2003, 12:16 PM
cwingert cwingert is offline
Senior Member
 
Join Date: Jul 2001
Posts: 275
Here is another mfs.h. Please try this one.

If it doesn't work, I'll download cygwin and give it a whirl.
Attached Files
File Type: txt mfs.h.txt (4.6 KB, 97 views)
Reply With Quote
  #8  
Old 03-24-2003, 12:29 PM
cwingert cwingert is offline
Senior Member
 
Join Date: Jul 2001
Posts: 275
Wow. I didn't know anyone was using vplayer2.

It really was a crappy solution to the problem. I wish I would have looked into the MFS stream format earlier. The amount of time I spent on vplayer2 was pretty much equivalent to the mplayer patches.

Getting mplayer, vsplit, and X to play nice together was a bitch.


Quote:
Originally posted by gardenhose
hi cwingert! Nice job.

I'm on macosx and I had gotten vplayer2 to compile ok over there (see posts below.)

To fix the u64 thing, I just had to replace all instances of loff_t with "long long" and copy a unistd.h from somewhere else into the local directory.
Reply With Quote
  #9  
Old 03-24-2003, 12:45 PM
burriko burriko is offline
Senior Member
 
Join Date: Mar 2003
Location: Durham, UK
Posts: 127
awesome, that last version of mfs.h seems to have fixed the problems with vstream.
but now the compile is choking on libdvdcss.c.
i'm going to read through the mplayer-cygwin mailing list to see if anyone has had this problem before.

btw, the output is

Code:
libdvdcss.c: In function `dvdcss_open':
libdvdcss.c:237: warning: assignment makes pointer from integer without a cast
libdvdcss.c:380: too few arguments to function `mkdir'
libdvdcss.c:393: too few arguments to function `mkdir'
make[1]: *** [libdvdcss.o] Error 1
make[1]: Leaving directory `/home/Graeme/MPlayer-0.90rc4/libmpdvdkit2'
make: *** [libmpdvdkit2/libmpdvdkit.a] Error 2
Reply With Quote
  #10  
Old 03-24-2003, 12:50 PM
cwingert cwingert is offline
Senior Member
 
Join Date: Jul 2001
Posts: 275
Cool.

Yes, this bug is outside the realm of my changes to support a tystream and must be in the stock mplayer rc4 code base.

I know there is an rc5 version of mplayer, but I have to clean up my code before I go to it.


Quote:
Originally posted by burriko
awesome, that last version of mfs.h seems to have fixed the problems with vstream.
but now the compile is choking on libdvdcss.c.
i'm going to read through the mplayer-cygwin mailing list to see if anyone has had this problem before.

btw, the output is

Code:
libdvdcss.c: In function `dvdcss_open':
libdvdcss.c:237: warning: assignment makes pointer from integer without a cast
libdvdcss.c:380: too few arguments to function `mkdir'
libdvdcss.c:393: too few arguments to function `mkdir'
make[1]: *** [libdvdcss.o] Error 1
make[1]: Leaving directory `/home/Graeme/MPlayer-0.90rc4/libmpdvdkit2'
make: *** [libmpdvdkit2/libmpdvdkit.a] Error 2
Reply With Quote
  #11  
Old 03-24-2003, 01:39 PM
gardenhose gardenhose is offline
Experienced Member.
 
Join Date: Mar 2003
Posts: 22
Hi Cwingert, I'll be able to get you a mac-osx working source setup of your new mplayer when I get back to home later on. I've got it almost compiled but just need to test it. Just had the same issues when compiled vplayer, i.e. trampolines and some missing libraries.
Reply With Quote
  #12  
Old 03-24-2003, 01:53 PM
burriko burriko is offline
Senior Member
 
Join Date: Mar 2003
Location: Durham, UK
Posts: 127
i tried compiling again with mpdvdkit disabled (to bypass the problem i have with libdvdcss.c). and it seems to have kicked up another vstream related error.

does this mean anything to you?

Code:
gcc -O4 -march=i586 -mcpu=i586 -pipe -ffast-math -fomit-frame-pointer -D__CYGWIN
__ -Ilibmpdemux -Iloader -Ilibvo      -o mplayer mplayer.o mp_msg.o cpudetect.o
codec-cfg.o cfgparser.o my_profile.o spudec.o playtree.o playtreeparser.o asxpar
ser.o vobsub.o subreader.o sub_cc.o find_sub.o m_config.o m_option.o parser-cfg.
o m_struct.o unrarlib.o mixer.o parser-mpcmd.o libvo/libvo.a libao2/libao2.a
libmpcodecs/libmpcodecs.a mp3lib/libMP3.a liba52/liba52.a libmpeg2/libmpeg2.a
libaf/libaf.a libmpdemux/libmpdemux.a input/libinput.a postproc/libpostproc.a po
stproc/libswscale.a linux/libosdep.a vstream/vstream.a  libavcodec/libavcodec.a
        -lz     -ltermcap   -lgdi32 -lwinmm                    -liconv -lintl -l
m
vstream/vstream.a(util.o)(.text+0x322):util.c: undefined reference to `_syscall'

vstream/vstream.a(util.o)(.text+0x38a):util.c: undefined reference to `_syscall'

vstream/vstream.a(util.o)(.text+0x40a):util.c: undefined reference to `_syscall'

collect2: ld returned 1 exit status
make: *** [mplayer] Error 1
Reply With Quote
  #13  
Old 03-24-2003, 03:32 PM
cwingert cwingert is offline
Senior Member
 
Join Date: Jul 2001
Posts: 275
I uploaded a new version to fix the syscall issue.
Could you give it a whirl?

Thanks

http://tivo-mplayer.sf.net/MPlayer-0...ivo-0.2.tar.gz

Last edited by cwingert; 03-28-2003 at 10:40 AM.
Reply With Quote
  #14  
Old 03-24-2003, 05:47 PM
burriko burriko is offline
Senior Member
 
Join Date: Mar 2003
Location: Durham, UK
Posts: 127
it compiled perfectly!

tried it on a small local ty file and it worked straight away wow, i'm really impressed.

now to try streaming from the tivo

thank you.
Reply With Quote
  #15  
Old 03-24-2003, 05:58 PM
cwingert cwingert is offline
Senior Member
 
Join Date: Jul 2001
Posts: 275
I just compiled it too. Works very cool.

Its nice to be cross platform so easily.
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:27 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Copyright 2000-2008 © dealdatabase.com.
TiVo® is a registered trademark of TiVo Inc. This site is not affiliated with TiVo Inc.
You Rated this Thread: