本帖最后由 xp3000 于 2021-3-22 11:05 编辑
试了下论坛下载的ffmpeg可以合并,应该是你操作问题,这个将链接保存到TXT,不用一次次输入了- @echo off
-
- @for /f "tokens=*" %%a in ('dir /b/a-d/oN *.txt') do (
- @for /f "tokens=1,* delims=:" %%b in ('grep -Eo "https?.+\.m3u8" %%a^|grep -n -Eo "^.+\/"') do (
- if exist %~dp0%%~na_视频%%b合并.mp4 (echo 已下载链接%%b,合并为%%~na_视频%%b合并.mp4
- ) else (md 视频%%b
- aria2c.exe -c -s 5 -m 0 %%cindex.m3u8 -o "%%~na%%b.m3u8" & grep -Eo "[^\/\n]*$" "%%~na%%b.m3u8">"视频%%b\%%b.m3u8"
-
- @ren 未下载视频%%b.TXT 视频%%b.TXT 2>nul & @aria2c.exe -c -s 5 -m 0 -d "视频%%b" 视频%%b.TXT 2>nul & del 视频%%b.TXT 2>nul
-
- pushd
- for /f "delims=*" %%e in ('grep -Eo "[^\/]+\.ts$" "%~dp0视频%%b\%%b.m3u8"') do (
- if exist %~dp0视频%%b\%%e.aria2 DEL %~dp0视频%%b\%%e*
- if exist %~dp0视频%%b\%%e (echo 存在%~dp0视频%%b\%%e
- ) else (echo %~dp0视频%%b\%%e不存在……&echo 正在下载%%c%%e
- for /f "tokens=1,* delims==" %%i in ('aria2c.exe -c -s 5 -m 0 -d "%~dp0视频%%b" %%c%%e^|grep -Eo "ERROR.*URI=[^\r\n]*"') do (
- set "fn=%%i"&set fn=!fn:^[=!!fn:^]=!&echo;%%c%%e>>未下载视频%%b.TXT
- )
- )
- )
- echo 检查是否存在没下载成功的视频,
- echo 如果全部下载完,按任意键合并,
- echo 否则直接关闭,再重新打开……
- pause
- if exist %~dp0未下载视频%%b.TXT (echo 有未下载的视频,关闭打开即可&pause&exit /b
- ) else (
- cd "%~dp0视频%%b" & ffmpeg -i "%%b.m3u8" -vcodec copy -acodec copy "%~dp0%%~na_视频%%b合并.mp4" & cd "%~dp0"
- rd /s /q "%~dp0视频%%b" 2>nul & del "%%~na%%b.m3u8" 2>nul
- )
- )
- ))
- pause
复制代码
|