- 浏览: 2344754 次
- 性别:
- 来自: 武汉
-
文章分类
- 全部博客 (559)
- JavaScript (55)
- windows (21)
- mysql (7)
- php (199)
- thinkphp (2)
- 互联网 (42)
- flash (3)
- html (9)
- phpcms (11)
- ffmpeg (6)
- 生活 (108)
- flash小游戏 (11)
- 软件 (35)
- css (1)
- JavaScript 二维码 (0)
- 二维码 (1)
- 桌面图标 (1)
- ping服务 (1)
- 百度 (2)
- 搜索引擎 (1)
- seo (1)
- 整形美容 (1)
- 深圳婚纱摄影 (1)
- 武汉婚纱摄影 (2)
- 淘宝 (0)
- 冬装 (0)
- 女装 (0)
- 新款冬装女装 (0)
- freebsd 操作系统 (1)
- editplus (1)
- svn (1)
- 微信 (1)
- 微商 (1)
- curl (1)
- 远程 (1)
- 防盗链 (1)
- vc2012 (1)
- Alexa (1)
- bootstrap (1)
- fileinput (1)
- webuploader (1)
- mip (1)
- 正则 (1)
最新评论
-
hexawing:
啥原理……貌似很神奇啊
excel写保护(非打开保护)的破解方法 -
化蝶自在飞:
注意upload.js的配置参数 sendAsBinary
webuploader实例php 配合fastDFS远程跨域上传回调的注意点 -
化蝶自在飞:
增加一个微信内置浏览器的useragent:
Mozilla/ ...
浏览器useragent大全 -
化蝶自在飞:
leiliang10 写道你揍是个骗纸此话怎讲?这个工具是我自 ...
mp4、mov视频元数据头信息修复工具 支持h.264编码边下边播 -
leiliang10:
你揍是个骗纸
mp4、mov视频元数据头信息修复工具 支持h.264编码边下边播
ffmpeg可以通过命令行的方式进行视频格式转换,是一个不错的软件,在php下可以使用exec函数,但是由于该函数水土不服,在windows下极容易出现未知错误,比如无法执行,权限问题等等,所以采用批处理来在windows下实现还是比较明智的.
需求:上传视频后,用php写bat文件到子目录,一个视频转化任务生成一个bat,如果转换成功(存在目标文件),则删除自身;在bat子目录之上(父目录)写一个bat,这个bat将被设置为windows计划任务来调用,并且它将自动遍历子目录下的bat执行.
1.判断文件是否存在,存在则删除自身子bat文件,避免执行过多文件导致冗余:
del %0 就是删除子bat自身.
2.父bat遍历子目录:
其中E:/bat/child/ 既是子bat所在目录.遍历并且执行,就可以了.
一分钟执行一次父bat是用任务计划吗?那样会不会很耗费资源?占很大内存?
如果上传的时候就知道flv文件的路径,那只需要如下调用上面的bat ffmpeg.bat <路径>,何必多此一举。
就是要生成子bat,也就是生成很简单一行:
call ffpmpeg.bat <路径>
这不是和明明一个for循环可以搞定的事情,你偏偏要写10遍一个道理
需求:上传视频后,用php写bat文件到子目录,一个视频转化任务生成一个bat,如果转换成功(存在目标文件),则删除自身;在bat子目录之上(父目录)写一个bat,这个bat将被设置为windows计划任务来调用,并且它将自动遍历子目录下的bat执行.
1.判断文件是否存在,存在则删除自身子bat文件,避免执行过多文件导致冗余:
if NOT exist E:/testvideo/1.jpg ( E:/ffmpeg/ffmpeg.exe -i E:/testvideo/1.flv -y -ss 00:00:09 -t 00:00:10 -s 320*240 -f mjpeg -vframes 10 E:/testvideo/1.jpg ) ELSE( del %0 )
del %0 就是删除子bat自身.
2.父bat遍历子目录:
for /r E:/bat/child/ %%i in (*.bat) do call %%i
其中E:/bat/child/ 既是子bat所在目录.遍历并且执行,就可以了.
评论
9 楼
mengdeheng
2012-10-27
化蝶自在飞 写道
您可能不了解项目需求呢.
视频是不定时的通过网站上传的.
而且您的代码是否涉嫌耗费资源呢.
我的 父bat 是一分钟执行一次的.您是不是要每隔一分钟去扫描一次系统文件?
所以我认为生成子bat是一个不错的方法.一旦确认文件生成成功,那么删除自身,下一次就不会再遍历了.
语法上虽有欠缺没有您写的那么高级,不过我写的通俗易懂些,不是吗?
视频是不定时的通过网站上传的.
而且您的代码是否涉嫌耗费资源呢.
我的 父bat 是一分钟执行一次的.您是不是要每隔一分钟去扫描一次系统文件?
所以我认为生成子bat是一个不错的方法.一旦确认文件生成成功,那么删除自身,下一次就不会再遍历了.
语法上虽有欠缺没有您写的那么高级,不过我写的通俗易懂些,不是吗?
一分钟执行一次父bat是用任务计划吗?那样会不会很耗费资源?占很大内存?
8 楼
dwwind
2011-05-12
程序不直接生成bat文件 而是生成一个文本文件,如格式为:
E:/testvideo/1.flv 00:00:09 00:00:10 320*240 jpeg E:/testvideo/1.jpg
你那个定时任务去读这个文件,也就不存在安全问题了
E:/testvideo/1.flv 00:00:09 00:00:10 320*240 jpeg E:/testvideo/1.jpg
你那个定时任务去读这个文件,也就不存在安全问题了
7 楼
化蝶自在飞
2011-05-10
flv的路径是组装出来的,当然可以获取到.
比如xxx.rm 的flv就是 xxx.flv, 不能累加成 xxx.rm.flv
如果用批处理来做这个的话,是否有必要呢?
子bat是php写入的,不是人肉.
bat的执行是windows计划任务做的.上传仅仅是写bat,不触发执行.
比如xxx.rm 的flv就是 xxx.flv, 不能累加成 xxx.rm.flv
如果用批处理来做这个的话,是否有必要呢?
子bat是php写入的,不是人肉.
bat的执行是windows计划任务做的.上传仅仅是写bat,不触发执行.
6 楼
ray_linn
2011-05-10
化蝶自在飞 写道
您可能不了解项目需求呢.
视频是不定时的通过网站上传的.
而且您的代码是否涉嫌耗费资源呢.
我的 父bat 是一分钟执行一次的.您是不是要每隔一分钟去扫描一次系统文件?
所以我认为生成子bat是一个不错的方法.一旦确认文件生成成功,那么删除自身,下一次就不会再遍历了.
语法上虽有欠缺没有您写的那么高级,不过我写的通俗易懂些,不是吗?
视频是不定时的通过网站上传的.
而且您的代码是否涉嫌耗费资源呢.
我的 父bat 是一分钟执行一次的.您是不是要每隔一分钟去扫描一次系统文件?
所以我认为生成子bat是一个不错的方法.一旦确认文件生成成功,那么删除自身,下一次就不会再遍历了.
语法上虽有欠缺没有您写的那么高级,不过我写的通俗易懂些,不是吗?
如果上传的时候就知道flv文件的路径,那只需要如下调用上面的bat ffmpeg.bat <路径>,何必多此一举。
就是要生成子bat,也就是生成很简单一行:
call ffpmpeg.bat <路径>
这不是和明明一个for循环可以搞定的事情,你偏偏要写10遍一个道理
5 楼
化蝶自在飞
2011-05-09
您可能不了解项目需求呢.
视频是不定时的通过网站上传的.
而且您的代码是否涉嫌耗费资源呢.
我的 父bat 是一分钟执行一次的.您是不是要每隔一分钟去扫描一次系统文件?
所以我认为生成子bat是一个不错的方法.一旦确认文件生成成功,那么删除自身,下一次就不会再遍历了.
语法上虽有欠缺没有您写的那么高级,不过我写的通俗易懂些,不是吗?
视频是不定时的通过网站上传的.
而且您的代码是否涉嫌耗费资源呢.
我的 父bat 是一分钟执行一次的.您是不是要每隔一分钟去扫描一次系统文件?
所以我认为生成子bat是一个不错的方法.一旦确认文件生成成功,那么删除自身,下一次就不会再遍历了.
语法上虽有欠缺没有您写的那么高级,不过我写的通俗易懂些,不是吗?
4 楼
ray_linn
2011-05-09
什么父父子子的bat,用一个bat就结了
@echo off :set_env if "" == "%FFMPEG_DIR%" set FFMPEG_DIR=E:\ffmpeg if "" == "%FFMPEG_PARAM%" set FFMPEG_PARAM=-y -ss 00:00:09 -t 00:00:10 -s 320*240 -f -i mjpeg -vframes 10 -i :check_argu if not "%1" == "" ( set FLV_ROOT=%1 ) else ( set FLV_ROOT=E:\balabala ) :exec for /r %FLV_ROOT% %%i in (*.flv) do ( if NOT exist %%~di%%~pi%%~ni.jpg ( %FFMP_DIR%\ffmpeg.exe %FFMPEG_PARAM% %%i %%~di%%~pi%%~ni.jpg rem 这里应该加入生成log ) ) :end
3 楼
化蝶自在飞
2011-05-09
楼上指教下?
2 楼
ray_linn
2011-05-09
这种写法真是神人...lz赶紧回家翻翻dos bat用法吧
1 楼
化蝶自在飞
2011-05-08
这样批处理必然带来的一个问题:安全.
假如有人恶作剧,del服务器文件或者 format ,该如何防御?
假如有人恶作剧,del服务器文件或者 format ,该如何防御?
发表评论
-
web.config伪静态配置的一些方法收集
2011-05-27 18:05 3473web.config伪静态配置的一些方法收集. <? ... -
windows 2003添加删除windows组件中无iis应用程序服务器项的解决
2010-11-06 12:03 2993一台windows 2003上,用的上海网管联盟的系统,在 添 ... -
w3wp.exe进程100% iis占cpu100%的识别方法
2010-10-31 00:28 2018有时候,我们使用iis时,可能会发生w3wp(iis进程)占据 ... -
说说windows下的系统变量 %windir% %userprofile%
2010-09-23 10:59 3643接触过批处理文件的同 ... -
apache日志格式 apache日志配置 apache日志分割的简单设置
2010-07-19 19:55 4365apache日志格式,apache日志配置:apache日志分 ... -
apache 301重定向的设置方法
2010-07-06 18:19 2442直接在.htaccess文件里设置,如下: RewriteEn ... -
删除多余的网络连接 本地连接2怎么删除?
2010-06-30 20:28 11923安装了虚拟机,结果虚拟了8个本地连接出来,相当不爽.如下图: ... -
dos命令大全学习之phpnow的PnCp.cmd控制台文件解读
2010-06-30 17:19 3319php套件phpnow的PnCp.cmd控制台文件内容如下: ... -
apache日志配置 apache虚拟主机多站点配置的日志分割配置
2010-06-25 09:08 5430apache多站点虚拟主机,每个域名一个日志文件,网上找了好多 ... -
一次中毒后找到的流氓代码
2010-06-16 08:50 1563<script language="VBS ... -
http状态查询 http 状态代码解释 http状态码查询
2010-06-12 11:05 1224HTTP状态码(HTTP Status Code) http状 ... -
calc.exe下载 calc.exe是什么 calc.exe路径位置
2010-06-09 20:56 4340calc.exe下载 calc.exe是什么 calc.exe ... -
iis伪静态rewrite错误日志的记录解读
2010-06-04 03:32 2571首先是配置好规则,如下写法: RewriteLog c: ... -
windows下apache开启gzip压缩 加快网页下载速度
2010-06-03 16:55 5569针对windows版本的apache2.2,开启方法如下: 第 ... -
windows 2003不支持rmvb和rm格式的解决_配置iis rmvb支持
2010-05-08 21:56 2514windows 2003不支持rmvb和rm格式,表现为访问r ... -
iis301重定向 iis 301全站重定向方法
2010-04-30 20:49 2321何谓iis 301全站重定向方法? 比如,你以前的站点叫 ww ... -
Microsoft JET Database Engine 错误 '80004005'报错的排查
2010-04-26 22:38 1530服务器上的asp程序采用的是access数据库,访问的时候出现 ... -
iis服务器不支持flv的解决方法_flv服务器设置
2010-04-25 19:59 3941WIN2003服务器加强了IIS6的MIME验证,一切未注册扩 ... -
windows安装服务出错的原因排查_mysql安装为服务
2010-04-25 16:57 2477下面是一个例子,在windows 2003上安装mysql服务 ... -
windows删除服务的命令行语句
2010-04-21 07:45 20004想要删除windows xp里的一个服务,怎么办呢? 系统没有 ...
相关推荐
在IT行业中,批处理工具是一种自动化执行一系列任务的程序,常用于提高工作效率,尤其是在需要对大量数据或文件进行相同操作时。...如果你希望进一步定制或优化这个工具,了解批处理脚本和FFmpeg的使用是必不可少的。
FFmpeg是一款强大的开源跨平台多媒体处理工具,广泛应用于视频压缩、转码、分割、合并等多个领域。...通过了解和掌握FFmpeg的基本用法,用户还可以根据自己的需求进一步调整压缩设置,实现更个性化的视频处理。
描述中提到的“ffmpeg.exe程序”是指FFmpeg的命令行工具,通过它可以执行各种复杂的音视频处理任务。它通常用于Windows环境下的命令行操作,尽管FFmpeg本身是跨平台的,适用于Linux、Mac OS X等多个操作系统。 标签...
此外,我们还可以通过调整其他参数来进一步优化压缩,例如: - `-b:v`:设置平均比特率,用于限制输出文件的大小。但是,过多地依赖这个参数可能会导致质量波动。 - `-bf` 和 `-refs`:设置B帧数量和参考帧数,以...
软件可能支持诸如ffmpeg这样的流行的开源多媒体框架,后者以其强大的多媒体处理能力而闻名。 压缩包子文件的文件名称“vp-main”可能表示这是软件的主要执行文件或者主程序。考虑到Linux和macOS都是以文件系统的...
Mencoder支持多种编码标准,如MPEG、AVI、WMV等,而且具备批处理功能,可以高效地处理大量视频文件。 FFmpeg是另一个与Mplayer相关的开源项目,它是一个全面的多媒体处理工具集,包含音视频编解码器、转换工具、流...
3. 图像处理与过滤:如果需要进一步处理图像,比如调整大小、灰度化或增强,脚本可能包含额外的命令调用OpenCV库或其他图像处理工具。 4. 错误处理和日志记录:为了确保脚本在遇到问题时能够优雅地退出并提供有用的...
FFmpeg具备处理各种视频和音频编码的能力,支持多种格式的输入和输出,其命令行工具的灵活性为StampIt提供了调整视频转码参数的能力。用户能够根据转码结果的需求,调整视频的分辨率、比特率、帧率等参数,以及音频...