I don't think it is a player issue.  If I point my browser to the
stream I should get the stream.  I am only getting that beginning
piece I posted earlier.  I added the Content-Disposition response
header and now it associates the stream with an app.  I can't get any
application to stream it though and if I save it I get the same chunk
from the beginning of the file and nothing else.  I would buy that it
was the player if I could get it to just download to my desktop but I
can't even get it to do that.  Any other ideas?  Below is my new
controller function where I added Content-Disposition and used request
vars instead of args.  Behavior is identical, it just has a new URL
which looks like this:

http://127.0.0.1:8000/app/default/stream?filename=video.mp4&position=0

def stream():
    import os
    if len(request.vars):
        filename = request.vars['filename']
        position = request.vars['position']
        path = os.path.join(request.folder,'static','video',filename)
        response.headers['ContentType']="video/mp4"
        response.headers['Content-Disposition']='attachment,
filename="' + filename + '"'
        return response.stream(open(path),chunk_size=4096)
    else:
        redirect(URL(request.application,'default','index'))

On Jan 20, 3:18 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> I do not know. It is a player issue. web2py seems to do the streaming
> fine. I would ask the player mailing list.
>
> On Jan 20, 4:59 pm, jlegler <jleg...@gmail.com> wrote:
>
> > Yea, that is exactly how I accessed it and I get a stream of binary
> > (which I expect) although it doesn't associate it with any application
> > and it only sends a little bit of it (possibly the first 4096
> > chunk?).  Any ideas?  Below is the binary for what it is worth.
>
> > ftypmp42 mp42isomavc1 freeӈmdat
> >   E H , # x264 - core 79 - H.264/MPEG-4 AVC codec - Copyleft
> > 2003-2009 -http://www.videolan.org/x264.html-options: cabac=0 ref=2
> > deblock=1:0:0 analyse=0x1:0x111 me=umh subme=6 psy=1 psy_rd=1.0:0.0
> > mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0
> > deadzone=21,11 chroma_qp_offset=-2 threads=3 nr=0 decimate=1 mbaff=0
> > constrained_intra=0 bframes=0 wpredp=0 keyint=300 keyint_min=30
> > scenecut=40 rc_lookahead=40 rc=crf mbtree=1 crf=20.0 qcomp=0.60
> > qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.40 aq=1:1.00  e
> > m 9999999999999999999999999999:뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺
> > 뮺 뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺
> > 뮺뮺뮺 뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺뮺 A , p +
> > A J   J libfaac 1.28 B@ - G!A ր # !A ր # !A ր # !A ր # !
> > A ր # !A ր # A j   J A   J A   J
> > A   J !A ր # !A ր # !A ր # !A ր # !A ր # !A ր # !A ր #
> > A   J A      J A *   J A  J   b ) b ) )
> > º _ F
>
> > On Jan 20, 7:15 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > The code below looks right to me. What is the problem exactly?
>
> > > Did you try access
>
> > >http://..../app/controller/stream/[id]
>
> > > On Jan 20, 7:05 am, jlegler <jleg...@gmail.com> wrote:
>
> > > > I am building an app for work to demo some streaming functionality.
> > > > I've built the entire client in web2py and need to stream some video.
> > > > I need a way to stream mp4 content without using a tool like XmooV to
> > > > do it (because PHP is not running on this server and it will be
> > > > incredibly difficult to get it on there).  If I can implement it in
> > > > web2py it will also allow me to do some stuff behind the scenes as far
> > > > as communicating with a back office app without having to deal with
> > > > javascript insanity.  I have a feeling I am just doing something wrong
> > > > regarding headers but I really have no clue what I am doing.  Here is
> > > > a code example:
>
> > > > def stream():
> > > >     import os
> > > >     if len(request.args):
> > > >         title_id = int(request.args[0])
> > > >         filename = db(db.content.id == title_id).select()
> > > > [0].filename.replace('.mpi','.mp4')
> > > >         path = os.path.join(request.folder,'static','video',filename)
> > > >         response.headers['ContentType']="video/mp4"
> > > >         return response.stream(open(path),chunk_size=4096)
> > > >     else:
> > > >         redirect(URL(request.application,'default','index'))
>
> > > > I am trying to get this to stream to a flash based tool called JW
> > > > Player and basically have no clue what I am 
> > > > doing.http://developer.longtailvideo.com/trac/wiki/Player4Formats#HTTPStrea...
> > > > is the website. The part I was supposed to be responsible for was the
> > > > client, but since I was able to do it so quickly I have had a bunch of
> > > > other stuff I have no clue about dumped on me.  Any insight would be
> > > > helpful as to how to stream this mp4 file out of web2py.  Thanks a lot.
-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.


Reply via email to