dupontjoy 发表于 2023-6-19 23:08

批处理 调用N_m3u8DL-RE下载视频 【windows平台】

本帖最后由 dupontjoy 于 2023-9-18 17:21 编辑

Text.Text.
更新:
将配置文件独立出来,方便修改
下载地址:
https://github.com/dupontjoy/N_m3u8DL-RE-Bat-Generator



************************************************************************************************************************************


N_m3u8DL-RE为跨平台的DASH/HLS/MSS下载工具。支持点播、直播(DASH/HLS)。软件作者nilaoda。項目地址:https://github.com/nilaoda/N_m3u8DL-RE
ffmpeg.exe下载:https://ffmpeg.org/download.html

由于目前没有gui管理软件,简单写了个bat来调用cmd,输入链接和文件名来下载视频。

运行效果:


bat保存为ASNI编码

代码:
::2023.06.19

@echo off

::开始
Title N_m3u8DL-RE:跨平台的DASH/HLS/MSS下载工具 by nilaoda

cd /d %~dp0
::設置模塊路徑
::将当前目录保存到参数b中,等号前后不要有空格
set b=%cd%

::---------------輸入部分---------------
::輸入鏈接 和 文件名
set /p link=請輸入鏈接:
set /p filename=請輸入保存文件名:

::---------------設置部分---------------
::設置临时文件存储目录
set TempDir=N_m3u8DL_Temp

::设置输出目录
set SaveDir=D:\Download\

::設置ffmpeg.exe路徑。从批处理所在文件夹到Program Files共3层。
set ffmpeg=ffmpeg.exe
::空一行
echo.

::---------------輸出部分---------------
echo.臨時目錄:%TempDir%
echo.輸出目錄:%SaveDir%
echo.ffmpeg.exe路徑:%ffmpeg%
::空一行
echo.

::---------------設置結束---------------

::删除临时文件夹。下載失敗的临时文件不會自動删除,所以手動清理一次。
echo.刪除臨時文件夾
rd "%TempDir%" /s/q
::空一行
echo.

::---------------說明部分---------------
::--tmp-dir <tmp-dir>                      设置临时文件存储目录
::--save-name <save-name>                  设置保存文件名
::--save-dir <save-dir>                  设置输出目录
::--download-retry-count <number>          每个分片下载异常时的重试次数
::--check-segments-count                   检测实际下载的分片数量和预期数量是否匹配
::--no-log                                 关闭日志文件输出
::--ffmpeg-binary-path <PATH>            ffmpeg可执行程序全路径, 例如 C:\Tools\ffmpeg.exe
::--ui-language <en-US|zh-CN|zh-TW>      设置UI语言

::開始下載
N_m3u8DL-RE "%link%" --tmp-dir %TempDir% --save-dir %SaveDir% --save-name "%filename%" --download-retry-count:9 --check-segments-count:false --no-log:true --ffmpeg-binary-path %ffmpeg% --ui-language:zh-CN


liailun 发表于 2023-7-7 21:55

本帖最后由 liailun 于 2023-7-7 22:30 编辑

我把楼主的代码优化改进了一下 试试看
复制代码保存为ASNI编码任意名称的.bat文件

@echo off

::开始
Title N_m3u8DL-RE 下载工具

setlocal enabledelayedexpansion

cd /d %~dp0
::设置模块路径
::将当前目录保存到参数b中,等号前后不要有空格
set b=%cd%

::---------------输入部分---------------
::输入链接和文件名
set "link="
set /p "link=请输入链接: "
if "!link!"=="" (
    echo 错误:链接不能为空!
    pause
    exit /b 1
)

set "filename="
set /p "filename=请输入保存文件名: "
if "!filename!"=="" (
    echo 错误:文件名不能为空!
    pause
    exit /b 1
)

::---------------设置部分---------------
::设置临时文件存储目录
set "TempDir=N_m3u8DL_Temp"

::设置输出目录,请根据你的实际需求将E:\Download替换为你想要保存文件的实际目录路径。
set "SaveDir=E:\Download"

::设置ffmpeg.exe路径,从批处理所在文件夹到Program Files共3层。
set "ffmpeg=ffmpeg.exe"

::---------------输出部分---------------
echo 临时目录:%TempDir%
echo 输出目录:%SaveDir%
echo ffmpeg.exe路径:%ffmpeg%

::---------------设置结束---------------

::删除临时文件夹。下载失败的临时文件不会自动删除,所以手动清理一次。
echo 删除临时文件夹
rd /s /q "%TempDir%"

::空一行
echo.

::开始下载
call :Download "%link%" "%TempDir%" "%SaveDir%" "%filename%"
pause
exit /b

:Download
echo 开始下载...

N_m3u8DL-RE "%~1" --tmp-dir "%~2" --save-dir "%~3" --save-name "%~4" --download-retry-count:9 --check-segments-count:false --no-log:true --ffmpeg-binary-path "%ffmpeg%" --ui-language:zh-CN

if errorlevel 1 (
    echo 下载失败!
) else (
    echo 下载完成!
)

exit /b

sk8820 发表于 2023-7-19 10:54

本帖最后由 sk8820 于 2023-7-19 10:57 编辑

liailun 发表于 2023-7-7 21:55
我把楼主的代码优化改进了一下 试试看
复制代码保存为ASNI编码任意名称的.bat文件

'"D:\\N_m3u8DL\\N_m3u8DL-RE.exe"\t"{m3u8}"\t --save-name\t "{course_name}"\t   --use-system-proxy--no-date-info--save-dir\t"{save_path}"\t --key\t "{key}"\t --del-after-done\t --ffmpeg-binary-path "D:\\N_m3u8DL\\ffmpeg.exe"\t --ui-language:zh-CN\n'10:52:20.608 INFO : N_m3u8DL-RE (Beta version) 20230628
10:52:20.622 ERROR: mp4decrypt not found!   
我这怎么要mp4decrypt.exe?

dunniu 发表于 2023-6-20 00:08

这个软件明明就有gui啊!

tl;dr 发表于 2023-6-20 06:45

dupontjoy 发表于 2023-6-20 07:19

dunniu 发表于 2023-6-20 00:08
这个软件明明就有gui啊!

老版cli有

jinqiaoa1a 发表于 2023-6-20 07:30

看看,学习学习再说,感谢分享

依佳人时代 发表于 2023-6-20 08:07

什么平台都能下载吗

daoye9988 发表于 2023-6-20 08:22

能批处理啊

dupontjoy 发表于 2023-6-20 08:34

依佳人时代 发表于 2023-6-20 08:07
什么平台都能下载吗

可以去项目主页看,其他平台也能下载
我是win平台用,作者一直没写gui

blindcat 发表于 2023-6-20 08:39

去找Text.N_m3u8DL-RE看看

xiaoxino 发表于 2023-6-20 08:46



打开报错找不到文件怎么回事
页: [1] 2 3
查看完整版本: 批处理 调用N_m3u8DL-RE下载视频 【windows平台】