尼玛好久没来写博客了,还是贴个刚刚写的脚本吧。

脚本式用windows下的批处理写的,由于批处理只懂一点点,这里贴下可以作为笔记。脚本是给老师写的,所以要容易上手,越傻瓜越好

使用方法:复制代码到convert.bat,拖一个视频到这个convert.bat就会帮你转换这个视频,或者拖一个文件夹到那个批处理,会帮你转换文件夹下不包括子目录的所有视频,带有一些简单的统计功能,比如哪些文件转换失败,时间用了多久什么的。转换好的视频存放在video-compressed文件夹下,会自动打开该文件夹,文件名不变,后缀都变为avi

ffmpeg参数固定死的。请把ffmpeg可执行文件放在脚本目录或脚本目录下的bin目录下,或者在环境变量%PATH%中能找到

问题:循环时打印变量的值为啥不对?总是为初始值。变量每循环一次都变化的

代码

@echo off
echo "video convert script based on ffmpeg. wbsecg1@gmail.com"set exe=%~nx0
if [%1] == [] goto helpset PATH=%~dp0;%~dp0bin;%PATH%:: bat's working dir is in %1 dir
cd /d %~dp0
:: default output dir is video-compressed under this file's folder
set outdir=%~dp0video-compressed
set log=log.txt
set fflog=log-ff.txt
:: check the whether output dir writable
echo. >rwdir 2>nul || (set outdir=%TMP%\video-compressed && set log=%TMP%\%log% && set fflog=%TMP%\%fflog%)
del rwdirmkdir %outdir% 2>nul
echo "The result video will be in %outdir%"
:: http://stackoverflow.com/questions/3432851/dos-bat-file-equivalent-to-unix-basename-command
set src=%1
set filename=%~n1.avi
set /a success=0
set /a failed=0echo. >%fflog%
echo start time: %time%
echo "start time: %time% " >%log%
:: test folder/file: http://bbs.bathome.net/redirect.php?tid=1047&goto=lastpost
dir /ad %src% >nul 2>nul && goto convertfolder || goto convertfilepause
exit:help
echo drag a video or a folder to "%exe%"
pause
exit:convertfile
echo converting %src% ...
ffmpeg -y  -threads 2 -i %src% -vcodec libxvid -q:v 6  -acodec aac -strict -2 -q:a 18  %outdir%\%filename%
:: # -thread 2 -ac 1 -ar 16000 -ab 24k -r 24
echo "end time: %time% "
echo "end time:   %time% " >>%log%
explorer %outdir%
pause
exit:convertfolder
for /f "delims=\" %%a in ('dir /b /a-d /o-d "%src%\*.*"') do (echo converting %src%\%%a ... ffmpeg -y -i %src%\%%a -vcodec libxvid -q:v 6  -acodec aac -strict -2 -q:a 18  %outdir%\%%a 2>> %fflog% && set /a success+=1 || (set /a failed+=1 && echo "failed" && echo "Failed: %src%\%%a" >>%log%)
)echo end time: %time%
echo success: %success%
echo failed:  %failed%
echo See "%log%" and "%fflog%" for more informationecho "end time:   %time% " >>%log%
echo "success: %success%" >>%log%
echo "failed:  %failed%"  >>%log%
explorer %outdir%
pause
exit

