1.看到很多一般在编程的时候上传都是在后台调用进程来进行转码。不过试验以后发现效果不是很好,特别是很多人的时候会出现问题。
2.另外一个就是在对于很多视频素材要进行转码上传的时候,要进行一定的统一编码。目前要做统一的flv的格式所有素材所有的都要进行flv编码,如果一段一段的进行编码的话,太过于麻烦而且要花费很大的人力。同样的一份素材如果我需要进行两份编码,比如一份mpg文件进行一份flv,一份3gp的编码那么就要花费大量的时间进行两次的手工操作。
上述就是存在的问题
如何解决?
参考了Discuz的supesite有了下面的解决方案
要使用的文件
1.ffmepg.exe下载地址http://sourceforge.net/projects/ffmpeg
2.Mencoder.exe下载地址http://www.mplayerhq.hu/MPlayer/releases/win32/下载其中的MPlayer-20060908-win32_gui.zip包并且提出其中的Mencoder.exe.
3.下载Mencoder.exe解码器http://www.mplayerhq.hu/design7/dload.html下载其中的BinaryCodecPackage
然后解开压缩包,把其中的drv43260.dllcopy到windows/system32/下面
然后开始->运行regsvr32drv42360.dll
开始工作
1.把ffmepg.exeMencoder.exe复制到c:/根目录下,当然你也可以是其他,只是我们后面定了这个目录
2.我们假定您的视频文件放置在D:/store下面,并且视频的原始文件在D:/store/video/temp/目录下
而新的文件flv文件和截图放置在D:/store/video/里面会按照日期建立文件夹里面.以上进行确认
工作思路
思路是建立windows的计划任务,让该计划每5分钟查看D:/store/video/temp下是否有文件,如果有文件那么调用批处理文件进行转换和截图,
所一这里需要一个task.bat用来建立windows计划任务(初始化使用),一个convert.vbs用来给转换的批处理调用shell并且传递目录参数,一个convert.bat这是真正要被convert.vbs调用的批处理文件这个文件是我们所有转码的关键。也就是convert.bat调用了ffmpegMencoder.exe来进行转码。
处理文件
1..建立一个计划任务的批处理task.bat(蓝色部分)
@schtasks/Create/tn视频转换/tr”C:/convert.vbs”/scminute/mo5
注释:/mo5表示5分钟,从上面看到他就是调用了convert.vbs
2.建立convert.vbs
Setshell=Wscript.createobject(”wscript.shell”)
convert=shell.run(”C:/convert.batD:/store”,0)
注释:从上满看到该vbscript创建了一个shell同时调用convert.bat传入两个参数
3.真正的内容convert.bat
@echooff
for/R%1/video/temp%%Iin(*.mov*.avi*.mpg*.mpeg*.mpe*.3gp)docall:Convert%1%%~I%%~nI
for/R%1/video/temp%%Iin(*.rm*rmvb*.wmv*.asf*.asx)docall:Convert1%1%%~I%%~nI
goto:END
:ConvertSitePathFullFileFileName
setlocalenableextensions
setfile=%3
setPath=%file:~-14,6%
IFNOTEXIST%1/video/%Path%mkdir%1/video/%Path%
C:/ffmpeg.exe-i%2-y-ab56-ar11025-ac2-b1500-qscale9-r15-s320*240%1/video/%Path%/%3.flv
C:/ffmpeg.exe-i%2-y-fimage2-ss8-sameq-t0.001-s320×240%1/video/%Path%/%3.jpg
del%2
endlocal
:Convert1SitePathFullFileFileName
setlocalenableextensions
setfile=%3
setPath=%file:~-14,6%
IFNOTEXIST%1/video/%Path%mkdir%1/video/%Path%
C:/mencoder.exe%2-o%1/video/%Path%/%3.flv-oflavf-lavfoptsi_certify_that_my_video_stream_does_not_use_b_frames-oacmp3lame-lameoptsabr:br=56-ovclavc-lavcoptsvcodec=flv:vbitrate=200:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1-vfscale=320:240-ofps12-srate22050
C:/ffmpeg.exe-i%1/video/%Path%/%3.flv-y-fimage2-ss8-sameq-t0.001-s320×240%1/video/%Path%/%3.jpg
del%2
endlocal
:END
上面的语法不多做解释了,可以参看偶博客
有一点要注意的是,在转码结束以后调用了del也就是原文件会被删除,当然你可以不删除
1.http://hi.baidu.com/x2p2/blog/item/06121d2d092cc936349bf731.html
2.http://hi.baidu.com/x2p2/blog/item/cb25e5c4d8233ac938db4923.html
或者参考Mencoder以及ffmpeg的一些相关参数说明
4.把这三个文件都保存到c:/根目录下.然后运行task.bat让计划任务自动执行
mencoder压缩后生成的flv缺少meta信息,会造成播放时没有进度条等问题,需要再用flvmdi修复一下
代码flvmditest.flv
相关推荐
使用THINKPHP框架开发的视频网站,后台上传任意格式视频后自动转码成FLV,实现前端在线点播,类似优酷。
JAVA 视频转码FLV 1.视频转化为在线播放格式。 2.支持视频截图。
FLV转MP4,视频格式转码,支持批量转码;无损转码;学校视频格式转码;FLV视频转MP4通用视频格式。
flv 2 h264 flv264编码的转码成h264.rar
可实现视频转码功能,虽然代码里面是写的转为flv,其实这个damo可以小改,实现通用的转码器。 该demo中所依赖的.h/.lib/.dll均有,可以直接使用,vs2008
该文档描述了Windows 2003\XP\2008\7下面实现从某文件夹下获取视频文件并自动转码为FLV文件的方法。
赶紧的下吧
5. 转码格式:指的是要把哪些格式的视频转码为mp4,多个视频格式|分隔,比如flv|mpg|mpeg|avi|vod 如果还有其他格式要转 继续在后面添加,原视频格式可以和输出格式相同,比如原来是mp4文件转码出来也是可以是mp4...
前端集成flv.js实现拉流并自动播放直播视频
解决线下能播放FLV,而放在服务器上后不能播放,完美解决
flv格式可转换成其他视频格式
在Centos系统搭建Ostube2.6开源flv流媒体服务器
让您的服务器支持FLV格式的视频播放 此方法介绍如何让您的服务器支持FLV格式的视频播放
几乎支持目前所有的格式文件转换成flv格式,制作flv常备工具.
很早以前写的代码,是一个控件嵌在网页上,用来将各种视频转成FLV。原理:调用ffmpeg,传入命令行参数,利用管道重定向ffmpeg的标准输出到控件程序。
基于nginx-rtmp-module的HTTP-FLV流媒体服务器设计源码,该项目包含101个文件,主要文件类型有40个c源文件,以及22个h头文件。此外,还包括10个Markdown文档用于项目说明,以及5个swf文件。该项目是一个基于nginx-...
使用jw_flv_player在服务器flv视频不能播放问题解决,网页中插入FLV格式的视频在本地预览中能播放,上传到服务器就不能播放的原因
分布式机器自动化解决方案flv,凌华科技整合高速运动控制及I/O控制的Field-Bus、Motionnet及HSL,可同时提供高达256轴的轴控制以及超过两千点I/O控制的能力,有效降低设备的成本并提升效能。
最好用的转码工具 各类格式转FLV 速度快质量高 你值得拥有。
迅雷看看视频转码器xv——flv 我们知道迅雷商城的影视文件格式是迅雷独家特有的,别的软件没有权力使用xv的解码器,所以只能用迅雷看看播放xv文件,特制作了xv——flv转换,只能xv格式转换到flv格式哦