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
  • 相关阅读:
    PHP的ip2long和long2ip函数的实现原理
    PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍
    PHP静态延迟绑定简单示例
    [deviceone开发]-do_Socket组件示例
    [deviceone开发]-大家比较关注的应用内部升级
    [deviceone开发]-do_Viewshower的动画效果示例
    [deviceone开发]-企业OA项目开源分享
    [deviceone开发]-do_RichLabel的简单示例
    [deviceone开发]-直播APP心形点赞动画示例
    [deviceone开发]-纳豆项目源码开源
  • 原文地址:https://www.cnblogs.com/wangyufu/p/5488627.html
Copyright © 2011-2022 走看看