调用FFmpeg的视频压缩批处理脚本相关推荐

  1. ffmpeg mac 批量脚本_使用批处理脚本(BAT)调用FFMPEG批量编码视频

    使用批处理脚本(BAT)编码视频非常方便,尤其当视频序列非常多的时候,更是省了不少简单重复性劳动. 只要学会批处理里面几个基本的命令就行了,感觉和c/c++差不多. set:设置变量(注意:变量一般情 ...

  2. 使用批处理脚本(BAT)调用FFMPEG批量编码视频

    使用批处理脚本(BAT)编码视频非常方便,尤其当视频序列非常多的时候,更是省了不少简单重复性劳动. 只要学会批处理里面几个基本的命令就行了,感觉和c/c++差不多. set:设置变量(注意:变量一般情 ...

  3. bat批处理命令大全_DOS使用环境变量图文教程,bat批处理脚本查看调用环境变量命令...

    大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频. 今天我们学习在DOS和BAT批处理脚本中使用环境变量,环境变量是windows定义的一个变量,它有一 ...

  4. php ffmpeg截图,PHP调用ffmpeg对视频截图并拼接脚本

    这篇文章主要介绍了PHP调用ffmpeg对视频截图并拼接脚本 PHP脚本调用ffmpeg对视频截图并拼接,供大家参考,具体内容如下 目前支持MKV,MPG,MP4等常见格式的视频,其他格式有待测试 1 ...

  5. Windows批处理脚本%1和%1%有区别吗?

    我amtrying理解%1 和%1%在批处理脚本,但无论哪种解释之间的差异在SO没有意义,是错误的,或者我有一个完整的误解或测试脚本无法正常工作给出. 在Windows 7中,我使用给出的剧本< ...

  6. oracle批处理脚本学习总结

    Oracle自动备份脚本 废话不多说了,直接给大家贴代码了,具体代码如下所示: #!/bin/sh #************************************************* ...

  7. 在批处理脚本所在目录下打开cmd

    @cd /d %~dp0 @cmd cd 命令是不会修改当前的drive的. cd /d 切换盘符和切换路径二合一了.相当于c:和cd c:/temp两个命令. %~dp0 可以理解为批处理脚本所在的 ...

  8. BAT 批处理脚本教程

    BAT 批处理脚本教程 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统 ...

  9. 实现android应用程序自动化测试的批处理脚本,简单入手移动端并发自动化测试:Appium+Robot+ 批处理脚本...

    一.前言 好久没写帖子,去年晋升为 leader 之后工作比较忙,去年为团队的产品建立了一轮的移动端(Android&iOS)的自动化测试,到今天为止跑了将近半年,前期感觉还行,但随着用例的增 ...

最新文章

  1. python内存管理 变量无需事先声明_python 内存管理
  2. Linux 3D 编程学习总结
  3. 360drive可以卸载吗_Windows 10下的软件卸载你会吗?不会可以看过来!
  4. poj1284 Primitive Roots
  5. php mysql 拆分join_PHP拼接Sql,MySql拆分数据(substring_index())作为判断条件
  6. (淘宝无限适配)手机端rem布局详解(转载非原创)
  7. 七日瘦身汤绝妙配方 - 生活至上,美容至尚!
  8. html标题用什么字母,HTML标题有什么作用?
  9. [C] 跨平台使用Intrinsic函数范例2——使用SSE2、AVX指令集 处理 双精度浮点数组求和...
  10. sja1000 CAN控制器波特率计算方法详解
  11. 毕业设计管理系统(JAVA毕业设计)
  12. SMBv3 BSoD 0day
  13. Linux 设置ssh远程登录端口
  14. word 文档多级列表编号设置
  15. IT程序猿攻城狮学习资料汇总
  16. 腾讯公布员工数据:超 30 岁员工占近六成
  17. 石化行业工作调度,如何选择合适的防爆对讲机?
  18. Giv Svn Branch 操作
  19. 谷歌地球 hosts文件_【教程】DEM+谷歌地球取点工具下载地形矢量数据
  20. 让男人无法抗拒的三种傻女人【顶】【转】

热门文章

  1. 三层交换机实现vlan间通信
  2. 软件测试架构师——众里寻她千百度
  3. 众里寻它千百度,原来它在...MSDN处
  4. 资源网365,资源之家! 天天好资源!力争打造一个更好的资源网下载站.希望大家指教!...
  5. 如何实现图片转化为文字
  6. 算法工程师独得恩宠 四面楚歌的Android工程师该何去何从?
  7. 佛系推荐《骡子》是经典又好看的动作电影毋庸置疑
  8. ispreedSheet ios编辑类似表格界面在ipad上
  9. 书论82 宋曹《书法约言》
  10. 关于stable diffusion的embedding训练的一篇随笔