常用批处理记录

记录一些批处理
以供查询与使用

  • 提取YUV的第15帧
DownConvertStatic.exe win hin %in_file_name% wout hout %out_file_name% 0 0 14 1
  • for 循环对YUV下采样,并264编码
set bitrate=(200,500,800,1500,3000)
set bitrate2=(200,500,800,1500,3000)
set target_resolution=720x360
set width=720
set height=360

rem 对文件名在filename1中30fps的文件YUV进行采样至目标分辨率
for %%a in %file_name1% do (for %%b in %bitrate% do (
if not exist %yuv_out%\%%a_sample_%target_resolution%.yuv (ffmpeg -s %initial_resolution% -i %yuv_in%\%%a.yuv -s %target_resolution% %yuv_out%\%%a_sample_%target_resolution%.yuv)
x264.exe -I 30 -i 30 --ref 1 --qpstep 2 --profile baseline --bitrate %%b --vbv-maxrate %%b --vbv-bufsize %%b --vbv-init 0.9 -m 1 --threads 1 --fps %fps1% -o %yuv_out%\%%a_%target_resolution%_%%brat_%fps1%fr.264 %yuv_out%\%%a_sample_%target_resolution%.yuv --input-res %target_resolution% ))
::del %yuv_out%\*.264
::del %yuv_out%\*.yuv
  • 实验室常用
%%视频截取之后,后面的出来可以不用再截取
set MP4_in=E:\liwenrong_360Sequence\3840_1920\30\select
set yuv_in=E:\liwenrong_360Sequence\3840_1920\30\select\sample
set yuv_out=E:\liwenrong_360Sequence\3840_1920\30\select\sample\2k_2160_1080
set file_name=(prideforeveryone,Esporte_Atitude,danceGFriendRough,GearVRGiveaway) 
set bit_rate_1=(3000,3500,4500,5000,7000,9000,10000,11000)
set frame_rate=(30)
set initial_solution=(3840x1920)
set sample_solution=(720x360) 


%下采样
for %%a in %file_name% do (ffmpeg -s 3840x1920 -i %yuv_in%\%%a.yuv  -s 720x360 %yuv_out%\%%a_sample.yuv)

%yuv按目标码率变成*.264文件
for %%a in %file_name% do (for %%b in %bit_rate_1% do (for %%c in %frame_rate% do x264.exe -I 30 -i 30 --ref 1 --qpstep 2 --profile baseline --bitrate %%b --vbv-maxrate %%b --vbv-bufsize %%b --vbv-init 0.9 -m 1 --threads 1 --fps %%c -o %yuv_out%\%%a_%%brat_%%cfr.264 %yuv_out%\%%a_sample.yuv --input-res 720x360))

% *.264文件封装成 *.MP4文件
for %%a in %file_name% do (for %%b in %bit_rate_1% do (for %%c in %frame_rate% do ffmpeg -i %yuv_out%\%%a_%%brat_%%cfr.264 -vcodec copy %yuv_out%\%%a_%%brat_%%cfr.mp4 ))

%删除yuv文件
%for %%a in %file_name% do (del %yuv_in%\%%a.yuv)

%删除 *.264文件
for %%a in %file_name% do (for %%b in %bit_rate_1% do (for %%c in %frame_rate% do del %yuv_out%\%%a_%%brat_%%cfr.264))
cmd


%截取视频
%for %%a in %file_name% do (ffmpeg.exe -i %MP4_in%\%%a.mp4 -ss 00:01:03 -t 00:00:30 -vcodec copy -acodec copy -y %yuv_in%\%%a.mp4 )

%转yuv
%for %%a in %file_name% do (ffmpeg -i %yuv_in%\%%a.mp4 %yuv_in%\%%a.yuv)
  • 另一种不错的 for 循环
@echo off
set video_in=E:\liwenrong_360Sequence\selected_video\sample\3840_1920

