欢迎光临散文网 会员登陆 & 注册

用B站客户端下载视频,并提取音频

2018-05-01 17:13 作者:让人微笑的光景  | 我要投稿

客户端平台:Android。操作平台:Windows。以AV22222222为例。

一、下载视频

①用客户端打开视频AV22222222,点击缓存,选择清晰度和内容,开始下载。如图1所示。

图1 下载视频

②下载的内容位于sdcard的/Android/data/tv.danmaku.bili下,是一个文件夹,名字为av号,将其拷贝至PC。此文件夹结构:子目录2、3和4分别为视频的P2、P3和P4,每个子目录的下级目录lua.flv.bili2api.80中的文件0.blv即是视频文件 (视频流H.264,音频流AAC,在PC和Android用播放器都可直接播放)。如图2所示。

图2 下载位置与目录结构

、重命名

①由于下载的3个视频文件名都是0.blv,现将其分别重命名为2.blv、3.blv、4.blv,即目录22222222的下一级目录名。

方法:将以下内容复制到文本文件,并保存为1.bat执行。(修正自https://ask.csdn.net/questions/664401)。执行过程如图3所示。

——复制下述内容—— 

@echo off

:start

setlocal enabledelayedexpansion

title 文件重命名

set isrun=n

echo 请把包含要处理的文件的[文件夹]拖动到此处,回车确定

::set /p让用户自己输入变量的值

set dir=n&set /p dir=

if "%dir:"=%"=="n" cls&goto start

cls&echo ====================================

:run

for /f "delims=" %%i in ('dir /a:d /b %dir%\') do (

    rem 文件路径

    set path=%%i

    for /f "delims=" %%j in ('dir /s /b /a:-d %dir%\"!path!"\*.blv') do (

        set full=%%~dpnxj

        set exten=%%~xj

        rem set path=!path:~0,-1!

        if /i "!isrun!"=="n" (

            echo ren "!full!" "!path!!exten!"

        ) else (

            ren "!full!" "!path!!exten!"

            echo 更名为:"!path!!exten!"

        )

    )

)

echo ====================================

if /i "%isrun%"=="n" (

    echo 即将执行以上操作,是否执行[Y/N]

    set isrun=n&set /p isrun=

    if /i "!isrun!"=="y" ( goto run ) else ( cls&goto start )

) else (

    echo.&echo 更名完成!

    echo 任意键返回&pause>nul&cls&goto start

)

——复制上述内容——

执行完成后3个目录下的0.blv分别被重命名为2.blv、3.blv和4.blv。

②如需要进一步将其重命名为视频分P的名字,可以直接在网页端复制名字,得到:"1、BGM合集2、title3、OP4、ED"

用word将数字顿号替换为手动换行符可得到:

"BGM合集

Title

OP4

ED"

之后可以利用excel进行批量重命名,如图4所示。

图4 用excel进行重命名

三、提取音频

下载ffmpeg.exe (https://ffmpeg.zeranoe.com/builds/),放入视频所在文件夹(或设置环境变量),将以下内容复制到文本文件,并保存为2.bat执行。如图5所示。

——复制下述内容——

for %%i in (*.blv) do ffmpeg -i "%%i" -vn -c:a copy "%%~ni.aac"

——复制上述内容—— 

图5 提取音频

执行后即可得到aac文件,由于视频投稿现已支持320k AAC,故音频可以达到22000HZ。

-完-


用B站客户端下载视频,并提取音频的评论 (共 条)

分享到微博请遵守国家法律