赞
踩
此方法来自于知乎:猫叔
,原地址:https://zhuanlan.zhihu.com/p/111764932?dt_platform=mobile_qq&utm_id=0&wd=&eqid=e19695ba000ed65200000006651bfa8d
废话二句:从优酷中下载视频的格式是kux格式,想二次利用却要转换Mp4格式,在搜索引擎上找答案,结果一大片,实用的没有几个,有的工具描述说能将kux格式转换Mp4但是要收费,对于像我这样10年才下载几次的人来说根本没必要花哪个花去买工具,所以就有了这篇文章及解决方法。
首先,在桌面上新建一个文本,并且将文本后续.txt
更改为.bat
,然后将下面的代码复制到.bat文本中。
@echo off
setlocal enabledelayedexpansion
set ffmpeg="D:\YouKu\YoukuClient\nplayer\ffmpeg.exe"
if exist %ffmpeg% (
for /r . %%i in (*.kux) do (
%ffmpeg% -y -i "%%i" -c:a copy -c:v copy -threads 2 "%%~dpni.mp4"
)
) else
echo
pause
如图:
注意:D:\YouKu\YoukuClient\nplayer\ffmpeg.exe
路径请更改为自身安装目录路径。
如果您想了解下实现原理,哪可以看看下面的代码剖析。
//关闭命令提示符的输出。 @echo off //启用延迟展开,即在执行 for 循环时,文件名会先展开一次,然后再用来执行 ffmpeg 命令。 setlocal enabledelayedexpansion //设置 ffmpeg 的路径。 set ffmpeg="D:\YouKu\YoukuClient\nplayer\ffmpeg.exe" //如果 ffmpeg 存在,则执行以下操作。 if exist %ffmpeg% ( //在当前目录下,遍历所有 .kux 文件。 for /r . %%i in (*.kux) do ( //使用 ffmpeg 将 %%i 文件转换为 %%~dpni.mp4 文件,其中 %%~dpni 是 %%i 文件的路径和文件名。 %ffmpeg% -y -i "%%i" -c:a copy -c:v copy -threads 2 "%%~dpni.mp4" ) //结束 for 循环。 ) else //如果 ffmpeg 不存在,则输出提示信息。 echo
具体来说,这段代码会遍历当前目录下所有 .kux 文件,并将它们转换为 .mp4 文件。转换时,会使用 ffmpeg 的 copy 选项,将音频和视频流都原样复制到 .mp4 文件中。此外,还会使用 threads 2 选项,指定使用两个线程进行转换,以提高转换速度。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。