欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    Java实现视频网站的视频上传及视频播放功能.docx

    • 资源ID:7179546       资源大小:34.07KB        全文页数:15页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java实现视频网站的视频上传及视频播放功能.docx

    Java实现视频网站的视频上传及视频播放功能JJaa码视频制作多媒频加ffm制,1.能ffnp2.不对ff能解实例数据实例dropcrea);descaaava实码、视频网站中供应的作的播放器来播媒体视频处理工加水印等。peg视频采集功同时还支持以能支持的格式peg能解析的格不能支持的格式fmpeg无法解解析的)格式.例是将上传视频据库库MySQ1.5.5例所须要的数据pdatabaseifatetabletbidintnottitlevarchsrcVarcharpictureVardeSCriPtvaptimevarcctbmedia;实现视视频关键的布线视频播放播放该文件.项工具EEmpeg有功能特别强大以RTB方式将视格式:(asx,式析的文件格式频转码为flv格据库脚本fexistsdb_m_media(nullprimaryar(50)notn(200)notnuchar(200)norchar(400)char(40)Comm视频网站键帧抽放功能,播放的项目中用制作的有特别强大的功大,不仅可以采视频流传送给asf,mpg,w式(WmV9,rm,rm格式,该格式fmediaplayer;ykeyautoinul1Commentullcommentotnullcommcomment'视频ment'上传时站的视抽图,的都是F1.V格式的player.SWf功能包括视频采集视频采集卡给支持RTSP的WmV,3gp,mpmvb等),可以先ffmpeg支持,;Createdatabincrenentcot,视频名称''视频存放地nent'视频截频描述,时间视频上及视式的文件,它是f播放器.采集功能、视k或USB摄像流媒体服务器p4,mov,avi先用别的工具所以我们实例basedb_mCdimment'主键',地址',截图,上传、视频播放是FIaSh动画文视频格式转换、像头的图像,还器,支持直播应,flv等)具(mcncoder)转例中须要ffmpeiaplayer:use',视频转放功能文件,可通过F、视频抓图、还可以进行屏幕应用。转换为avi(ffeg视频处理工dbjnediapla转能FIaSh给视幕录fmpeg工具.ayer;项目上传在上结构图:传视频界面设计上传文件时,Fo计rm表单中eenctype屈性值必需为multipart/fornr-data.模块界面设计如下图:enctappl表单mult表单text表单业务面对对象pack/*type属性值说lication/x-w单数据被编码为tiparl/fOnn-单数据被编码为t/plain单数据以纯文本务接口定义向接口编程,接象来创建.这样kagecom.WebMediaDao.ja说明ww-form-urle为名称/值对,这data为一条消息,页本形式进行编码口中定义系统就避开编码中app.dao:impovaencoded这是标准的编页面上每个控件码,其中不含任统功能模块.这中的某些业务遗ortjava,uti编码格式件对应消息中任何控件格式这样便利理清业遗漏等,同时扩il.1.istUmp。的一部分的字符业务,同时接口扩展性也增加rtcom.webap口的对象必需由了.pp.entity.Me由实现了该接edia;接口的*©version:1.1*©author:苏若年ahref=maiIto:DennisITQ163发送邮件/a*SinCe:1.0创建时间:2013-2-07上午10:19:54* *TOIX):interfaceMediaDao.Javaisusedfor.*publicinterfaceMediaDao*视频转码*aramfPmpegPath转码工具的存放路径*ParamUpFilePath用于指定要转换格式的文件,要截图的视频源文件*ParamCodcFilcPath格式转换后的的文件保存路径*©paramHiediaPicPath截图保存路径*©return*©throwsException*/publicbooleanexecuteCodecs(StringffmpegPath,StringupFiIePath,StringCodcFilePath,StringmediaPicPath)throwsException;*保存文件*©parammedia*Qreturn* throwsException*/publicbooleanSaveMedia(Mediamedia)throwsException;*查询本地库中全部记录的数目*©return*0throwsException*/publicintgetlIMediaCountOthrowsException;*带分页的查询*ParamfirstResult*©parammaxResult*©return* /接口codepublic1.ist*依据Id查*Parami*return*Othrows* /publicMedi口的实现,这里*视频转码*paramf*©paramu*Paramc*Paramm*©return*0throws*/publicboolcFiIePath,Str/创建1.istStconvertconvertconvertconvertconvertconvertconvertconvertconvertConvertMediaquer查询视频dExceptionaqueryMedia歹U出ffmpeg视fmpegPathpFiIePathOdcFilePathediaPicPathExceptioneanexecuteCingmediaPic个1.ist集合ringconver.add(ffmpegP.add(-i);.add(upFileP.add(-qscal.add(6);.add(-ab).add(64);.add(-ac).add(2);.add(-ar)ryA1.1Media(iaById(intid视频转码与截转码工具的用于指定要格式转换截图保存Codecs(StrincPath)throw合来保存转换rt=newArrPath):/添添加参数Path):/添Ie):/;设;/设;设intfirstResd)throwsExc截图模块的存放路径要转换格式的文换后的的文件保存路径ngffmpegPatwsEXCePtiOn换视频文件为fray1.istStri添加转换工具路数"-i",该参添加要转换格式/指定转换的质设置音频码率设置声道数设置声音的采ult,intmaxeption;文件,要截图的保存路径h,Stringupnflv格式的吩咐ng();路径参数指定要转换式的视频文件的质量样频率xResult)thro的视频源文件pFiIePath,S令换的文件的路径OwSExceptioStringon;conv可以convert的错应的convertconvertconvertvert.add(cod/创建1.istStcutpic.cutpic.cutpic.以是转换的flvcutpic.cutpic.cutpic.cutpic.cutpic.cutpic.cutpic.cutpic.cutpic.cutpic.booleanProcesstrybuibuibuibuibui/错误输出都将与因的输出变得更容catchmarSyse.Preturn.add(22050.add(-r);.add(24);.add(-y);cFiIePath);一个1.ist集合ringcutpicadd(ffmpegPaadd(-i);add(upFiIePav文件)add(-y);add(-f);add(image2add(-ss);add(17);add(-t);/add(0.001)add(-s);/add(800*280add(mediaPicmark=trueBuiIderbui1Idermandlder.rediredder,startOldermandlder.redirec假如此属性为与标准输出合并因此两者均可使简单(EXCePlionk=false;tern.out.PrinrintStackTramark;);/设添加参数合来保存从视C=newArraath);ath):/同上);添加参数添加起始时添加参数):/添加持添加参数0);/添加ePath);/添e;Ider=newPd(convert):CtErrorStrea);d(cutpic)IctErrorStrea为true,则任并,运用Processbuilder,e)(ntln(e);aceO;设置帧频数"-y",该参视频中截取图片ay1.istStrin上(指定的文数"-ss",该时间为第17秒"-t",该参持续时间为1亳"-S",该参与截取的图片大添加截取的图ProcessBuiIdam(true);am(true);任何由通过此对s.getInputStstart();参数指定将覆盖片的吩咐ng():件即可以是转参数指定截取秒数指定持续时空秒数指定截取的大小为350*24片的保存路径der;对象的StartreanIo方法读盖已存在的文转换为flv格式取的起始时间时间的图片大小40径0方法启动的读取。这使得关文件式之前的文件的后续子进程关联错误消息件,也程生成息和相系统因为方法pack/*p对象统中可能存在多为假如对象new法即可.kagecom.WebDaoFaclory,©version:©author:OsinceTODO:publicclass象PriVatesta单例设计模privateDaopublicstatreturnpublicstatreturn多个模块,这些W太多,会不必app.dao;impojava1.1苏若年:1.0classDaoDaoFactoryticDaOFaCto模式,私有构造FactoryOicDaoFactordaoFactory;icMediaDaonewMediaDaO些模块的业务D必要的奢侈资源Ortcom.webaahref=mai创建时间:oFaCtory.jav工厂模式OrydaoFacto造,对外供应获rygetlnstangetMediaDaooImpl();DAO可以通过源.所以工,app.dao.impliIto:Dennisi2013-2-vaisusedf式,生产Dao对Ory=newDa获得创建的对nce()o()工厂来管理,需采纳单例模式.MediaDaoImpT163发07下for.对象,面对接口aoFactory();象的唯一接口须要的时候直式,私有构造,提pl;发送邮件/a下午02:18:51编程,返回实现口,干脆供应即可.供应对外可访现业务接口定访问的定义的视图下Packimpojavaimpojavajavaimpoorg.org.impocom./*p图提交恳求,给kagecom.webortjava.io.a.util.1.istjortjavax.seax.servlet,hax.servlet,hortorg.apacapachemapachemortcom.webawebapp.entiMediaServicversion:©author:QsinceTODO:publicclasspublicvoidthrdoPost(publicvoidthrPrintWr限制器,限制器app.ServiceFilejimportrvlct.Servlcttp.HttpServtlp.HttpServhemons.fons.fiIeuploons.fiIeuplopp.dao.DaoFaty.Media;impe.java1.1苏若年:1.0classMedMediaServicdoGet(HttpSowsServletErequest,resdoPost(HttpowsServletEiterout=r器分析恳求参;java.io.IOEctContext;invlet;importVletResponsefiIeupload.Foad.disk.Disoad.servlet,actory;Imporportcom.webahref=mai创建时间IdiaService.jccextendsHservletRequeException,Isponse);pServIetRequException,!response,get参数,进行相应Exception;immportjavax.javax.servle;FiIeItem;ImpskFiIeItemFaServletFiIertcom.webapbapp.util.DailtoiDcnnisI2013-2-javaisUsedHttpServletestrequest,IOExceptionuestFequestIOExceptiontWritcr();的业务调用处mportjava,ioservlet.Servet.发08FdforHttpServlet,HttpScrvle处理.servlet控o.PrintwritevletExceptiopServletRequtDao;import发送邮件/a下午02:24:471ResponseredResponser限制器相关代er;importonjimportuest:importesponse)response)代码如MCdiaDaomediaDao=DaoFactory.getMediaDaoO;StringStringuri=Stringpath=uri.IastIndexOf(.);供应解析时的一message=:request,getRequestURIO;uri.substring(uri.IastIndexOf(Z),if(uploadFile.equals(path)些缺省配置DiskFileItemFactoryfactory=new创建一个DiskFileItemFactoryO:解析器,分析InputStream,该解析器会将分析的结果封装成一个Fileltem对象的集合一个FileItem对象对应一个表单域ServletFileUp1.oadsfu=newServletFiIeUpload(Factory);tryMediamedia=newMediaO;1.istFiIeItemiterns=sfu.parscRequest(request):booleanflag=false;转码胜利与否的标记for(inti=0;iiterns.size();i+)FiIeItemitem=items,get(i);要区分是上传文件还是一般的表单域if(item,isFormFie1dO)/isFormFie1dO为true,表示这不是文件上传表单域一般表单域StringParamName=item.getFieIdNameO;*StringparamValue=item.getString();SySten.out.println(参数名称为:+ParamName+,对应的参数值为:+paramValue);*/if(paramName.equals(title)media.setTitle(newString(item.gctString().getBytes(ISO8859-1),UTF-8);if(paramNamc.equals(descript)(media.SetDescript(newString(itern.getString().getBytes(IS08859l),UTF-8);)else上传文件/System.out.println(上传文件+item.getName():ServletContextsctx=this.getServletContextO:获得保存文件的路径StringbasePath=sctx.getRealPath(videos):获得文件名StringfileUrl=itern.getNamc();在某些操作系统上,item.getXame()方法会返回文件的完整名称,即包括路径StringfiIcType=fiIeUrl.substring(fiIeUrl.IastIndexOfC);截取文件格式自定义方式产生文件名StringSerialName=String,vaIueOf(System.CurrentTimeMillisO);待转码的文件FileUploadFile=newFile(basePath+temp+seriaIName+fiIeType);itern,write(upIoadFile);if(item.getSizeO500*1024*1024)message=Ii上传失败!您上传的文件太大,系统允许最大文件500Mli;StringCodcFilePath=basePath+/+SerialNamc+.flv:设置转换为flv格式后文件的保存路径StringmcdiaPicPath=basePath+/images+File,separator+SerialName+.jpg;设理上传视频截图的保存路径/获得配置的转换工具(f11npeg.exe)的存放路径StringffmpegPath=getServIetContext().getRealPath(/toolsffmpeg,exe);media.setSrc(videos/+SerialName+.flv);media.setPicture(videosimages/+serialName+.jpg);media.setUptime(DateTimeUti1.getYMDHMSFormatO);转码flag=mediaDao.executeCodecs(ffmpegPath,UploadFile.getAbsolutePath(),codcFiIePalh,mediaPicPath);if(flag)转码胜利,向数据表中添加该视频信息mediaDao.saveMedia(media);message=Ii上传胜利!/Ii;request.SetAttribute(message,message);requresprespuest.getRequcif(qu1.istryponse);c)if(plStrintMcdif(trycreqreqponse);estDispatcheatch(Excepte.printStacthrownewSeryAll.equatMediamedmedia1.ist=request,setrequest.getatch(Excepte.printStacay.equals(pingidstr=mcdiald=-iamedia=nnul1!=idstr)modiaid=Imedia=medatch(Excepte.printStacuest.setAttrucst.getRequer(media_uptione)ckTrace()jServletExcepals(path)dia1.ist:=mediaDao.qtAttribute(tRcquestDisptione)ckTrace();path)request,get-1;null;)Integer.parsdiaDao.querytione)ckTrace():ribute(mediUestDispatchpload.jsp).ption(e);queryA1.Medimedia1.isl,patcher(medtParameter(seInt(idstr)yMcdiaById(mia,media);her(media_pforward(requa(0,5);media1.ist)dia_list.Jspid);mcdiald);layer,jsp).uest,respons;).forward(r.forward(reqse);request,quest,可以相关%©%requ%!DOh11以通过分页查找关代码如下:pageIanguapageimportpageimportStringpathStringbaseuest.getScheOCTYPEhtmltp:/.webapp=java.util.=request.gPath=me()+:+PUB1.IC-/WorgTRhtml4op5,展示到首ontentType=p.entity.*%*%getContextParequest.getSW3CDTDHTM4loose.dtd首页.相应特效text/html;%ath();ServerNameOM1.4.OlTran效可以运用JScharset=UTF-+:+requestnsitiona1./EN实现.-8PagcEnco1.gclScrverPNoding=UTF-8Port()+path+%+/;htmlheadtitle视频列表/titlelinkrel=stylesheettype=textcsshref=skincssstyle.css/linkscripttype=text/javascriptsrc=skinjsjqueryl.3.2.js/scriptscripttype=textjavascript$(function。varsWidth=$(efocus).width();获得焦点图的宽度(显示面积)varIen=$(#focusulli).length;获得焦点图个数varindex=0;varpicTimer;以下代码添加数字按钮和按钮后的半透亮条,还有上一页、下一页两个按钮varbtn=divclass=4btnBg,divdivclass='btn':for(vari=0;ilen;i+)btn+=span/span;btn+=divdivclass=4preNextpre,divdivclass=4preNextnext,div;$(Jifocus).append(btn);$(#focus.btnBg).css(opacity,0.5);为小按钮添加鼠标滑入事务,以显示相应的内容$(#foCUS.btnspan).css(opacity,0.4).mouseenter(functionOindex=$(#focus.btnspan),index(this):showPics(index);).eq(0).trigger(mouseenter);/上一页、下一页按钮透亮度处理$(#focus.preNext),css(opacity,0.2).hover(functionO$(this).stop(true,faIse).animate(opacity:O.5,300);,function()$(this).stop(true,false),animate(opacity:0.2,300););上一页按钮$(#focus.pre),click(functionOindex-=1;if(index=-1)index=Ien-1;showPics(index););下一页按钮$(#fOCUS.next),click(functionOindex+=1;if(index=len)index=0;showPics(index););本例为左右滚动,即全部Ii元素都是在同一排向左浮动,所以这里须要计算出外围ul元素的宽度$(#f。CUSul).css(width,sWidth*(Ien);鼠标滑上焦点图时停止自动播放,滑出时起先自动播放$(#focus).hover(funclion()ClearIntervaKpicTimer);),function()picTimer=setinterval(function()showPics(index);index+;if(index=len)index=0;,4000);此4000代表H动播放的间隔,单位:亳秒).trigger(mouseleave);显示图片函数,依据接收的index值显示相应的内容functionshowPics(index)/一般切换varnow1.eft=-index*sWidth:依据index值计算ul元素的left值$(ttfocusu).stop(true,false),animate(left:nowl,eft,300):通过animate。调整ul元素滚动到计算出的position/$(#focus.btnspan),removedass(on),eq(index).addClass(on);为当前的按钮切换到选中的效果$(#focus.btnspan),stop(true,false),animate(opacity:0.4),300).eq(index).stop(true,false),animate(opacity:1,300);/为当前的按钮切换到选中的效果);/script/headbodydivclass=wrapperhl最新视频hldivid=focusul%1.istMediamedia1.ist=(1.istMedia)request.getttribute(media1.ist);if(media1.ist.size()0media1.ist!=null)src=130pdiboht首页视频视频=%=basePatpx;没有记录/udivivodytml页展示的图片都频恳求,频播放页面效果%h%=media.el%Ii录h3li%1都是带ID的链果如下图所示.for(inti=MediaIiahregetPicture(%lse(ih3Style=链接恳求.图片=0;imedia1.media=medef=play.actO%alt=color:whit片为视频转码过1.ist,size();dia1.ist.get(iion7id=%=me/a/1ie;margin-lef过程中拉取到的i+)i);edia.getld()ift:352pxjma的图片.点击图)%imgargin-top:图片即可发送播放视频代码1.rdclas/td相关Obj制作CISiPar性值emb转载频播放页面须要码如下:-嵌入Flashalign=centobjectWidSSid=CISid:Paramnamevalue=embedsrc=%width=objectd关说明:Ject元素,加作的播放器来播id:D27CDB6E-ram元素,val值中向player,bed元素,src载请注明出处:要在页面中嵌入播放器erwidth=4th=452hei027CDB6E-AE6=movie%=basePath%=bascPath%l98%height=载ActiveX控播放视频文件,AE6DTlcf-96ue属性指定被SWf播放器传属性也是用来放器8-4445535400yer.swf?filer.swf?fiIeNabed属性则指定了d的值必需为40000文件.实例中用Ie参数.该参与param标记m/dennisit/aOOName=%=baseame=%=basePa阅读器运用的用的是flash数指定了要播记的value属性archive/2013/ePath%=meath%=medi的ACtiVeX空间制作的视频播播放的视频的路性值详细相同021629132ediagetSrc(ia.getSrc()%间.因为运用F播放器.在val路径.的功能.287.html()%Flashue属

    注意事项

    本文(Java实现视频网站的视频上传及视频播放功能.docx)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开