前言

此方法来自于知乎:猫叔,原地址:https://zhuanlan.zhihu.com/p/111764932?dt_platform=mobile_qq&utm_id=0&wd=&eqid=e19695ba000ed65200000006651bfa8d

废话二句:从优酷中下载视频的格式是kux格式,想二次利用却要转换Mp4格式,在搜索引擎上找答案,结果一大片,实用的没有几个,有的工具描述说能将kux格式转换Mp4但是要收费,对于像我这样10年才下载几次的人来说根本没必要花哪个花去买工具,所以就有了这篇文章及解决方法。

kux视频格式转mp4方法

首先,在桌面上新建一个文本,并且将文本后续.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 选项,指定使用两个线程进行转换,以提高转换速度。

亲测效果图