for %%a in (%video_in%\dance*.mp4) do (ffmpeg -i %%a -i 1.aac -vcodec copy -acodec copy %video_in%\%%~na.ts)
for %%a in (%video_in%\Gear*.mp4) do (ffmpeg -i %%a -i 2.aac -vcodec copy -acodec copy %video_in%\%%~na.ts)
for %%a in (%video_in%\pride*.mp4) do (ffmpeg -i %%a -i 3.aac -vcodec copy -acodec copy %video_in%\%%~na.ts)
for %%a in (%video_in%\Green*.mp4) do (ffmpeg -i %%a -i 4.aac -vcodec copy -acodec copy %video_in%\%%~na.ts)
for %%a in (%video_in%\Esporte*.mp4) do (ffmpeg -i %%a -i 5.aac -vcodec copy -acodec copy %video_in%\%%~na.ts)
for %%a in (%video_in%\Hollywood*.mp4) do (ffmpeg -i %%a -i 6.aac -vcodec copy -acodec copy %video_in%\%%~na.ts)
rem: ~na 的作用是去掉 %%a 中文件的格式,即 .yuv
  • for 循环,用到 if not exist 和 ==
@echo off
set yuv_in=E:\liwenrong_360Sequence\selected_video\sample
set file_name1=(danceGFriendRough,GearVRGiveaway,prideforeveryone,GreenIsland)
set fps1=30
set file_name2=(Esporte_Atitude,Hollywood_Rip_Ride_Rockit)
set fps2=25
set initial_resolution=3840x1920

rem Only the following parameters needed to be changed between different resolutions.
set yuv_out=E:\liwenrong_360Sequence\selected_video\sample\3840_1920
set bitrate=(2000,5000,10000,18000,28000)
set target_resolution=3840x1920
set width=3840
set height=1920

rem 对文件名在filename1中的文件YUV进行采样至目标分辨率
for %%a in %file_name1% do (for %%b in %bitrate% do (
if not exist %yuv_out%\%%a_sample_%target_resolution%.yuv (ffmpeg -s %initial_resolution% -i %yuv_in%\%%a.yuv -s %target_resolution% %yuv_out%\%%a_sample_%target_resolution%.yuv)
x264.exe -I 30 -i 30 --ref 1 --qpstep 2 --profile baseline --bitrate %%b --vbv-maxrate %%b --vbv-bufsize %%b --vbv-init 0.9 -m 1 --threads 1 --fps %fps1% -o %yuv_out%\%%a_%%brat_%fps1%fr.264 %yuv_out%\%%a_sample_%target_resolution%.yuv --input-res %target_resolution%
ffmpeg -i %yuv_out%\%%a_%%brat_%fps1%fr.264 -vcodec copy %yuv_out%\%%a_%target_resolution%_%%brat_%fps1%fr.mp4)
del %yuv_out%\*.264
del %yuv_out%\*.yuv)

rem 由于文件名filename2中文件的YUV无法采用ffmpeg下采样,故用DownConvertStatic.exe完成
for %%c in %file_name2% do ( for %%d in %bitrate% do (
if not exist %yuv_out%\%%c_sample_%width%x%height%.yuv ( DownConvertStatic.exe 3840 1920 %yuv_in%\%%c.yuv %width% %height% %yuv_out%\%%c_sample_%width%x%height%.yuv )
if %%c==Esporte_Atitude (
x264.exe -I 30 -i 30 --ref 1 --qpstep 2 --profile baseline --bitrate %%d --vbv-maxrate %%d --vbv-bufsize %%d --vbv-init 0.9 -m 1 --threads 1 --fps %fps1% -o %yuv_out%\%%c_%%drat_%fps1%fr.264 %yuv_out%\%%c_sample_%width%x%height%.yuv --input-res %target_resolution%
ffmpeg -i %yuv_out%\%%c_%%drat_%fps1%fr.264 -vcodec copy %yuv_out%\%%c_%target_resolution%_%%drat_%fps1%fr.mp4) else (
x264.exe -I 25 -i 25 --ref 1 --qpstep 2 --profile baseline --bitrate %%d --vbv-maxrate %%d --vbv-bufsize %%d --vbv-init 0.9 -m 1 --threads 1 --fps %fps2% -o %yuv_out%\%%c_%%drat_%fps2%fr.264 %yuv_out%\%%c_sample_%width%x%height%.yuv --input-res %target_resolution%
ffmpeg -i %yuv_out%\%%c_%%drat_%fps2%fr.264 -vcodec copy %yuv_out%\%%c_%target_resolution%_%%drat_%fps2%fr.mp4))
del %yuv_out%\*.264
del %yuv_out%\*.yuv)
  • 超级 for 循环
