zoukankan      html  css  js  c++  java
  • ffmpeg软件编码转换和切片的批量处理的bat脚本

      之前没有写过bat脚本,学习了半个小时,感觉跟shell功能都一样,大同小异。

      FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法!

    先把FOR的变量全部列出来:
          ~I            - 删除任何引号("),扩展 %I
          %~fI          - 将 %I 扩展到一个完全合格的路径名
          %~dI          - 仅将 %I 扩展到一个驱动器号
          %~pI          - 仅将 %I 扩展到一个路径
          %~nI          - 仅将 %I 扩展到一个文件名
          %~xI          - 仅将 %I 扩展到一个文件扩展名
          %~sI          - 扩展的路径只含有短名
          %~aI          - 将 %I 扩展到文件的文件属性
          %~tI          - 将 %I 扩展到文件的日期/时间
          %~zI          - 将 %I 扩展到文件的大小
          %~$PATH:I     - 查找列在路径环境变量的目录,并将 %I 扩展
                        到找到的第一个完全合格的名称。如果环境变量名
                        未被定义,或者没有找到文件,此组合键会扩展到
                        空字符串

     

    set  ffmpeg_dir=D:ffmpegffmpegin
    set  video_dir=D:ffmpeg101
    
    ::set /p video_dir=请输入视频所在的完整路径:
    ::set /p complete_dir=请输入视频处理后的路径:
    
    
    
    
    
    ::转换video_dir目录下所有MP4的文件到指定的complete_dir目录下
    for %%i in (%video_dir%*.mp4) do (
    
    ::m编码
    ::判断文件夹是否存在,不存在创建
    if exist %video_dir%%%~nim (echo "已经存在文件夹") else ( md %video_dir%%%~nim )
    %ffmpeg_dir%ffmpeg.exe -i %%i  -b 384k -s 1280*720 -ab 64k -ar 22050 -vcodec libx264 -strict -2 %video_dir%%%~nim%%~nim%%~xi
    %ffmpeg_dir%ffmpeg.exe -i %video_dir%%%~nim\%%~nim%%~xi -c:v copy -c:a copy -f segment -segment_list %video_dir%%%~nim\%%~nim.m3u8 -segment_time 10 %video_dir%%%~nim\%%~nim_%%03d.ts
    
    ::h编码
    if exist %video_dir%%%~nih (echo "已经存在文件夹") else ( md %video_dir%%%~nih )
    %ffmpeg_dir%ffmpeg.exe -i %%i  -b 384k -s 1280*720 -ab 64k -ar 22050 -vcodec libx264 -strict -2 %video_dir%%%~nih%%~nih%%~xi
    %ffmpeg_dir%ffmpeg.exe -i %video_dir%%%~nih\%%~nih%%~xi -c:v copy -c:a copy -f segment -segment_list %video_dir%%%~nih\%%~nih.m3u8 -segment_time 10 %video_dir%%%~nih\%%~nih_%%03d.ts
    
    ::g编码
    if exist %video_dir%%%~nig (echo "已经存在文件夹") else ( md %video_dir%%%~nig )
    %ffmpeg_dir%ffmpeg.exe -i %%i  -b 384k -s 1280*720 -ab 64k -ar 22050 -vcodec libx264 -strict -2 %video_dir%%%~nig%%~nig%%~xi
    %ffmpeg_dir%ffmpeg.exe -i %video_dir%%%~nig\%%~nig%%~xi -c:v copy -c:a copy -f segment -segment_list %video_dir%%%~nig\%%~nig.m3u8 -segment_time 10 %video_dir%%%~nig\%%~nig_%%03d.ts
    
    )
    
    pause
  • 相关阅读:
    WTL for Visual Studio 2012 配置详解
    自己动手让Visual Studio的Win32向导支持生成对话框程序
    改造联想Y480的快捷键(跨进程替换窗口过程(子类化)的实现——远程线程注入)
    Visual Studio 2012 Ultimate RTM 体验(附下载地址和KEY)
    VC++实现获取文件占用空间大小的两种方法(非文件大小)
    为Visual Studio添加默认INCLUDE包含路径一劳永逸的方法(更新)
    Winsdows 8 环境下搭建Windows Phone 开发环境
    Linq to Visual Tree可视化树的类Linq查询扩展API(译)
    检测元素是否在界面可显示区域
    Debug the Metro Style App:Registration of the app failed
  • 原文地址:https://www.cnblogs.com/wangyufu/p/5488627.html
Copyright © 2011-2022 走看看