【经验】you-get + ffmpeg|b站音频下载

一、原理:
you-get下载,ffmpeg音视频分离。
这两个都是命令行工具。
you-get安装(无python环境请参考python详细安装教程):

pip3 install --upgrade you-get

最近 (版本0.4.1545) B站的视频用you-get下不了了,翻了下源代码的pull-request那个pull-request问题的链接,刚好看见了这个问题,有大佬rfiacne给了解决方法,我试过,可以。你们要是也用不了就也可以试试。

ffmpeg安装:Windows 10系统下安装FFmpeg教程详解

二、应用:

you-get --format=flv720 https://www.bilibili.com/video/BV15t4y1i7S8?p=2
ffmpeg -i "【周深】吉他弹唱《真夏的樱花》,汽车音乐会秒变毕业音乐会~(P2. 《真夏的樱花》纯享).flv" -vn 真夏的樱花.mp3
del *.flv *.xml

第一句:format用来选择下载格式,建议720以上,否则音频可能被压缩。格式:you-get --format=flv720 [网址]
第二句:ffmpeg -i [视频名称] -vn [音频名称]
第三句:删除所有flv和xml文件。

可以写成bat文件,c语言也很方便:

#include<stdio.h>
#include<windows.h>
#include<string.h>
#include<stdlib.h>
#include<direct.h>
#include <unistd.h>
#include<dirent.h>
#include<io.h>

int main()
{
  char BV[20],name[100];

  printf("请输入BV号(如果下载特定的分p,输入样例:BV15t4y1i7S8?p=2)\n");
  scanf("%s",BV);
  char order_download[100]="you-get --format=flv720 https://www.bilibili.com/video/";
  strcat(order_download,BV);
  system(order_download);

  printf("\n请输入转换后的音频名字:\n");
  scanf("%s",name);

  char ffmpeg[1000]="ffmpeg -i 1.flv -vn \"";
  strcat(ffmpeg,name);
  strcat(ffmpeg,".mp3\"");
  struct _finddata_t find;
  long file1=_findfirst("*.flv", &find);
  rename(find.name,"1.flv");
  _findclose(file1);
  system(ffmpeg);

  system("del *.flv *.xml");
  return 0;
}

三、结果:
在这里插入图片描述

最后但最重要的,多去音乐软件支持喜欢的歌手!

posted @ 2021-08-21 13:30  shandianchengzi  阅读(1058)  评论(0)    收藏  举报