set in_out_dir=E:\liwenrong_360Sequence\selected_video\sample\720_360\test_mp4tots
for /r %in_out_dir% %%i in (*.mp4) do ( ffmpeg -i %%i -vcodec copy %in_out_dir%\%%~ni.ts)
  • 超级 for 循环2
rem Only the following parameters needed to be changed between different resolutions.
set in_out_dir=E:\liwenrong_360Sequence\selected_video\sample\720_360

rem 先将目录里的 .mp4文件存到 name.txt 中
dir /b/ob %in_out_dir%\*.mp4 > %in_out_dir%\name.txt
for /F %%i in (%in_out_dir%\name.txt) do ( ffmpeg -i %in_out_dir%\%%i -vcodec copy %in_out_dir%\%%~ni.ts)
常用批处理 bat 程序├─BAT优化│ -禁止修改、写入SYSTEM32目录.BAT│ -让XP不用图片查看器看图(略缩图).BAT│ DEL.JPG.SCR.BAT│ DELTEMP.BAT│ 关闭系统信使.BAT│ 减少非法关机等待扫描时间.BAT│ 删除系统备份文件.BAT│ 卸载INTEL集成显卡如同鸡胁的显面增强.BAT│ 卸载XP内置ZIP.BAT│ 恢复使用XP注册表.BAT│ 注册所有DLL.BAT│ 清除输入法外的所有RUN运行项.BAT│ 禁止修改、写入SYSTEM32目录.BAT│ 禁用危险的默认共享.BAT│ 让XP不用图片查看器看图(略缩图).BAT│ ├─其它类│ 2000XP停止打印.bat│ dir.bat│ sxs.exe 的查杀.bat│ sz.reg转换成reg.bat.bat│ 全盘删除所有文件夹下的_desktop.ini.bat│ 删除大小和类型一样的文件.bat│ 删除所有分区的默认共享.bat│ 将cwindows.复制到当前目录并显示进度.bat│ 打开快捷方式指向的目录.bat│ 批处理读注册表的Run下面的值.bat│ 按扩展名分类.bat│ 显示c盘~z盘.bat│ 枚举当前目录及子目录大小.bat│ 枚举显示.bat│ 查找最新的文件.bat│ 每个目录占用的空间.bat│ 篮球飞人火爆版.cmd│ 结束进程.bat│ 解锁注册表.BAT│ 输出倒文.bat│ 锁注册表.BAT│ ├─系统类│ C盘转换为NTFS格式.cmd│ dos下重启.bat│ guest.bat│ win2000关机命令.bat│ WIN2003 IIS最小权限分配.bat│ winxp修改计算机名.bat│ xp下确定最后的盘符.bat│ 不显示扩展名.bat│ 不显示隐藏文件.bat│ 使用WMI别名获取CPU信息.bat│ 关闭IDE通道检测.bat│ 列举进程.bat│ 判断光驱是否可用.bat│ 判断光驱里有无光盘.bat│ 判断分区格式.bat│ 刷新策略.bat│ 取得硬盘数.bat│ 右键添加bat.bat│ 右键添加打开MS-DOS.bat│ 弹出光驱.bat│ 改变我的文档路径.bat│ 显示扩展名.bat│ 显示用户名.bat│ 显示隐藏文件.bat│ 更改电源管理方式.bat│ 更改盘符.bat│ 更改系统启动菜单的时间.bat│ 查看工作组.bat│ 查看物理内存.bat│ 查看用户是否存在.bat│ 查看电脑硬件信息.bat│ 查看驱动器.bat│ 禁止保留文档记录.bat│ 给每个盘添加卷标.cmd│ 被锁定帐户.bat│ 重命名administrator账号.bat│ └─网络类 ARP本机绑定.bat XP服务优化批处理.bat 中文显示ping结果.bat 断开网络联结.bat 显示网络配置.bat 显示自己的IP.bat 查看网关的MAC地址.bat 查看进程使用的端口.bat 检查网络信息.bat 百度关键字搜索.bat 绑定网关的批处理及预留维护提到.bat 自动改回主页.bat 自定义配置网络ip、网关、dns.bat 网络信息.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值