视频上传


1、用户上传视频文件

注意:调整允许上传文件的大小:

ASP.Net为了防止过大的http恶意请求阻塞网站,所以限定了每次上传文件最大4M,asp.net1.1中把用户上传的文件先放到内存中,

2.0后如果上传的文件过大(默认256K)则会把文件保存到磁盘中。

不要修改全局的web.config来解除限制,保证安全,只对视频上传的ashx文件夹添加独立的web.config
    <system.web>
      <httpRuntime maxRequestLength="204800" requestLengthDiskThreshold="1024"/>
    </system.web>


maxRequestLength 表示最大上传文件的长度(KB为单位)。requestLengthDiskThreshold表示最多上传204800K(200M),

大于1024K以后保存到磁盘,防止占用内存空间。



通过根文件夹和子文件夹中设置不同的AppSettings值来看到:子文件夹中的Web.Config可以覆盖父文件夹中的设置。这样对于上传的文件夹才把上传限制放开到200MB。


2、启动FFMepg进行转码、抓缩略图
最牛的:利用ffmpeg让用户上传任意格式的视频、生成预览图片、动态gif预览图片,然后转换为flv、多线程。\




            //创建并启动一个新进程
            Process p = new Process();
            //设置进程启动信息属性StartInfo,这是ProcessStartInfo类,包括了一些属性和方法:
            p.StartInfo.FileName = Server.MapPath("/ffmpeg/ffmpeg.exe");       //程序名
            p.StartInfo.UseShellExecute = false;
            //-y选项的意思是当输出文件存在的时候自动覆盖输出文件,不提示“y/n”这样才能自动化


           // string srcFileName = Server.MapPath("/Video/aa.avi");
            //string destFile =Server.MapPath("/Video/1.jpg");//截取视频里面的一个镜头
            //p.StartInfo.Arguments = "-i " + srcFileName + " -y -f image2  -ss 53 -t 0.001 -s  600x500 " + destFile;    //执行参数


            string srcFileName = Server.MapPath("/Video/aa.avi");
            string destFileName = Server.MapPath("/Video/a.flv");//转换视频格式
         p.StartInfo.Arguments = "-i " + srcFileName + " -y -ab 56 -ar 22050 -b 800 -r 29.97 -s 420x340 " + destFileName;    //执行参数
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;//把外部程序错误输出写到StandardError流中
            p.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
            p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
            p.Start();
            p.BeginErrorReadLine();//开始异步读取
            p.WaitForExit();//阻塞等待进程结束
            p.Close();//关闭进程
            p.Dispose();//释放资源




转码结束后p.WaitForExit()才会返回


这样在转码、抓图结束后在数据库中添加一条记录(建一个和视频表:Id、Title、FlvPath:Flv的路径、ThumbPath:缩略图的路径)


3、做一个页面展示所有的视频,点击某个视频后打开页面,使用OsFLVPlayer播放视频
VideoList.aspx。ViewVideo.aspx?Id=5


视频页面的静态化、无刷新评论……






ubb


[b]djf[b]








[url][url]












C:\Program Files\Baofeng\StormPlayer\Core\codecs


暴风:ffmpeg.dll文件所在的路径。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值