关于asp.net 做视频播放网站的积累

最近领导下令做一个视频播放和业务数据关联的系统,做了80%,总结下感悟,以及细节防止忘记。

 

技术问题,1,大文件上传,2视频转换成可在线播放的格式。3在线播放。

1,大文件上传。

 

HttpWorkerRequest实现介绍

利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据可以实现文件上传。实现方法如下:

  1. IServiceProvider provider=(IServiceProvider)  
  2. HttpContext.Current;  
  3. HttpWorkerRequest wr=(HttpWorkerRequest)  
  4. provider.GetService(typeof(HttpWorkerRequest));  
  5. byte[] bs=wr.GetPreloadedEntityBody();  
  6. if(!wr.IsEntireEntityBodyIsPreloaded())  
  7. {  
  8. int n=1024;  
  9. byte[] bs2=new byte[n];  
  10. while(wr.ReadEntityBody(bs2,n) 〉0)  
  11. {  
  12. }  

 

感觉挺复杂的,干脆就在坛子里下载了个大文件上传组件,直接可以用,但是还是反编译了下。大体看懂什么意思。

 

2,视频转换

 

查阅资料后使用 ffmpeg,下载地址

关于参数说明,网上都有,我只用最简单的

ffmpeg.exe -y -i "输入文件名" -qscale 8 "输出文件名"可以将视频转换成flv格式用来在线播放。

 

3,在线播放,使用flash来做播放器,flash组件在网页中是swf格式的,随便下个swf的播放器,如flvplayer.swf

     传递给这个flash组件的flv格式的文件。

注意,iis设置需要设置 .flv格式 .flv flv-application/octet-stream 把flv作为流播放。

这个设置在iis管理器,http 头 mime设置中

 

整体程序结构,就是一个网页程序,接受与业务关联大文件视频上传,一个windows服务,监控某个目录下的文件,有文件就转换为flv,并且转移这个文件,到其他目录。网页查找相关业务,显示出相关视频,可以在线播放,也能下载观看。

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值