Perhaps you can store the encoded filename in the db rather than the 
original or add a new field to store newly encoded filename?

video-js helped make playing vids easier.

Best of luck,
David

On Tuesday, June 12, 2012 6:04:21 AM UTC-4, Charles Tang wrote:
>
> I am using web2py to play user's uploaded video file encoding with 
> different encoding params.Only the original uploaded video is in db and it 
> can be accessed and played using code below:
> <script type="text/javascript">
>                         var flashvars = {};
>                         flashvars.myurl = "{{=URL('download', 
> args=video.file)}}"; 
>                         flashvars.width = {{=video.width}};
>                         flashvars.height = {{=video.height}};
>                         flashvars.widthshift = {{=video.widthshift}};
>                         flashvars.method =  "{{=video.method}}"; 
>                         
>                         var params = {};
>                         params.play = "false";
>                         params.loop = "false";
>                         params.menu = "false";
>                         params.quality = "best";
>                         params.scale = "showall";
>                         params.wmode = "window";
>                         params.swliveconnect = "true";
>                         params.allowfullscreen = "true";
>                         params.allowscriptaccess = "always";
>                         params.allownetworking = "all";
>                         var attributes = {};
>                         attributes.id = "container";
>                         
> swfobject.embedSWF("{{=URL(c='static',f='videoPlayer/videoPlay.swf')}}","myAlternativeContent",
>   
> {{=video.width}}, {{=video.height}}, "9.0.0", false, flashvars, params, 
> attributes);
> </script> 
>
> <div id="myAlternativeContent">
>                         <a href="http://www.adobe.com/go/getflashplayer";>
>                         <img src="
> http://www.adobe.com/images/shared/download_buttons/
>                         get_flash_player.gif" alt="Get Adobe Flash player" 
> />
>                         </a>
> </div> 
>
>
> In the code flashvars.myurl = "{{=URL('download', args=video.file)}}";  
> the controller download is below:
> def download():
>     return response.download(request,  db)
>
> It works to play the uploaded video.The problem is the converted video 
> files using ffmpeg with other params is not in db, so I can't access these 
> videos via response.download. 
> I tried two methods: 
> 1.Set flashvars.file="{{=URL(r=request,c='static',f='test.flv')}}",but the 
> flash player didn't play the video but the browser automatically popup a 
> file download window.
> 2.Set flashvars.myurl="{{=URL('show_video')}}"
>    in controller:
>    def show_video():
>        response.headers['Content-Type'] = "application/octet-stream"
>        response.headers['Content-Disposition'] = 'filename=test.flv'
>        return 
> response.stream(open('/data/python_website/web2py/applications/encodeupload/uploads/test.flv','rb'),chunk_size=4096)
>   It still popup a download window rather than play it.
> Neither of them works. So how to play a video file without 
> response.download?
>
>

-- 



Reply via email to