[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 xp3000 于 2023-2-4 17:42 编辑

这个问题在于有人不知道下载的ffmpeg放哪里
ffmpeg放入C:\Windows\System32文件夹就可以了
下面这个只处理目录下一级的文件夹的ts视频
  1. @echo off&setlocal enabledelayedexpansion
  2. @REM 保存为ANSI编码,文件名排序后合并视频
  3. set s=^^^^^^^^^^^^^^^^^^^^^^^^^^
  4. for /d %%a in (*) do (echo.进入文件夹:%%a
  5.     pushd %~dp0%%a&type nul>"%%a.txt"
  6. setlocal
  7. for /f "delims=" %%i in ('dir /b/a-d/on "*.ts"') do (
  8.     set "ss=!s!!s!!s!!s!!s!%%i"&set "^^=!ss:~-64!"&set _!^^!=!^^!
  9.     )
  10. for /f "delims==_^^" %%j in ('set _^|sort /+1') do (
  11.     echo;file %%j>>"%%a.txt"&echo; 即将合并文件 %%j
  12.     )
  13. popd
  14. endlocal
  15. ffmpeg -f concat -i "%~dp0%%a\%%a.txt" -vcodec copy -acodec copy "%~dp0%%a.mp4" -y
  16. del /f /s /q "%~dp0%%a\%%a.txt" >nul 2>nul
  17. )
  18. pause
复制代码
ffmpeg后面有个-y,不需要覆盖就删除
这一个处理根目录内所有文件夹的ts视频
  1. @echo off&setlocal enabledelayedexpansion
  2. @REM 保存为ANSI编码,文件名排序后合并视频
  3. cd \
  4. set s=^^^^^^^^^^^^^^^^^^^^^^^^^^
  5. for /f "delims=" %%a in ('dir /a:d /b/s *') do (
  6.     pushd "%%a"&echo.进入"%%a"
  7. if exist *.ts (type nul>"%%a\%%~na.txt"
  8. echo.
  9. setlocal
  10. for /f "delims=" %%i in ('dir /b/a-d/on "*.ts"') do (
  11.     set "ss=!s!!s!!s!!s!!s!%%i"&set "^^=!ss:~-64!"&set _!^^!=!^^!
  12.     )
  13. for /f "delims==_^^" %%j in ('set _^|sort /+1') do (
  14.     echo;file %%j>>"%%a\%%~na.txt"&echo; 即将合并文件 %%j
  15.     )
  16. popd
  17. endlocal
  18. ffmpeg -f concat -i "%%a\%%~na.txt" -vcodec copy -acodec copy "%~dp0%%~na.mp4" -y
  19. del /f /s /q "%%a\%%~na.txt" >nul 2>nul
  20. ) else (echo %%a不存在ts视频)
  21. )
  22. pause
复制代码

TOP

回复  xp3000
    谢谢大佬!但是不行
lvwenjun11 发表于 2023-2-4 16:20


原帖上面增加了一个处理整个分区的

TOP

回复 23# lvwenjun11

就是把ffmpeg放入C:\Windows\System32文件夹就可以了

TOP

返回列表